The Fullstack Problem
An issue of expectations, education, and hiring.
The term fullstack developer is a term that refers to a web developer who can do both frontend and backend development. By this definition, you would think this individual would be some super, 10x developer who is a polyglot and polymath in a variety of fields. This person should be able to handle any and every problem on the frontend or the backend with precision and grace. But the reality is far from this. What in actuality is two separate jobs has now been fused into one lump, catchall term, that dangerously sets up false expectations, both from an educational and hiring perspective.
From an educational perspective, there is the illusion that being full stack is the norm. For most people who, like myself, started doing web development in the 2020s, were told to learn the basics of HTML, CSS, and everyone’s favorite programming language: JavaScript. Or TypeScript if you were lucky. We were told once these basics had been learned, we needed to learn React JS in order to be job market competitive. Once we had these skills, we could move on to the backend technologies, with Node JS and Express JS and the beginner friendly, now seemingly unaffordable, Mongo DB. This was all done in the space of about six months, and this was to pipeline us into our first developer job.
All of the above technologies learned and mastered in six months. No one in any other industry would dare make a claim that someone could get to the point of being hirable in six months. Rarely has anyone who has come from these bootcamps ever felt that they were. But this is not merely a critique of the bootcamp system. Imagine you have someone who has a proper CS degree pipeline, or even had a few years of experience with web development at a company. Maybe two years of doing JavaScript on the frontend is enough to dig into Node and set up a database professionally. Maybe a few years of setting up APIs and managing databases is enough for you to uniquely style a landing page in the latest CSS library. Maybe.
The failure here is not recognizing that both of these jobs have multiple skill sets that do not always overlap. Yes, both may use JavaScript, but even to this day, I would rather avoid using JavaScript on the backend. Perhaps that means I am better off as a frontend developer. I also struggle making animations and clickevents behave exactly how I want them to. Maybe that means I am not good at either. In actuality, the truth is that I have developed skills as a frontend and backend developer, but I still, like everyone else, have room to improve and grow. Having worked on both means I have unevenly split my time up.
But we still need to pay the bills.
From a hiring perspective, this gets even more vague. How many years of experience in both backend and frontend do you need to qualify as a fullstack developer? Are these bootcamps even considered experience? How many people are fullstack by necessity, and not by choice? How many problems were caused by companies not understanding that there is too much for one person to do? Do recruiters even understand the huge swing from creating a customized UI that sells the product to ensuring XSS and DDOS attacks do not happen? I recently saw a job posting that described the fullstack mind set as “can and will do any and everything, no matter the technology or role, including business related tasks.” This essentially puts all the responsibility on the developer for everything, including the business itself. And if business itself is on the line, then the compensation should reflect that.
Having expertise and skills in both frontend and backend development is extremely useful, and there are some individuals who can do both very well. But no one knows everything. Web technologies change almost on a weekly basis, and keeping up with everything can feel like a fulltime job. And whether someone is just starting to learn web development or there are companies attempting to hire someone who can do ‘everything’, there needs to be reevaluation on how we approach teaching both ends of web development and how we hire for it.
As an educator, I believe anyone can learn anything. I think with enough hard work, practice, and dedication, they can even get good at it. I think a two year pipeline for learning a full stack curriculum can easily prepare people to step into either frontend or backend roles with the ability to work with their colleagues in either department. Those who are doing the work of both need to be given the time, money, and resources to do their jobs to the best of their abilities. This way we can build a better, more sustainable developer learning and working culture.
Thanks for reading. Sorry it’s been so long. See you next Monday.
Jon
P.S.
Always remember these words of wisdom.