When you’re first contemplating a career in technology — thinking about whether a coding bootcamp would be worth it, deciding what you’d like to focus on — it can be easy to get lost in the bewildering variety of subtle distinctions made between disciplines, tools, and approaches to work.
As it happens, your friends at Career Karma have been working day and night (hijacking the wifi at the Gringotts Wizarding Bank, when required) to bring you the penetrating analysis you need to keep all of this straight and make clear, conscious plans.
Today we’re going to be discussing full stack engineering, how it’s distinctive, and what full stack developer jobs entail.
What Distinguishes a Full Stack Developer?
When used in the context of technology, the term ‘stack’ refers to an integrated set of tools used for a constellation of tasks. An example is the LAMP stack, consisting of the Linux operating system, Apache HTTP Server, the MySQL relational database, and PHP for server-side scripting, which together allow developers to build high-quality web sites and web applications.
Stacks like this one are extremely common, and if you attend a bootcamp it’s likely that you’ll actually be educated in the use of one stack or another.
Continuing this line of thinking, a ‘full stack’ engineer is one able to handle an entire technology stack. We designate some engineers as full stack to separate them from front end and backend engineers.
A front end developer focuses on client-facing components, including websites and the user interfaces on web applications. A backend developer handles servers, database integration, and API exposure.
This gives us a clue as to the sorts of jobs a full stack developer will do. Glancing through search results for ‘full stack engineer’ on Glassdoor, we can see patterns consistent with the comments made above. Full stack engineers need to understand database languages like MySQL and UI frameworks like React and AngularJS.
It’s not likely you would need both of these talents for either a front end or a backend position.
Should You Be a Full Stack Developer?
Answering the question of whether or not you should become a full stack developer requires you to understand your interests.
If what you really find fascinating is creating beautiful, compelling products like Steve Jobs then UI Design, UX design, or front end development is probably where you’d be most at home. But if you don’t care about how a website looks so much as you like solving thorny technical problems and getting disparate pieces of equipment to sing together like a choir of angels, then data science or backend development would likely suit you better.
One of the advantages of becoming a full stack engineer is that it provides the flexibility of moving between these worlds on a consistent basis. To the kinds of people who find this notion appealing, a job in full stack development might be just the right balance of left- and right-brain to keep things interesting.