“Full stack developers” are the buzz word of todays technology and business world. What does that mean?
A full stack developer is a one who has expertise or knowledge in each layers. That is, a person with adequate knowledge on each stack.
The full stack mostly referes to Data Modeling, Business Logic, Server side, Networking and even Hosting, API / MVC, and also into UI/UX designs too.
If we expect a person to be well versed on all the above stacks then why should he work with us anymore? His role will be nothing less than job hopping or getting into a better place than where they are now.
If I am not wrong the first organisation which went with Full stack developers is Facebook. That too when FB just had a simple PHP backend. But today they have moved out of this vision and currently moved into more specific skilled developers. This is the equal situation with Google too.
If they are experienced, then full stack developer’s definition on them will also increase. We start expecting them to be more into a Data Modelling, optimising content delivery and tweaking hardware accelerated layers in CSS, followed by implementing an async non-blocking backend and pushing to an AWS cluster and even more.
Assessing a Full stack Developer
End of the day, when we happen to assess them on their skill sets which one will we prioritise and assess them? If they are skilled in one and not that much in another, is he to be called as a non valuable person of the team or the organisation?
I would say, if I am expected to be a full stack developer, then my inferiority will increase on how skilled am i to acquire new skills? Is this what we are expecting from our assets? If we think our developers are our assets then this is not the right expectation we should have on them.
Yes I agree, the full stack developer will have a significant knowledge in understanding the project at a very macro level and so the employment opportunity of any Full stack developer is very high when compared to specific skilled person in the market. But how long?
Leonardo Piero da Vinci
Leonardo Piero da Vinci was an Italian musician, mathematician, engineer, polymath, geologist, painter, sculptor, architect, botanist, writer, and anatomist. But the world recognised him most as a “Painter” only. Same way how much ever we call a person as a full stack developer, end of the day he is also skilled in limited stack only.
We hire people for a job. So they will come prepared for that job only. We cannot harass them to be prepared for all our needs. In fact, organisations doesn’t have a fixed need rather. When organisations doesn’t have a fixed need, then how can we expect our developers to be Full stack?
What should we expect from a Full stack Developer?
If the need of the hour is make all our developers to be Full stack, then set the limitation. Differentiate the expectations and be on reality. If we are expecting the Full stack developer to be expert on all his known stacks then we are not going to get anything specific out of them.
If we set our expectation of Full stack developer to be “he doesn’t need to be master of all stacks. he just need to be comfortable understanding and working on those stacks” we will have a very structured development team with us.
GP Vs Specialised
We can rightly compare the difference between a GP and a specialist in Medicine. The GP is more important than any specialist at most of the scenarios. He can understand all the problems. He can find a solution to move ahead until we meet a specialist. He can suggest the solution. He can even dissect at a lower level or even do small surgeries too. But understand he will be the one analysing and suggesting which specialist to be consulted next.
So GP got a more primary important role than a specialist. But at the same time we should not expect the GP to be a master on entire medicinal line.
Starts-ups the root cause!
Technology start-ups need full stack developers at all time because they want to get their hands dirt on all aspect and also for their versatility to have success at first. However, as an organisation matures we want to have our product/service to follow the highest security, efficiency and design standards, and at that stage we will give least importance to the Full stack developers and will become more specific with specialised skilled developers ONLY.
So I conclude, the definition of Full Stack Matters, in Expectations than the Skills.