I have seen plenty of articles on the internet trying to explain why full-stack development isn't possible. They have backed this argument with genuine points like
- front-end lately has become highly sophisticated.
- full-stack developers are experts neither in front-end, backend, or databases.
In this blog I want to make points to explain why being a full-stack developer has never been more easier.
Front-end and back-end skills don't need to be equally good
But what people often fail to realise is that all software projects aren't of a similar level of complexity. There is a pre-assumption that companies want a high level of skills in back-end and front-end. In certain cases the back-end can have way more complexity while the front-end can involve simply viewing and editing the data. Hiring a dedicated front-end developer for such projects doesn't make monetary sense to companies.
DevOps is becoming fully automated.
When I was building a derivatives trading platform, I initially tried using AWS for deployment. It made me sweat after many days of effort. I felt the need to hire an AWS expert. It made me feel full stack developer is indeed a myth if I can't even deploy a product. Although Heroku was an easier alternative but very expensive to run. Then I came across Render, on which deploying back-end felt as easy as deploying a static site on Netlify or Vercel.
Above image it can be seen how I am running
- 2 background celery workers
- Redis
- Python/Django Backend
Render allows you to simply login with your Github account and connect a repository. Every push to your code gives which creates a successful build gives an update to your live product. I also used Render to deploy ReactJs front-end.
Conclusion - Career growth over strong opinions
After talking all these controversial arguments I want to conclude in a more pragmatic way. Avoid the full-stack vs specialist war and focus what leads to more growth to your career. There are some real perks of being a full-stack developer like:
- you are suitable for more developer job opportunities since you have a wider skillset.
- you can build complete products and not just components of products.
The project which made me a full-stack developer
You can checkout the entire codebase (front-end & backend) of option trading platform on my Github profile. I was a front-end developer before I built this project and I learned Python and Django specifically for this.
If you are interested in full stack development opportunities checkout my Job Board. π
Top comments (4)
About the argument that you can't be an expert in everything:
This is not a valid point at all. Neuroscience has a completely different view on that. Not only have we not encountered that a brain would ever be "full", we also know that learning several natural languages makes us better at each of them. Transferring that principle to coding - and I can confirm that from personal experience - the more you learn about the backend or databases, the better suited your front-end code will be.
Of course it will take the generalist longer to call themselves an expert, but ultimately it will be the better programmer.
And while automated solutions referenced in this article make our lives easier, there is no reason to believe that a person cannot handle these things "manually" as the knowledge doesn't magically interfere with other topics you learn.
This argument is always made by the same kind of gatekeepers that suggest not to roll your own solutions: they either try to justify why they can't "do it all" themselves or want to protect their particular expertise.
I agree one can surely be an expert in more than one thing. But it's often not possible in a limited time frame. As you mentioned this blog exactly aims against the gate keeper cause they often make the argument that unless you can't be a super good, it's not worth it.
Yes, I didn't interpret this post as being gatekeeping. On the contrary, I comment you for your position. Just wanted to input my distaste for the contemporary view on the topic, which you mentioned as well.
There might be a full stack developers but when it comes to size of a project it depends whether the person can handle the full stack or frontend or backed, really when I started to learn to code it's been really small projects or tiny projects, but in industrial level there are really huge info a lot of data to handle, I don't think a person can do full stack at there, but I am telling this on my perspective, I might be wrong