What's This One About?
Full-stack web developers can work on all aspects of websites from the user interface to the database that drives the content. Combining the frontend developer and backend developer positions, full-stack developers boast a full set of skills that many recruiters find useful. With the ever-increasing number of features that are packed into websites and web apps, are full-stack development positions sustainable? Is it possible to know all the skills needed well enough to do your job on all parts of the stack?
Show Notes
What is Full-Stack referring to?
- Full-stack developer titles are on the rise
- It almost feels like you have to say you are ‘full-stack’ without even know what that means
- In the base definition, it refers to being an absolute generalist that can take an idea and create an application around it on their own
- Build and design the frontend
- Create the database schema and database
- Create the API routes
- Secure the backend connections
- Create a continuous integration deployment system
- Create the server infrastructure
- Manage backups
- Etc
- Generally hired by small companies that are looking to get something built out by a small/1 person team
- 54% of web developers identify as full stack according to the stackoverflow surview in 2020 (link)
Is Full-stack development the right decision for you?
- The reality is if you can demonstrate that you know the ‘full-stack’ you’ll have opportunities open up
- There are a ton of tools now that make it easier
- Prismic for sql queries
- PlanetScale for scalable database
- NodeJS for people that already know JavaScript for frontend
- React, Vue, Svelte for building dynamic layouts fairly simply
- Netlify, Vercel for continuous deployment and servers
- The problem is that these systems that are being built by most full stack developers are not sustainable or scalable
- If a company needs a proof of concept fast, maybe it makes sense to get a full stack developer but the expectation should be that to scale they will probably need to rebuild crucial parts of their application
- Having one developer responsible for the whole infrastructure leads to very high chance of downtime
- If the developer leaves, or gets sick you’re entire system could fail
A Move back to Traditional Roles
- A much more sustainable approach is building out a development team where people are responsible for sections of the app
- Frontend lead with frontend devs under them that are responsible for building out the UI/UX of the app
- As well as connecting to the backend APIs
- A backend lead with backend devs responsible for creating the database schema and setup, the routes as well a securing the APIs
- A devOps team that can standup servers, create and maintain deployment workflows and support backend security teams
- This all sounds expensive and extravagant but you can start small by at least hiring one or two extra people to split responsibilities
- Then doing some cross training to make sure that if someone leaves you’re not SOL
- Companies need to also think about the pressure they are putting on full stack devs
- This can lead to quick burnout and high churn
- Looking for ‘unicorns’ and ‘10x developers’ is not a sustainable or even achievable practice. Companies need to be pragmatic and just look for developers that can build.
Thank you!
If you're enjoying the podcast consider giving us a review on Apple Podcasts or checking out our Patreon to get a shoutout on the podcast.
Support us on Patreon
You can find us on all the podcast platforms out there as well as
Instagram (@htmlallthethings)
Twitter (@htmleverything)
TikTok (Html All The Things)