Understanding & Hiring Full Stack Developers
What is a Full-Stack Developer?
A full-stack developer works on both the front end and back end of a website or application.
What skills are required to be a Full-Stack Developer?
What is the role of a Full-Stack Developer?
A full-stack developer usually builds and supports a web application. Often a team will choose to hire full-stack developers instead of splitting the job between separate front end and back end developers in order to move quickly and allow for more flexibility. Many software features require changes to multiple parts of the application. A full-stack developer will be able to make all those changes themselves rather than needing to take on the extra overhead of splitting the work between multiple developers. For some companies, there may not always be the same amount of front end work as back end work, so having full-stack developers that can move between different areas can be helpful. Not all full-stack developers will always be generalists. Often, they'll focus more in some particular area.
As a company grows, it eventually becomes impractical for every engineer to understand large parts of the application and a lot more specialization is needed. It’s common to see small to medium sized companies with more full-stack developer roles than larger companies.
Full-Stack Developer archetypes
API-Focused Full-Stack Engineer
This is a full-stack web engineer who focus mostly on building APIs and back-end business logic. They step in and do front-end work when needed (in order to own a feature). But their strength is on the server side. They are strong in multiple back-end languages and have experience with databases and schema design.
CS-Focused Full-Stack Engineer
This is a full-stack web engineer with strong CS fundamentals. They are comfortable doing complexity analysis and reasoning about binary heap data structures. They enjoy solving mathy programming problems. Their experience is in full-stack engineering (and they want to work in this area). However, what stands out about them is their skill solving hard programming problems.
Productivity-Focused Full-Stack Engineer
This is a full-stack web engineer whose most notable characteristic is their productivity. They do both front-end and back-end work (and can own a feature from end to end). But what really stands out about them is their high level of productivity. They are a move fast and break things programmer.
Product-Focused Full-Stack Engineer