What is a full-stack developer?
06 Mar 2020 Matej Ramuta
Short answer: As a full-stack (web) developer we think of a person who does all the aspects of web development:
- configuring a server and deploying code to it.
A full-stack developer is kind of a “one-man-band” which is especially useful for smaller web applications or smaller startups where one person can handle all the technical stuff.
But even bigger companies prefer full-stack developers - not because they would want one person to handle everything, but because it’s good to have people who can jump into another field in case a person who covers it is suddenly not available anymore.
Let’s take a look at what precisely does a full-stack web developer need to know.
At a minimum, a full-stack developer needs to know HTML and CSS, which are the basis of every web front-end.
Backend development means writing code that runs on a server.
You can imagine a relationship between back-end and front-end like a car (automobile). Front-end is like the car body (the exterior), while the back-end is like the car engine - something that you can’t see from the outside, but is the most crucial part.
Contrary to front-end (where you use HTML, CSS, and JS), back-end gives you plenty of choice regarding languages that can be used there. Basically, you can use any programming language you want to build the back-end for your web application, for example, Ruby, PHP, Python, Java, C#, Scala, Go, etc. The choice is almost endless.
And the best part is that the back-end development concepts are the same with every programming language. This means that when you learn how to do backend development in one programming language, it's not hard to switch to another one.
At SmartNinja courses we use Python for back-end development, but our students have no problem switching to another programming language after the course if they needed or wanted to.
Working with web servers
A server is just another name for a computer that’s online 24/7 and its sole role is to host your web application so that anyone on the internet can access it.
So once you write the code for your application, you need to get a server and push your code to it.
While you can have a server at home, it’s much more common to use one of the existing hosting providers. The biggest ones are Amazon Web Services (AWS), Microsoft Azure, and Google Cloud.
All of them provide different types of servers and even different levels of engagement with a server. This means that you can get a server where you install and configure everything on it. Or you can get a type of server where you only push your code to it and leave configuration to the hosting provider (so-called “serverless” or Platform-as-a-Service).
While “full-stack developer” may sound daunting in the beginning, it’s not that difficult to learn just enough to get to the beginner-level full-stack developer. At the SmartNinja Web Development 1 course, you can learn both front-end (HTML, CSS, Bootstrap) and back-end (Python, Flask, PostgreSQL) development, and also how to deploy your web app to a server.