The full-stack mirage
A full-stack web developer is a person who can develop both client and server software. This means mastering:
- Browser: HTML, CSS and Javascript
- Server: Develop in server languages as Node, PHP, Python… and handle databases like SQL, Mongo…
- DevOps: some people include even launching entire infrastructures as part of being full-stack.
As a developer, It’s easy to identify there are way too many things to “master”. Mastering means expertise and expertise means spending time working with it. Yes, working, studying is not enough, creating proofs of concept is not enough, you have to deal with real problems to master any technology.
Human resources or recruiters are not usually developers and they see in full-stack the solution of everything.
This thinking is like trying to make a great Orchestra by hiring 70 one-man bands.
When you hire developers you want to solve a set of problems, but you want to be solved in the best way, 99% of the times companies need specialists.
The high demand for this kind of worker is dangerous because pushes the coders to over-represent their skills to find a good job.
Imagine hiring plane pilots the same way, only disaster could come from this:
- Recruiter: I see you have 5 years of experience piloting Cessna
- full-stack pilot: Yes, Cessna has no secrets to me.
- Recruiter: Would you have a problem piloting a Boeing 747 Dreamlifter now and then? The company has one and your resume says you have you did it in the past.
- full-stack pilot: Yes, I have no problem doing it (I knew doing this Udemy course on commercial piloting was a great idea, I will learn the “differences on the fly”)
- Recruiter: This is great! I am thinking that you could be the perfect candidate if you could control the X-35 vertical landing technique…
If you tell a recruiter they should look for the best specialist in each area instead of full-stack they will think you are driven by the lack of your own skills, so nobody will tell them.
This is how poorly studied jobs offers are distracting specialists by encouraging them to learn things they will hardly really master in their careers. Imagine pushing violinists to play flute and piano to be hired in an orchestra.
In my coder career (since 2005) I found real genius coders that were doing a poor job by putting them outside of their expertise.
If you want to see this in action watch Dan Abramov failing to center text vertically with CSS.
Dan Abramov was brave to use his name and position to make a statement of the things he didn’t know enough. This could help coders to don’t feel like a fraud and I wish could help recruiters/companies to realize the full-stack mirage.