Front to Back. Is it worth it?

Front to Back. Is it worth it?

·

6 min read

And by that, I mean the jump from Front-end Development to Full-Stack Development. A jump that I, myself, have been preparing for; but is it worth it?

Well, this might be a rather long discussion, but if you only care about my opinion and not the whole story, then yes, it’s worth it!

Otherwise, let’s get into the long discussion;

Why would you want to become a Full-Stack Developer?

But, hey, why would you want to assign yourself much more work just for a small bump in salary and the Full-Stack Developer title? Well, let me tell you that it’s not just the amount of work/salary that matters, it’s the feeling of purposefulness, the hunger for more knowledge & more importantly the openness to a world of a lot of new opportunities.

The thing that caught me at first about full-stack development was the fact that I knew I could develop a web application all by myself, which is something really powerful. Imagine you could develop any web application you wanted, front to back, entirely by yourself; the only limit being your knowledge and time.

I have been a Software Developer for close to 2 years, and I’m by no means an expert, but I still believe that my experience and what I’ve been through might be of great insight to you.

Now, ‘Software Developer’ is a pretty relative title, which has been the title I’ve been working under for the past 6 or so months at my current company, but the reality is that I’ve been working as a Full-Stack developer all along, developing pretty interfaces & robust APIs for all sorts of clients.

At first, I have only been a Front-End Developer, as that’s the easier path to take when you have no formal experience and what you see is what you get in terms of development, but starting as a Freelancer didn’t mean I could do everything on my terms, especially since I was looking to get some real-life experience and make some money whilst doing that.

So I soon found out that my clients expected me to give them the full experience, a fully-fledged platform, front to back. Pretty scary if you don’t even know how a DB works. But it was something I had to learn to deliver as expected and get some clients, rather than having them take some otherwise Indian one-man IT Department as their developer.

As you can tell, it wasn’t really a choice I had to learn doing Back-End stuff, but it’s something invaluable now that I’ve gone through this whole experience, as I’ve gotten all the basics up, and can build robust APIs and design DBs Schemas appropriately, whilst still being room for improvement, of course.

It was only after I finished most of my freelance development projects that I started to realize how important this whole experience was and how many important things I have learned by going through all of it. And not only that, but I realized that I could actually develop applications from start to finish without any guidance, as I haven’t had any thus far.

Now, why did I tell you all of this?

Well, that’s because I consider it to be relevant, even if you’re not working as a Freelancer. I say that because it happened to me; while currently working on a project at my job, I noticed there would be a bottleneck in the Back-End development of our application, so I mentioned that I could also help in that area, even though I haven’t previously worked on the Back-End for that specific project so far.

It might not be much, but it was a pretty good feeling knowing that I could proactively improve the application/platform without being asked to work on a specific Back-End task, and I could’ve continued with my normal workflow, but that opened a whole of new opportunities, and in turn, I got to work and learn a lot about Back-End that I wouldn’t have otherwise learned or worked on.

Not only did this turn into some great feedback for me, but I got more responsibilities and a lot more work/career opportunities from this.

What opportunities do you have as a Full-Stack Developer?

Apart from this story, there are some big opportunities as follows:

1. Getting Into ML/AI

Since Python is also a programming language used on the Back-End often with Django / Flask, knowing this language is an opportunity to get into the world of Machine Learning and/or Artificial Intelligence.

You’ve surely heard about it since it’s been all over the internet for quite some time, especially considering not only the higher pay-checks in that area but also the meaningful creations born out of this domain.

It’s not even something you have to do full-time, but checking it from time to time is something to take into consideration for a possible career switch.

2. Getting Into Video Game Development

We’ve recently seen quite some big jumps into the capabilities of video game engines, and here I’m mostly referring to Unity, as that’s an engine I know about and which allows for building video games not only with C#, but also with Node.js, which is something pretty powerful, and a great option if you’re coming from the Front-End, where you are familiar with JS.

It’s by no means a small jump from Front-End Development to Video Game Development, but it’s going to get smaller if you first get familiar with Back-End technologies and patterns, and then if you want to, jump ship.

3. Developing Mobile Applications

And yes, I know, I have used both Flutter & React Native before, so I know it can be done from the Front-End, but native apps are more performant than their hybrid counterparts. It might not be that much of a difference with all the new hardware, but it could be quite a nice hobby on the side.

I’m referring here mostly to Java, as it’s a programming language commonly used on the Back-End alongside Spring to develop robust Back-End systems. And it’s something that would allow you to enter into the world of native mobile apps development, which is something you can do to expand your areas of expertise.

And to top off the conclusion that learning Back-End technologies is something beneficial to you if you already know Front-End, we would also stumble upon Architecture & Patterns, which are concepts you will encounter at each step while working on any Back-End system, concepts that will also help you build more robust and well-organized systems both on the Front-End & the Back-End.

Conclusion

Let’s quickly go over what we’ve discussed earlier and seen what the benefits of becoming a Full-Stack Developer are:

  • More opportunities in terms of career
  • Higher Salary
  • Much easier to switch careers due to similar technologies
  • Easier to grasp new concepts & apply Back-End structural patterns & concepts to Front-End projects
  • Possibilities to learn a lot of new and interesting technologies & domains and become a much better developer in the meanwhile
  • More responsibilities (Depends on your view on more responsibilities)

Here you can check the “Developer Types” series:

Developer Types | The Web Developer

Developer Types | Mobile Applications Developer | Part I

If you want to learn more about my journey as a Freelancing Web Developer who started working at 17 be sure to check this story:

My Roadmap of becoming a Web Developer at 17

As well as other articles related to this subject:

WebDevFreelancing Social Links:

Did you find this article valuable?

Support Vlad Mihet by becoming a sponsor. Any amount is appreciated!