DEV Community

Cover image for Why you should become a Full-Stack Developer
Andrew Baisden
Andrew Baisden

Posted on • Updated on

Why you should become a Full-Stack Developer

There are countless benefits to becoming a Full-Stack Developer. These days many companies tend to hire developers who can work across the whole stack. The more skills you know and the more experience you have the easier it will be to get hired. Gone are the days when you could comfortably sit back and coast through a job knowing a small set of skills. Nowadays you have lots of young aspiring developers who are super ambitious and devoted to absorbing and learning everything they can.

You can't afford to become complacent as the industry moves so fast. Those who embrace change and stay up to date with new trends and technologies remain at the forefront and become the "go to" tech person to follow when it comes to learning. The same is true for people who prefer to stick to old ways of thinking and are afraid to leave their comfort zones.

https://res.cloudinary.com/d74fh3kw/image/upload/v1629793248/change_is_good_pxjtui.webp

Of course you can still be successful in the industry if you choose to remain as either a Front-End Developer or a Back-End Developer. But knowing both or at the very least having some exposure to them will not only put you in a higher pay bracket when you are looking for work. But it will also make you more versatile and open up new doors full of opportunities waiting for you to take them. This could be new jobs, connections, freelance work, conference opportunities, collaboration and so much more.

Future proofing your career path

The famous American business magnate, investor, and philanthropist Warren Buffett once said:

β€œThe more you learn, the more you earn.”

This still remains true even today. I imagine that there are many developers out there who don't really want to add a new technical stack. If you have become really good at creating UI/UX and working on the Front-End then the thought of playing around with a database and server architecture could be seen as boring. And if working on databases, API's and Back-End systems is your thing then you probably would not get a lot of joy out of trying to get websites to look the same across all web browsers and figuring out all of those CSS quirks.

https://res.cloudinary.com/d74fh3kw/image/upload/v1629792842/back_to_the_future_lf9tl5.webp

But if you are open minded and want to reach new heights then adding more skills is the way to go. Nobody knows what will happen in the future the tech industry continues to evolve all the time. It is much better to have all of your bases covered so that you are prepared for anything that happens.

Rapid growth mindset

I was talking to another developer a while back and they were telling me that they don't know any JavaScript frameworks. They have years of experience and they are working as a Senior and yet they have never used a JavaScript framework before. I think this is a good example of why it's important to keep growing as a developer. There are kids who are still in school or just coming out of college who have a more versatile skillset than some Senior developers. And some even have successful products on GumRoad and ProductHunt which are allowing them to generate a passive income stream.

https://res.cloudinary.com/d74fh3kw/image/upload/v1629793094/youtube_university_vpd6pp.webp

In my opinion if you are an aspiring developer then you should go down the Full-Stack path as quickly as you can. In a few years you will surpass a lot of developers who are older than you. Better yet if age is on your side because you are a young and still in school. Then this is the best time to catch up with your peers and leave them in the dust a few years from now. Those who choose to grow prosper and those who want to go through the motions at the same level begin to stagnate.

Final Thoughts

I really hope that you enjoyed reading this article and learned something from it. As a content creator and technical writer I am passionate about sharing my knowledge and helping other people reach their goals. Let's connect across social media you can find all of my social media profiles and blogs on linktree.

Peace ✌️

Latest comments (43)

Collapse
 
dnecklesportfolio profile image
Dwayne Neckles • Edited

Hearing how different developers manage the complexity of learning full stack development would be helpful for aspiring fs devs. Maybe that could be a part two of this article.

Collapse
 
maxoralbay profile image
Max Oralbay

i just started to build php framework after i loved it for a long time :)

Collapse
 
abhinav2127 profile image
Abhinav Jha

I think Full Stack developer is a limited profession. If you have certifications in cloud computing and able to work with cloud solutions you should be name Poly-Stack Developers.
If you think it's true share your views.

Collapse
 
imhotep111 profile image
Dr Imhotep AlBasiel

In today's development environment and you have to figure out anything they need that's the job.

Collapse
 
imhotep111 profile image
Dr Imhotep AlBasiel

Coding has become like MMA fighting some jobs will take you to the ground on the background of a job you could stick and move on the front end Cabrillo reality as being able to decode from the ground or quote standing up front-end and back-end work together learning one I feel there is incomplete because people want developers who can do everything solution providers incoming mail you can have everything

Collapse
 
imhotep111 profile image
Dr Imhotep AlBasiel

Being at the valley for 21 years there are no real job titles disability too cold and use a w s and related services and figure out anything as to real title the reality of your family the more you know the more you can survive sure

Collapse
 
imhotep111 profile image
Dr Imhotep AlBasiel

That's a very reAl

Collapse
 
ekeijl profile image
Edwin • Edited

I'm seeing a lot of posts on Dev and Reddit with titles like "how much JS do I need to know to become a full stack/medior/senior dev?" - it makes me facepalm.

There is no "bar exam" to become a developer. It only matters if you can be useful to the company, it's supply and demand. It matters if you can solve the problems they are facing.

This stuff comes with experience and imo, experience is gained for ~80% by writing code, the remaining ~20% from studying (books/articles).

It is much better to have all of your bases covered so that you are prepared for anything that happens.

I think posts (and especially sentences) like these feed into the feeling/anxiety of junior devs that they need to learn a loooooooot of stuff before they are "worthy enough" of becoming a full stack developer.

