ama
ama copied to clipboard
Is it realistic to aspire to be a truly full stack developer?
Hi @tanaypratap and @siddharthkp,
I am really enjoying your podcast Developer Duvidha and perhaps you will find my question worth including in your future episodes.
In my ~6 years of experience I have mostly worked with startups and medium sized companies. As it is in startups, the responsibilities are not strictly divided. We work on what ever is needed for the startup to survive/grow. I too was tasked with a diverse set of responsibilities ranging from frontend, backend, devops and sometimes even customer interaction. I really enjoyed the fullstack work (though the work pressure was usually high & work life balance was non existent). I learned a lot about software development, how different pieces fit together in making a large scale enterprise application.
Because I had to work on different aspects of application development I surveyed a lot of technologies and learnt a number of them to intermediate level. But now that I am moving to the next level of my career (I am in a more senior role now) I am digging deeper in the technologies that I use on a regular basis, these days it happens to be JS/TS and JS frontend frameworks. However as I spend more and more time going deeper in few technologies I am getting more specialized.
I don't know if I should still consider myself a fullstack developer given that I have been spending most of my time in frontend. I want to make it clear that I enjoy my work and I have nothing against frontend work. Infact I love it. But what I loved even more when I worked full stack was the thrill of making applications end to end. There is a satisfaction in working full stack. However It is probably not possible to go deep and spread simultaneously. It seems like I have to choose to focus narrowly to go deep.
And that is my duvidha. Should I keep trying to maintain a spread over a large range of technologies or give in and go deeper in a narrow set of technologies. I would love to know your thoughts and your own experiences. Following are some specific questions that you may discuss:
-
As technologies get more and more specialized, is it realistic for a developer to maintain a reasonable level of expertise on more than one/few?
-
I am often tempted to split my learning in some ratio like 70:30. 70% on technologies that I need for my job and 30% on others that I want to keep learning for my satisfaction. But won't spending 100% time on what I use regularly make me a better developer at my job? In that way am I not wasting that 30% and slowing myself?
-
Do larger companies find developers with wide range of intermediate expertise useful? Or do they want only specialized developers? I understand that smaller startups may want fullstack devs but I am now trying to avoid them due to work life balance issues.
-
Is it realistic to work on several projects simultaneously to satisfy the desire to work fullstack? (I have considered open source contributions but in my experience you need to have good expertise in order to contribute there, catch-22 situation).
Thank you for considering my duvidha and thanks for bringing the podcast!