What is and what does a full stack web developer do?

78

I've been looking for this term and I did not quite understand the role of this IT professional. What is a "full stack web developer" ?

    
asked by anonymous 28.02.2015 / 01:24

3 answers

96

It is the one that deals with both the back-end (the server side) and the front-end (client side, browsers).

The backend involves at least one programming language, and usually a database (which is usually SQL, but can be of a different type, in SQL or key-value pairs). The front-end involves HTML, CSS, and JavaScript (as well as other tools and frameworks attached to those technologies).

The whole set is called a "stack" because it is a "stack" of technologies (think of the technologies of the server below, and the client technologies at the top). So full-stack is that developer that deals with all the layers of the stack, and not just a part of them.

I found a SitePoint article where the author tells what it's like to be a full stack developer currently, including listing many of the technologies that you may have to deal with. It includes the following illustration of the development layers:

The figure may imply that the more server-oriented, the more arid the developer lives, while on the customer's side everything is beautiful and the little dogs walk happily on a sunny day. But the reality is not quite like this:)

    
28.02.2015 / 01:29
15

Full stack web developer is a developer profile that can work not only with programming but also reasonably understand a lot of other technologies involved in a system: database, infrastructure, operating system, web server, networks, CSS / HTML, Javascript, etc.

These professionals can solve a wide range of problems in this entire stack, and when they need help, they need little instruction from a technology specialist to be able to go it alone.

Contrary to popular belief, you do not have to be an experienced developer to consider yourself a "full stack." This can happen perfectly in the first years of the professional, just to have contact with these different technologies, which usually occurs in smaller companies (where there is not always a dedicated professional for each technology) or companies that stimulate this type of situation (a good part of those who work with some agile methodology).

    
28.02.2015 / 18:30
8

There is no formal definition for this term, there are different views on the limits of attributions and even criticism on the part of some. The most commonly accepted definition is that described by @ bfavaretto. However, there is much debate on the subject on the internet.

Companies often require that a full-stack developer act not only with back-end + front-end development. Infrastructure, QA, business analysis and customer interaction go into the role of developer responsibilities. This view is shared by many developers.

With the discussion of full-stack developer assignments, it is argued that the full-stack developer covers all (or almost all) stages of software development.

Further Reading:

08.01.2016 / 15:11