What is a Full Stack Developer?
By Tech Elevator Instructor Andy Chong Sam
In this post, I’ll cover what it means to be a full stack developer, its impact on the skills developers need to learn, and how it affects teams. The key to understanding the role of a “full stack developer” is knowing what a stack is. Modern applications are complex, requiring hardware, people, processes, and software to design, build, and maintain. For software alone, an application can consist of many layers each with its own distinct responsibilities.
Generally there is a layer responsible for storing data, another layer that directs how a server should handle requests, and finally a layer containing the user interface that will interact with customers. The combination of these layers is referred to as the stack.
A full stack developer possesses cross functional knowledge on all portions of the stack. With these broad skill sets a very small team of developers can bring a new application to life, quickly put together demos, and serve as a single point of contact to the business in terms of what needs to be delivered.
A typical day for a full stack developer generally starts with a stand-up meeting, a quick gathering of the entire team to discuss what will be worked on that day. Throughout the day, developers will spend time coding on their own, pair programming, reviewing other people’s work, and participating in meetings relevant to the project. In the past it was more common to see full stack developers in smaller more nimble organizations like startups, but larger companies have increasingly adopted the model. You will find full stack developers working in all sorts of industries from finance to manufacturing.
In a dynamic environment where the speed to get a product to market is key, businesses greatly value the ability of a cross functional developer who understands all pieces of the puzzle and is thus able to create a product quicker. In practice, and over time, a full stack developer evolves into what is referred to as a T-shaped developer; meaning that the developer has sufficient proficiency with each element of the stack, but has one area where they greatly excel in.
T-shaped developers, over time they can become M-shaped, or even “comb-shaped”.
To summarize, full stack developers have a holistic understanding of all the elements in a modern application, as such they are valued by companies and organizations for their eclectic nature. If you are considering switching careers or writing code as a hobby, training and learning the basic components of the entire stack gives you the ability to create complete and functional applications from the start.
Good luck on your coding journey. If I can help with anything along the way, feel free to drop a comment below.
Andy Chong Sam