Roadmap to full-stack: How to become a full-stack developer

Nov 29, 2018 - 7 min read
Ryan Thelin
editor-page-cover

Full-stack developers are quickly becoming the most in-demand developers in today’s market. Specialized for agile development and devops, full-stack developers provide a unique jack of all trades perspective to every step in a project’s lifecycle.

However, full-stack developers need in-depth skills in multiple technologies, making it difficult to get started.

Today, we’ll introduce you to full-stack development and outline the next steps for your full-stack web developer journey.

Here’s what we’ll cover today:


Build the foundation of your full-stack career.

Master HTML, CSS, and JavaScript for building your own functional websites.

Become a Front End Developer

What is a full-stack developer?

Full-stack developers are people who know how to work on a product from both client and server-side. This means they’re familiar with front-end technologies, like JS or front-end frameworks (React, Angular. Vue etc), web development technologies and back-end technologies like mySQL, MongoDB, and Node.js.

Full-stack developers have skills in three areas:

Full-stack developers are like a jack of all trades; they’re likely not as experienced with any particular technology as a dedicated front/back-end developer, but they have invaluable versatility and oversight of the whole process.


Advantages of being a full stack developer

The advantages of being a full-stack developer are:

  • Faster Prototypes: You can develop a product from conception to completion with just your own skillset. Reduces time lost from miscommunication or passing responsibilities.

  • Valuable: Your uniquely broad skillset allows the company to hire fewer programmers for a given project. This means you’re hard to replace and therefore will be well compensated.

  • Diverse Work You can shift from working on front-end development teams to back-end teams depending on where help is needed. What you focus on can vary each day and lets you work on a variety of problems.

  • Easier upskilling: More experience with previous technologies makes it easier for you to pick up newer ones. Your broad understanding of different branches of development allows you to quickly see the advantages of new technologies and how they can fit into your projects.

  • Unique input: Your collection of skills give you a unique and valuable insight when evaluating the next steps. Employers value this insight and will allow you to have more input in decision-making than the standard developer.


Disadvantages of being a full-stack developer

Full-stack developers are at the cutting edge of both front- and back-end technologies, meaning you’re required to do a lot of learning up front and continue learning new technologies as they develop.

More so than other developer positions, your ability to adapt to rapidly changing technologies is essential to being a valuable full-stack developer.

Unfortunately, most companies do devote resources or time to the extensive continued education effort required by full-stack developers. Instead, you will be expected to find your own learning materials and continue your education in your free time.

This cycle of rigorous continued learning can be too much for some developers.



What’s the job market like?

Demand for full-stack developers is rising quickly. What was a niche position only a few years ago is now projected to rise steeply into the coming decade, with a 35% increase since 2015 according to LinkedIn’s 2020 jobs report.

This growth will continue to accelerate at a near exponential pace, with a projected increase from 170,000 jobs in 2020 to 850,000 by 2024 according to the U.S. Department of Labor Statistics.

Countries across the world are realizing the value full-stack developers can bring to their teams and are offering large salaries to get them.

In the United States, the average annual salary for a full-stack developer is $105,000 according to Glassdoor. This is well above other comparable jobs, with front-end and back-end developers only making $75,000 and $72,000 respectively.

Most of these jobs will be either at large tech companies, like Amazon, Facebook, and Google, or in emerging startups that want to leverage an agile development setup.

In short, full-stack developers are well rewarded for the extra studying they have to do to gain such a wide skillset.


Most common tech stacks

Full-stack developers usually specialize in a particular tech stack, a collection of technologies that work well together. Each technology in a stack is chosen to meet a specific need, like React to build user interfaces or Apache to create a web server.

Each stack has at least four components:

  • Database

  • Web framework

  • Front-end Framework

  • Server-side environment

There are many different types of tech stack that you can work with based on what tools you know. Most full-stack developers choose to focus on learning the tools in one stack-based on which is used by their target company.

The 3 most used stacks are:

LAMP Stack

  • Linux

  • Apache

  • mSQL

  • PHP


MEAN Stack

  • MongoDB

  • Express

  • Angular.js

  • Node.js


MERN Stack

  • MongoDB

  • Express

  • React

  • Node.js

All stacks use JavaScript in some facet, meaning it’s a must-have for any aspiring full-stack developer.


Why use JavaScript?

Thanks to tools like Node.js, developers are enjoying JavaScript not just in your web browser, but on the server-side, too.

It’s easy to see why many dev teams prefer using JavaScript as the single programming language for their web applications:

  • Projects are easier to understand if all parts are written in the same language.

  • You can save time by reusing and sharing the same code, libraries, templates, and models on both the front end and back end. No need to worry about learning JavaScript utility equivalents in Python or Ruby. Just use the same utility on the server and in the browser.

  • Tools like Node.js are lightweight and built for speed, unlike a lot of other commonly used back-end technologies. This can result in a faster web app.

  • It’s a lot easier to find a skilled JavaScript engineer to work on your back end, due to the popularity of the language.

Full-stack JavaScript is evolving quickly and already has a strong following.

widget

The full-stack JavaScript developer checklist

To be a fully functional full-stack JavaScript developer, you’ll need to understand:

  • JavaScript basics, preferably ES6, the most recent version of the language. You’ll need a strong foundation to take full advantage of each tool.

  • HTML and CSS: All front-end tools will require HTML and CSS skills in some way. They along with JS will form the foundation for your skills.

  • 1 or more client-side frameworks, like Angular, React, or Vue.js. Most modern-day JavaScript devs are using JavaScript frameworks extensively.

  • A knowledge of web browsers The browser is your runtime environment for JavaScript. It pays to know all the development tools available inside your browser.

  • Understand databases and query languages Full-stack developers of any kind need to know how data is stored and manipulated. Learn the differences between SQL or noSQL and popular database manipulation tools like mySQL or MongoDB.

  • Node.js. It’s the first, and arguably most preferred, JavaScript runtime environment on the server-side. Even if you don’t use it for your main server app, you can still use its tools to improve the development process.

  • Pick a stack: While you can learn multiple stacks, it’s best to start with one and check your way down each tool. This ensures you’re focusing on each equally and continue to conceptualize them as a single unit rather than individual technologies.

Additional steps

  • Stay informed: With a huge development community and support from both Facebook and Google, staying up to date on JavaScript can be tough on your own. Subscribe to a resource like the DailyJS, or JavaScript Weekly.

  • Build something: To really understand how both sides work together — and bring focus to your JavaScript learning — it helps to have a project to tinker with.


Next steps

The Become a Front End Developer is the perfect place to start your journey as a front-end developer. With no prior knowledge needed, you will gain a mastery of HTML, CSS, and JavaScript, allowing you to put together beautiful, functional websites and web apps yourself.

By the end, you’ll have the foundational skills you’ll need to start your full-stack web development journey.

Happy learning!


Continue reading about full-stack technologies


WRITTEN BYRyan Thelin

Join a community of 270,000 monthly readers. A free, bi-monthly email with a roundup of Educative's top articles and coding tips.