Web development has its jargon, just like every other industry in the world. The term full-stack developer is thrown around a lot when the topic turns to make websites. In this tutorial, we will explain what is a full stack developer and how to become one. Hint: it won’t be easy but worth it in the end.
- 1. What is a full-stack developer?
- 2. Everything that gives a front end developer a headache
- 2.1. What is a front end developer responsible for?
- 2.2. What tools do front end wizards usually use?
- 3. The ones who don’t care what it looks like
- 3.1. What do back end developers do?
- 3.2. What do back end developers need to know?
- 4. And to bring it all together…
- 4.1. Full-stack development is for me! How do I start?
- 5. And now, for the money
What is a full-stack developer?
To tell you what is a full stack developer properly, we first need to walk you through the website development cycle. Any website starts with an idea, a vision of what it should do. System engineers and business developers figure out the functionality it will need.
Then, the design people come in together with UX/UI (User Experience and User Interface) specialists to figure out what the user will see when browsing the finished website. Once the artists have a finished mockup of what the website will look like, actual coding begins.
So then, what is a full-stack developer? He's the Jack of All Trades character who can do a little bit of everything but hasn't mastered one discipline enough to specialize.
Everything that gives a front end developer a headache
Let’s start discussing what is a full stack developer from the outside in. It should make it easier for you to visualize what people of each specialty do against the all-familiar backdrop we all see when we open a website.
For clarity’s sake, let’s say that a new and exciting startup, PinkFluffyCrocs, LLC, decides to make an online store, where they will sell pink and fluffy crocodile figurines.
What is a front end developer responsible for?
While it doesn’t directly tell you what is a full-stack developer, this section will help you understand what a part of the full stack developer life is like.
As we have touched upon before, everything the end-user sees when visiting the website is front end developers’ bread and butter. Every image, transition, button, the piece of text and video you see on a website was first envisioned to be there by a website designer and then put there by a front end developer.
The front end developer is responsible for building the skeleton of the website, making it look good and making sure that all the different elements you can interact with do what they are supposed to and how they are supposed to do it.
The front end developer will code the layout of the pinkfluffycrocs.com website, he will define where the image of the product goes and how it looks, where the price goes, what you see when you click that CHECK OUT button. He will make sure that you enter a correctly formatted email address when you sign up and many more things. Hopefully, you get the idea.
What tools do front end wizards usually use?
There aren’t many truths bigger than the fact that programmers are lazy people but in a good way.
Why type something if pressing TAB for the text editor to auto-complete it will do?
Why write something from scratch if there’s already a perfectly good element you’re looking for written in a library and you would only have to modify it to fit what you need?
While you may have to be somewhat proficient in all of them, picking one or two to master will be a good idea.
Some background, jQuery has been around for a long time. It’s worth learning at least the basics because you may have to deal with it in the future.
So, what is a full-stack developer compared to a true oper who front end wizard? He's the guy who understands all of these subjects and technologies. He knows his way around them, he can do most things required of him but pure front end developers can go deeper and truly make magic happen on the front end.
The ones who don’t care what it looks like
Don’t get me wrong, back end developers usually try to make sure that their code is tidy and readable. Messy code is a sign of you being a sloppy programmer, after all.
While front end developers are all about what the users see, back end guys couldn’t care less because John Doe will never see what they do. Unless the whole website goes down or their order of that Special Edition pink fluffy crocodile doesn’t arrive.
What do back end developers do?
This is the second part of what is a full stack developer. Back end developer is part of what a full-stack does. But what will you do if you specialize in back end development?
In short, they make the server-side of the website they are developing their… best friend. Their job is to make sure that the site works instead of looking like it works. Let’s go back to pinkfluffycrocs.com.
You find the croc you want. You look if it’s in stock, you see that there is one in the warehouse. How does the website know? There is a database on the server, the back end guys made sure that it’s accurate and always updated. They also made sure that if you go away for 10 minutes, someone else bought the last croc and you refreshed the page when you came back, the product would show up as out of stock now.
When you log in, the processes back end guys created make sure that your account details are correct too. Think of it like this, a front end developer controls everything that’s happening in your browser. Back end developers control everything that’s happening on the server. The two have to play nice with each other to make sure that everything works as it’s supposed to overall.
What do back end developers need to know?
Just like in the case of a front end developer, a back end guy should master several different things. As a back end developer, you will need to code server-side actions using programming languages like PHP, node.js or even Python, depending on the company you work for and how it does things.
You will also need to know your way around some kind of a web application framework like Express.js, Laravel, or Ruby on Rails.
Databases are one more thing you will work with extensively as a back end developer. Why do you need databases? How else is information supposed to be kept?
Let’s say that the user creates an account on pinkfluffycrocs.com. How are you supposed to know if he entered the correct login details and check if there’s a user with these details at all without having it all saved in a database? How are you supposed to check if you have Pink Fluffy Croc Special Edition with Blue Eyes And Leather Jacket in stock without keeping a constantly updated database which you set up the back end to constantly check? Yeah, databases. Love ‘em, hate ’em, but they will always be needed.
You will also need to have a basic understanding of front end development and server configuration, but it’s not what you’re going to work with extensively.
For server-side programming, you will have to know an appropriate coding language, like Node.js, PHP, or possibly Python. For databases, the three most popular options are MongoDB, MySQL, and Oracle.
So, what is a full-stack developer? He's the guy who can jump in and do all of the required tasks in the back end and then jump in when front end developers need some help. A full-stack developer will rarely be as skilled at these tasks as a specialist, though. Web development is simply too rich a subject.
And to bring it all together…
So, what is a full-stack developer? He is a Jack of all trades, master of none. He’s the guy who can jump in to help out the front end guys to finish with that React.js stuff to make it in time for the launch before lunch, then descend from the heavens in front of the back end guys to help them out too.
This might sound great but there’s a significant downside to being a full stack developer.
Programming is an immensely complicated subject. To learn enough to be considered a Senior Front end Developer, you’re looking at years of hard work, mistakes, and confusion. The same stands for the back end too.
As a full-stack, it will take you even longer to make it. Even then, there will always be front end guys in the company who know React.js better than a truly full-stack or people who do things with Node.js a full-stack can’t even begin to understand.
If you intend to chase mastery, don’t become a full stack developer, specialize. If, however, you’re comfortable not knowing something and trying to figure it out and knowing how to do a little bit of everything instead of something well, the full-stack life is for you. What is a full-stack developer career direction to you: heaven or hell?
Full-stack development is for me! How do I start?
Let’s assume that you are someone who hasn’t written a single line of code in your life but find this world fascinating.
Now, we will go through everything you need to know how to become a full-stack developer.
The first thing you should do on your way to become a full-stack developer is to master HTML and CSS. Everything you are going to do in your career is built on these two things, just like a website.
After that, there are two ways you could approach your goal. From the back end to the front end or from the front end to the back end. Seeing as you’ve just finished learning everything you need to know about HTML and CSS, starting from the front end and transitioning into the back end seems like a better way.
Next, you should figure out what is a full stack web developer you want to become. This will depend on the web development solution stack you wish to pursue.
Solution stacks are combinations of technologies often used together. You should take the time to analyze which combination of skills is the most sought-after in the job market of your area and start learning all of it.
We’ve mentioned what’s in the MERN stack already, but let’s recap:
M - MongoDB, responsible for database management in your skillset.
E - Express.js, a server framework, designed to be used with Node.js.
Additionally, you should have an easier time learning to do things in Node.js without the preconceived notions brought by learning other back end languages like PHP or Python.
Why do we say that?
Some people learning Node.js with a background in Python, for example, report that it’s difficult to reconcile the fact that they are using a front end language for back end tasks.
With that said, Node.js can be a challenge to grasp. You can get it if you persist, though.
After becoming competent in MongoDB, Express, React and Node, you should start building your portfolio and looking for Junior positions as a full stack developer. You may want to freelance for a bit to get some experience in the wild.
Never rest on your laurels, though! Even at the Senior level with a job working as a MERN developer, you should still strive to increase your expertise, delving into the tools related to MERN.
This is when it becomes essential for you to learn how to adapt your overall knowledge to working with other tools, like MySQL, Angular.js (you will need to learn TypeScript), Vue.js.
The deeper your stack, the better full stack developer you are.
Software developers never reach a point where they can honestly say, “I have nothing left to learn. I’m done now.”
This profession is a constant battle against confusion and ignorance. A sense of confusion and flare-ups of Imposter Syndrome is not an aberration in a web developer’s life, it’s the normal state.
What is a full-stack web developer? A brave soul determined to learn everything there is to know about web development despite the impossibility of the task. How to become a full-stack web developer? Start small, learn smart and never give up.
You have a challenge on your hands. If you manage to do it in a year, we will be extremely proud of you. Don’t get it wrong, it’s possible but extremely hard. Are you up for it?
And now, for the money
As you see, becoming a full stack developer from scratch is tremendously hard. It would be challenging but a bit easier to do it if you have experience working as a front or back end developer already.
Is it worth it to put the effort in? Let’s see what is a median full stack developer salary in the United States.
According to indeed.com, the average full stack developer salary in the United States is $112,527 a year. In comparison, the average front end developer makes $104,708 a year, while back end developers make $121,086 yearly.
That works out pretty well, it’s close to the average between front end and back end salaries. It makes sense because a full stack developer hasn’t mastered either the front or the back end.
What is a full-stack developer salary you can expect at the beginning of your career? Probably better than it would be if you started entirely with the front end, honestly. A starting back end developer would still probably be paid more.
If you haven't coded before starting this exciting journey of learning how to become a full-stack developer, you haven't had a specialty before. With that said, it may be better money-wise to specialize in one of the two fields (front end or back end) first, get a starting job, learn for several years and then become a full-stack web developer.