For the last couple of years, I have been working as a Full-Stack Developer @SaltySlopes and it has definitely been an interesting journey, to say the least. I started working professionally back in 2012 and the only thing that I can say that has remained the same since back in those days has been change.
I remember when JQuery and JavaFX was all the rage, but things change and most importantly the applications we build and the people they serve change. I want to take a couple of minutes and introduce you to the concept of “Full-Stack Development” and before we get into the specifics of what it is, and most importantly what it does, let’s keep the first idea in mind.
People change, and so does Software.
The first thing that comes to someone’s mind when I say “Full-Stack Developer” it’s someone that builds an entire website from backend to the frontend and YES they would be partially correct.
I don’t particularly like this definition because it just gives you a top-level understanding of what you will be actually doing in your day to day work.
Full-Stack Development goes a bit deeper though, once you start building applications that are important to the organization that you are going to be building them for. You start to realize that you have to take into account the business logic, business resources and most importantly present a potential customer with an experience of what they will be receiving or doing.
If so much work is required, why go through all that effort to learn to become a Full-Stack Developer? This is an interesting question and something that I have addressed in multiple talks that I have given.
It all comes down to this point.
End to End Development
This is having the ability to be able to understand or have the ability to learn what is going on at each part of the software project.
As a full-stack developer, you have the ability to jump into any part of the system and be able to understand what is going on at that given point of the system.
In summary, you have to be able to do end-to-end development.
You also need to have a deeper understanding of systems, what does that mean? You need to be able to not care if you are working with Oracle or MongoDB but instead care about the system as a whole. You will be able to pick up any programming language in just a couple of hours instead of weeks.
Lastly the most important point of being a Full-Stack Developer.
This does not mean that you leave your team behind but instead, you are not held back because you are not a domain expert in a specific topic, you have the tools and resources to keep your project moving forward.
If you are interested in learning what those tools are, I welcome you to sign up for a free webinar that I put together that goes over everything that you need to know before deciding to become a Full-Stack Developer.