The Full Stack Developer: Fact or Fiction?

The Full Stack Developer: Fact or Fiction?

"What does it mean? Being a full stack developer? It means you can program stuff on the front- and back-end right?"

Being a proud, geeky and self proclaimed full stack software developer myself, I had to pause for a moment. My first impulse was to react offended to this "blunt" statement just thrown at me. I started my response with "No... Well, also... but not quite..." and then found myself baffled for not being able to come up with a straightforward definition. For the arguments sake, I ended up agreeing with it, so we could continue the conversation.

"It means you can program stuff
on the front- and back-end right?"

If there is one thing all (full stack) software developers share, it's that we can't stand not knowing the exact meaning of something. And that is a fact. I mean, how can we correct people on the use of terms or be a smart-ass all the time, if we don't know our stuff right? So of course I turned to the all mighty source of all wisdom: "The internet". 

No Wikipedia page?

How can you be informed about something, if there isn't even a wiki containing a simple definition? Well, let's see what the dictionary has to say... No? It's like the full stack doesn't even exists? Oh... the mystery.

There are "What is..." pages written about the matter, but after digging around for a while, I still didn't come up with a concise answer. There doesn't seem to be consensus among the people who did try to define the subject. One post, written by Laurence Gellert dating all the way back to 2012 (for the laymen: that's like pre-pre-historic in programming terms), comes close to what my definition of the full stack would be: 

"Someone with familiarity in each layer, if not mastery in many and a genuine interest in all software technology."

Still a somewhat vague description, but I'll take it. And looking at the number of times this article has been blatantly copied, I assume other people agreed on this definition also. Then I found another great article: The Rise And Fall Of The Full Stack Developer, written by Peter Yared. In this post he actually proclaims the extinction of the full stack developer and introduces the term: full stack integrator. I instantly fell in love with this term.

I would integrate this term into my job title, if not that I depend on being found by recruiters and businesses for my work. And since they search for and love the term "full stack software developer", I will stick with it for now. Just know, from here on out, if I write down the term full stack developer, I am actually thinking full stack integrator.

The facts and the fiction

So here is my 2 cents on the matter: 

If someone can create an (user-)interface, hook up a database and incorporate some business logic, he/she is not by definition a full stack developer. If that where true, anyone who has learned the basics of any MVC framework would be a full stack developer. Which is obviously not the case.

A full stack developer is not someone that knows everything about every layer in the full stack. Although the full stack developer can operate on more then one layer of the development stack, it's still a real person and will have some kind of specialization(s). In fact, as Peter Yared pointed out so well in his article, in modern programming with literately hundreds (thousands?) of different areas, tools and categories in each layer of the full stack (each with their own and ever changing programming interfaces) it would be an impossible feat to keep up.

A full stack developer is not an almighty wizard that knows everything about every layer in the full stack.

The term full stack does not relate to any specific programming language, neither does it say anything about the tools or frameworks used, the development process or even the level of programming. Although I am of the opinion that anyone calling themselves full stack software developer, should at least have seniority in 1 front-end and 1 back-end framework and full understanding and mastery of the Abstraction principle, programming interfaces (API's) and data modelling. **

** Most developers who do claim the title, will have "played around" with more then 1 framework and programming language and, in general, their resume will feature a lot of side- and automation tooling. 

Conclusion

There is no definitive answer to the question: "What is a full stack developer?". Almost no 2 full stack developers are the same, or are even able to actually do each others work. From my perspective a full stack developer is someone who eats, sleeps and breaths software development. It's not something you can take classes in and become a certified full stack developer. It's a lifestyle, a discipline and a calling. It's someone who won't skip an article that features some new insight in any layer of the full stack. It's a general term describing someone who dreams in code and loves it!

a full stack developer is someone who eats, sleeps and breaths software development

Us full stack developers (sounds like the title of a very boring book) get up every morning and start reading the latest software related posts. We follow interesting developments, startups and trends (often before they become trends). We know about the new developments and cherry pick the those tools, platforms and frameworks that are interesting or will add value to our efficiency and skill-set as a programmer. We can pick up any language, platform or framework because our deeper understanding of the principles of software.

All this, because we love our trade.

If you bring in a full stack developer, you bring in someone that is able to deliver a solution. A full stack developer knows about the different layers and the impact some choices can have throughout the development stack. Someone that can think out of the box, because he/she knows what is available on the outside of that box. And besides bringing in (general) knowledge on every layer of the full stack, this developer comes with an efficiency boost for the entire team. If he/she doesn't have the solution already, he/she will be able to point you to the specific drawer that contains it. 

Oh by the way...
We are not just simply put people that can program "stuff" on the front- and back-end. 

 Sources:

To view or add a comment, sign in

Others also viewed

Explore content categories