Furthermore, I believe in a "T-shaped" model, where a person specializes in some area and has a more general knowledge about related topics. For example, a front-end developer that knows all the browser quirks to deliver a good looking, performing, accessible user experience and only has the 'need to know' knowledge about APIs and what not to get stuff done. Chris Coyier has written excellent articles about this.

Look at how insanely complex writing an app has become over the last few years - and this is just front-end. This is too much knowledge for a single person (maybe a single mythical unicorn) to learn and deliver quality results on all these areas.

I certainly support the growth mindset. I would suggest to focus on an area that interests you as a developer and learn just enough to deploy your app into production. For front-end developers, 'serverless' technologies and platforms like CodeSandbox and Vercel have made this stuff super easy. Then, you can expand your knowledge on a wider range of topics. I wouldn't say it is a must to learn "full-stack" from day 1.

Collapse
 
huncyrus profile image
huncyrus

The only real reason is: just because most of the companies and customers are lazy and greedy, do not want to pay properly and have an expert for a problem, but feel it is better and more viable for paying only one person who are devop/sysop/frontend/backend developer instead of paying 4 person.

So in short: the only reason is because easier to find assignment/project/company to work to.

[tl;dr]
Cost effective: yes. Good solution: no.
There is no such fullstack person, who can work on all the fields on the same high level.

It is important to understand other fields than one or two? yes. Could a fullstack deliver great or awesome results: yes. Will be the same level as separate experts: nope.

Collapse
 
drhyde profile image
David Cantrell • Edited

You mean "someone who can drive photoshop and Javascript (both on the front end and the backend), isn't going to do much harm when given the root password"? That's not a full stack developer. A full stack developer could also debug the Javascript interpreter, tell you how to optimise your ORM's crappy queries, patch the kernel, and configure the routers.

But people who are skilled in the back-end stuff aren't going to waste their time with the latest fashionable hotness in rounded corners and Reactular frameworks. They're too busy keeping the internet running and having a life to learn some new temporary fad every year.

Collapse
 
rocketfever22 profile image
Ricardo Otano

To sum up: I prefer backend as you don't have situations as:

DEV - I'm focusing on fixing data inconsistencies so we don't have unexpected flaws in the project
CLIENT/PO - I know but the loading bar... could it be a little less blue?

That's what makes me run from frontend, hahaha!

Collapse
 
mojetioluwa profile image
Dahvolee_2004

This is really inspiring for young developers like me who want to grow. Thank you for this write up.

Collapse
 
jessekphillips profile image
Jesse Phillips

I think you should be a QA developer. So many people avoid testing because it is executed as a repetitive task. And automation is just a massive maintenance nightmare.

But all of that is nonsense. A good developer will script out the repetitive tasks. They remove unneeded dependencies that cause the majority of "flaky" tests.

Being a QA developer means your solution is no longer a long list of feature requests, it is a solution to solve your problems, not someone else's.

And you get to learn so much. How the frontend works, how the backend works. And you can influence the design, but if you are not sure how to tackle some specifics, there is a developer there to show you the way.

Collapse
 
avinashvagh profile image
Avinash Vagh

Hey Thanks Man! It gives me a new perspective πŸ”₯

Collapse
 
thumbone profile image
Bernd Wechner • Edited

Yeah, I'm full stack. But for other reasons. Mainly because I do most of my full stack work out of home, not from work. At work, I'm like most, working on the narrow field I'm tasked to, and that is relatively shallow, we have staff dealing with the stack around my little corner.

But at home, well, I have kept in service junk IT from work as servers that provide services to clubs and societies I work with and they are full stack by definition, including gateway and LAN which is broader even than full stack, maybe we should call that the full schemozzle? ;-).

And one of the drivers of course is a fashion and interest in getting away from the big players. That is Amazon, Google and their ilk out of data ownership and privacy concerns. In fact looking into using Google indirectly, mainly for cloud backups, but hoping for encrypted.

And so there's a Nextcloud here, and a few Django sites among other things running on a handful of servers.

The most common stack then that I work with closely isn't LAMP or MERV or any other funky fashion but LLUPP - an if you never heard of that it's because I made it up, but it's a thing and if it ever takes off, I was there first ;-)

And so it's a direct derivation of the LAMP acronym (Linux, Apache, MySQL, PHP), but uses better tech (Linux, Lighttpd, Uwsgi, Python, Postgresql) ...

Apache is a mystery to me. Every single benchmarking of Apache vs. nginx and lighttpd sees the latter two on par kicking Apaches ass on every single measure, no surprise for a web server that takes its name literally from an intentional pun: "A patchy web server" and that shot to popularity on the measure mainly of being FOSS. The nginx boom is a mild puzzle, given it's not FOSS but freemium, and lighttpd is FOSS and performs just as well on every measure (both are ground up rewrites). I'm guessing marketing and time to market maybe.

Truth be told though I use lighttpd primarily because I use OpenWRT on my routers as best I can, and it runs lighttpd, and fulls stack and all I still don't need to spend time on different web servers unnecessarily ... much rather I tend to add lighttpd support to exiting services (run Nextcloud and Django under it neither support it, they both support Apache and nginx so I'm on my own).

For the rest, well I just landed with Django over PHP and hence Python/Uwsgi as the framework and again while I have some PHP (Nexctloud is PHP for example) I bias toward Django services (host a club site under tendenci).

Collapse
 
peerreynders profile image
peerreynders

It's peculiar how rarely the other direction of the "full stack" (relative to "Front End Developer") is explored (i.e. full-stack designer).

spectrum of design roles

From The spectrum of design roles in 2018

Some comments may only be visible to logged-in visitors. Sign in to view all comments.