loading...

Why Be A Full Stack Developer?

steelwolf180 profile image Max Ong Zong Bao Originally published at maxongzb.com ใƒป3 min read

Photo by Gaelle Marcel on Unsplash

Introduction

There seem to be lots of hate for full stack developers nowadays. Which usually very catchy and negative titles like "Full Stack Developer is a Scam", "Death of Full Stack Developer".

So I'm writing it here to address this negativity. Hopefully, it might serve to encourage more developers to think of the role as not just a generalist role.

Why the Hate for Full Stack Developers?

If I were to summarise it, it comes to down to two things.

The first one is due to salary reasons as a generalist, you are paid a minuscule amount of pay for multiple different types of work.

Whereas being a specialist namely frontend or backend can be paid a lot more for a single specialisation.

Whereas being a full stack developer, it is much harder to master every single piece of required knowledge as a Frontend or a Backend developer.

Skill Stacking

I really like the term skill stacking which I had heard about it from the Jordan Harbinger show.

As it encompasses what it is actually like to be a full stack developer. Namely developing skills to blend it uniquely to allow yourself to stay out from the crowd.

Like for example, you can be the top 10 or 20% best front-end developer who specialises in React that has a stiff competition due to its popularity.

Whereas it is much easier for you to blend another which is a top 80% skill like for example conducting design sprints or building design systems.

Instantly due to your understanding of it, allows you to stand out from the crowded field of front-end developers.

To provide React prototypes in the use of design sprints or a consultant who creates design systems in various companies to scale their design teams.

Which by my count allows you to paid very differently due to your successful blending of these two skills.

If you are not convinced just look at the job of a *Data Scientist in the Data Science.

Which is considered the sexist's job in the 21st century that is a direct result of the blending these specialisations that people would pay a premium for it.

Jacks of All Trades and Master of One

To me, being a full stack developer usually comes with a single core specialised skill.

Which through the use of skill stacking allows them to provide a unique perspective to develop and ship software.

I can build the front-end myself for a web app or delegate it to my front-end developer.

Who could build it at a much faster pace and better job than me in React or Angular.

Which free myself up that allows me to become better in my craft which is to create REST APIs.

Using tools like Postman and OpenAPI to prototype and create the APIs in Flask or Django REST framework.

Conclusion

I hope that there would be more future articles that talks about full stack developer who focus on skill stacking.

Clearly, I am not the only unicorn as a full stack developer. Since through my work and helping out for developer meetups in Singapore.

I had come across multiple skills stackers as well. From a senior developer who focuses on providing a video recording of various meetups called Engineers.SG to help in upgrading the developer's skillsets.

Another one is my colleagues at work creates excellent documentation due to her previous knowledge from the legal profession and could tackle the openssl library with ease.

References

If you like my article either sign up for max adventurer's newsletter or you can follow to get the latest update of my article on Dev

This post was originally posted on max's blog at Why Be A Full Stack Developer? (Reading Time: 3 Mins) and Photo by Gaelle Marcel on Unsplash

Posted on Feb 16 '19 by:

steelwolf180 profile

Max Ong Zong Bao

@steelwolf180

Max is a life enhancer for tech & entrepreneurship. Which seeks to blend both to build innovative products or services for the world that solves hard problems.

Discussion

markdown guide
 

I call myself a full stack developer.

First things first: I do exist, despite what the web seems to say lately.

Why I think that my role is important? Because frontenders are mostly unaware of how deal with Axon in a Java Spring application and backenders have no clue how to cope with React Hooks. This makes me the first point of contact with business/product/management when sh*t hits the fan.

If someone who can deal with the unknown in no time is needed, that one is me.

At the same time, having a broader overview of how things work, makes me useful in meetings (any kind of meeting) and gives me the opportunity to give insight and different options to my colleagues which are more specialized than me.

Am I the best frontender of my team? No
Am I the best backender of my team? No
Am I the best devops of my team? No
Am I the best designer of my team? No

Do I want to be the best in one specific area of those? By no means.

I am a generalist and life is proving me on a daily basis that the world needs generalists. We really should stop lying and telling the myth of how useless a jack of all trades is, because that simply doesn't hold true.

 

Not being the best at something doesn't exclude you from being able to help a colleague if he's / she's stuck on something too. That's the beauty of it and that's what people miss on most... Thinking outside the box!

 

That is why you are unique in your own way due to your experiences and skills gained by being a jack of trades.

For me it is more towards that I tend to learn stuff widely.

Which leads me to persist in solving problems with whatever tools I have in my disposal or seek advice to help me in solving a problem.

 

It's hard for me to think someone is a very good developer if they don't at least know basics around multiple areas in development.

To me it's like being a chef that only makes cake, or worse, a chef that only makes one kind of cake.

 

