We all come across the buzz word “Full Stack Developer” often now a days in our industry (obviously Software Industry). Like every single one who is on hiring side of the world is about “I want a full stack developer” and on the other side of the world, people are struggling to justify he/she is a full stack developer. I wonder what the heck is this and what we were doing all these years when we were hiring.
In my world I never generalize my requirement on hiring with one line saying, “Full Stack Developer” and I always try to be more specific. Many times I also hear from my fellow developers that how I can become a full stack developer or am I a full stack developer or not. To my knowledge it is an unwanted questions we are asking our-self, without having a common understanding or an agreed upon definition of Full Stack developer. Anyways leaving that aside, I just wanted to write my understanding of the term full stack developer and it is purely based on my perceptions
Who is a full stack developer
Let us agree that we are all software engineers and we will work for firms to develop and delivers software. A software engineer use multiple tools and technologies to develop a software and there is always a stack of technologies that helps to build the software. So if I answer like a one mark question then the answer is, a full stack developer is nothing but a developer knows all the technologies in the stack which helps to develop and maintain a deliverable software (smile)
So simple right? Yes, that’s it and we are only complicating and creating confusions. Again as you see, it is also little specific to the nature of the domain and the product what we develop. In my case we are developing and delivering a Web Platform to our clients so the technology stack here may be completely different from others like a Data Platform or a OS/Mobile platforms
Let’s now dive into a specific stack based on a domain and a simple Web Application platform for a developer looks like, Front end, Web API and DB. And now the big question arise, am I a full stack developer or why I should I look into DB, if I am a frontend developer
My explanation
Here is my explanation, imagine I am a doctor and working in a hospital. And I am a doctor because I have a MBBS degree, and I practice as a doctor to help patients getting out of their illness. Now if you see, there are also doctors who are specialized as Heart Surgeon, Psychiatrist, Cardiologist and etc. These specialists are experts in specific things and they can really do great job compared to others in that specific area. If you take a Heart Surgeon, he practice or do surgeries again and again as his daily job. So there are doctors and there are specialists, are these are two different people?
No, a Heart Surgeon is a super set of a MBBS doctor and he is still be able to treat simple illnesses like fever and flu any time. Coming back to the topic, we as a software engineer we all own a basic degree/eligibility (like MBBS) to be a developer and we all can develop software like a doctor treat flu (basics). (smile) That’s it, if I am a software engineer and I can develop software for a specific domain then I am a full stack developer and there is no special skill set needed for the same explicitly. But are you a specialist, is the key question here.
In conclusion, don’t scratch your head too much to be a full stack developer which you are naturally already. Just try to groom yourself to be an expert in one or more technologies which is very important as you grow up in your career and remember great software are built by experts not by full stack developers