Agree on it, I believe one has to draw from certain fundamentals or multiple mental models to allow yourself to become a better developer.

Which is not limited to just technical skills in the latest technology to become a better developer.

It could be from writing to demonstrate clear thinking to psychology that encourages user behaviours or philosophy which teaches us on how we should build software that is ethically sounded.

 

Ah! It was just few years ago, when just knowing php and jQuery was more than enough. Now you have to be superman just to be the average one.

 

That's so true lol. Things have become more complicated, but often it's because the demands are for more complicated use cases.

 

I'm a freelancer so being a full stack developer allows me to have multiple jobs at the same time compared to most of the freelancers I know. Most of them get 2 or 3 jobs a year and spend the rest complaining how hungry they get.

It's also a plus for clients as they only need one ressource to do the whole job.

All the hating about full stack devs recently got me thinking... Why all the hate??? I don't get it, I'm not hating on angular and react dev, even though I don't like these is frameworks...

 

Honestly you and me both since I don't really know why is there is so much hate in it.

I hope with this, it could help in shedding light in it that it is totally fine to be a full stack developer and not treat it as a bad thing.

 

There are no hate Against "full stack", the hate is Against the people who "use" others with catchy terms like this and discard their true value and hard work. Full stack people can learn anything fast.

You saw my post as well, I still tell people to learn a lot and try to be full stack.

The hatred itself is misleading.

People only write that kind of article when something happens to them due to this term. They get heartbroken when they see their dream getting shattered and passion of programming getting questions just because of a term.

It's great that we both agree that we should learn more to become a better developer.

What I'm advocating is being unique by skill stacking.

To stand out from crowd to do work that uses your knowledge and skills in different way like building board games to teaching programming.

Bruce Lee always said : the more you know, the less stupid ;)

Often, trying other stack / techs can drastically help you better code on your main tech. Ex PHP and Python. PHP and C# using unity etc

Yeah, Bruce Lee's quotes are always direct to the point despite he's a philosopher, kung fu master who created his own martial art form from various material art forms and a famous actor.

Yes, we should always strive to use different stacks to not be the person who focuses on using a hammer to solve every problem.

Bruce Lee was a full stack martial artist ;)

Hahaha, he sure is one of the renaissance men in that time.

 

While I was reading your article, I realized that if there's some kind of "hatred" on the "full stack" title; an even bigger hatred would exist on the so-called "DevOps", since that title is even wider than full stack to me. Or maybe I don't know enough about DevOps and am just impressed by how complex it sound !

 

Programmers are supposed to fix TV, install windows, hack friends Facebook ID....

They are supposed to be nerds sitting on chair all day with lame dress.

They are modern slaves.

DevOps? That's just another kind of slaves.

Its complex enough.

All these buzzwords are to be used by business people.

Fair enough why people hates the terms.

 

Hmm... Agreed I think it is some kind of a buzzword and latest trend when I'm searching for it. Comparable to data scientist as well from my end.

 

Personally, I know some really great "full stack" engineers who can move between the front end and back end fairly well, but they are few and far between. All of the developers where I currently work, besides our two front end guys, are considered "full stack" and I would definitely NOT consider any of them "full stack". Just because they know how to use Razor to pull data in from a .NET model and use a little jQuery for some form validation, then sprinkle some random Bootstrap classes on it and call it a day doesn't mean they understand how the front end works. On the flip side, just because I can add some logic to a controller and update a model/DTO, doesn't mean I'm "full stack", either.

I see this a lot in new job listings. The term "full stack" is the new term for "back end" at a lot of companies, which becomes deceiving. I see full-stack as a senior/architect level position. Someone with enough knowledge in key areas who can build an entire MVP by themselves without needing the help of another. It might not be perfect in all areas, but it will be functional enough for a specialist to come in and polish it on the next iteration.

The full stack dev is the person you assign to build a new product proof of concept, so you don't have to pull multiple resources from other tasks. Building an entire team out of true full stack devs is difficult and probably the wrong way to go about your business. Most good devs will have enough knowledge on both sides to talk each other's language and make simple edits, and if they don't, the knowledge can be picked up fairly easily. This does not necessarily make someone "full stack", this just makes you a competent developer.

 

Yeah I agree that building a entire team out of full stack is ridiculous.

Most of time when you look further into the job.

It will be specific skills sets for either the frontend or backend to build MVP.

 

In the sea of black & white cows, it is much easier to be a purple cow through talent stacking than be a pure white cow or pure black cow.

Since the pie is large enough that caters to different markets, it is totally fine to be a specialist or a generalist as the work we do is totally different.

I actually like this article from AngelList the most which is What Skeptics Get Wrong About Full-Stack Engineersโ€”And Why We Need Them while doing my research before writing my article for this.

 

Next time, please don't put the reading time in the title.

 

Cool, I shall not be putting it in the title then :)