19 June 2023
Reskilling software developers – moving from one technology to another
Sometimes, software developers decide to switch from one specialization to a completely new one, even after years of practicing a particular tech stack. In today’s article, we’re going to talk about why they do it, how they and their companies can benefit from reskilling and how organizations can help their people get through that process painlessly. We’re also going to share some advice for developers that consider reskilling, all with the help of TSH’s devs who already did it.
In one of our most recent articles, we’ve been talking about upskilling in software development. It’s a process in which devs learn new skills related to their current stack. It’s a great way to boost one’s career and become more flexible for your employer.
Today, we’re covering a more extreme form of acquiring new skills – reskilling in software development. Switching from one language to another, moving from frontend to backend, and other big career moves such as these qualify as reskilling.
You will learn the nitty-gritty of reskilling for software developers with The Software House’s folks that have already walked that path.
There is no way that doing something like reskilling software developers is not going to involve a lot of considerations and all kinds of steps (or should I say jumping through hoops?!). So let’s take a closer look at what we’re going to be talking about today.
What you’ll learn – resklling software developers overview
We’re going to hear from TSH’s head of Node.js Adam Polak, who switched from PHP to Node (among others), Mariusz Richtscheid – a frontend developer turned Node expert, Daniel Stokowiec, who successfully moved from Ruby to the Frontend Team at TSH and then to the Node.js team as a software architect, Jacek Ciwiś, who switched from PHP to DevOps, and Ania Widera – one of TSH’s latest additions to the Node team, that has previously worked as mobile developer.
Together with them, I’ll talk about:
- Different reasons why developers choose to switch to a different technology – sure, sometimes it is simply an economical decision – one pays better than the other. But some developers also manage to find their true calling later in their career. They discover that they have a natural predisposition towards a different area of technology. After all, a passionate developer is always the best developer.
- Benefits of reskilling software developers – there are a lot of them and they have an impact on the companies the developers work for too .
- Resklling at The Software House – we support our developers in their upskilling and reskilling efforts. You’ll find out how we do it.
- We have reskilling stories to share – perhaps you will find at least some of them inspiring.
Let’s get right to it!
Reskilling in software development – reasons
Why do developers decide to switch from one technology to a completely new one?
Being in the right place
“The reason for this was simple – Flash and JS were used for some cool looking apps and that »eye candy« was something that was really important for our clients back in the day.”
A new exciting project
For various reasons, software developers may find the opportunity to work on a certain project to be very exciting. It may involve some cutting-edge technologies such as AI, machine learning, or blockchain, feature rare use cases, or simple concern a really big brand they’d like to work with. But it may often require the change of technology. Since both PHP and Node.js are backend technologies, getting into Node.js didn’t prove very hard for Mariusz.
“Regarding backend technologies, I moved from PHP to Node.js. It didn’t take long due to some side-projects I was working on during my free time. Once I learned those new technologies and the opportunity arose, I simply switched to a new commercial project in The Software House.”
Changes in a company
“While working with some APIs in Ruby, I was also exposed to React, so at a later point, when there was a need, I moved to frontend full-time.”
Jacek has been working with all kinds of projects as a PHP developer, but over time he has also been more and more interested in a different aspect of the development process.
“After a few years, I started to think more seriously about the production environments of those apps, deployment methods, hosting, etc. I started using the AWS cloud and that’s how it all started with DevOps. The reason why I’m still looking for new solutions is to find a way to increase app development speed.”
Developers can also switch technologies and specializations within the same field.
Benefits of reskilling software developers
Reskilling benefits both developers and businesses.
All kinds of situations can directly cause a developer to make a decision to reskill.
- Changing to a different technology may result in higher earnings in both the short and long term. It’s not a secret that demand for various technologies changes over the years and new exciting technologies and possibilities arise (e.g. the emergence of Node.js and DevOps). If you are more interested in this topic, try PayScale.com where you can compare average market salaries for different types of software developers across the world.
- The belief that there are more interesting projects waiting in a different technology, may not be just situational. According to Mariusz, “there are a lot of modern projects using Node.js. It is less likely that you will end up working on some kind of legacy system.” This also played a part in him switching to Node for longer.
- If developers realize that certain technology is on the way out, they may start to move away from it to stay on top of the market. The Stack Overflow Developer Survey is one of the good ways to follow industry trends like this. Software companies closely follow such trends and often shape their services based on them, further spurring developers to make changes to their stack.
- Since more and more companies understand just how important it is for a developer to learn something quickly and start putting that knowledge into practice, the ability to quickly reskill looks great on a CV.
Let’s take a look at some data to illustrate this.
There are also certain reasons why businesses themselves can at various points openly encourage their devs to reskill and benefit from it.
- You can cover your business needs basin gon your current resources, without having to hire new developers, which may be very costly.
- You can steer your organizations towards trending technologies. Again, without turning to the costly recruitment process.
- By helping in the reskilling process, you can prevent developer burnout. In a company in which it is easy to change the type of work you do, retention over time is better. And it’s no secret that with a turnover rate of 13.2 percent, software development greatly struggles with retention.
Despite all of these facts, developers rarely learn their new skills at their employer’s site. According to Stack Overflow Developer Survey 2022, they typically self-learn. On the job training ranks only 5th.
We’re now going to tell you just how The Software House goes about reskilling! Excited?
Reskilling – how The Software House helps its devs
There are many things an organization can do to help developers get through the process of reskilling. Here are a few protips based on our experience at The Software House.
- Production-like bootcamps. “Nowadays, we have bootcamps, the whole project-like environment for people to transfer from one tech to another,” explains Adam. It’s a quick and intense way to get up to speed with how TSH works with any given technology, from top to bottom.
- Introductory project tailored to cover use cases that are typical in commercial projects. “Crucial for my transition was the completion of an introductory project tailored so that it covered all most common use cases and features,” says Ania.
- External workshops. At times, when a technology your company moves into is fairly new to it, an external help can be the way to go for your developers. “I participated in a training organized by Bottega IT Minds, which was funded by the company. It really gave me a lot of insight into the technical parts of the Node.js,” explains Mariusz.
- Mentoring. Mentors help developers in the reskilling process on various steps, including the bootcamps, introductory projects and other in-house learning events. “My mentor was an experienced developer who had time to provide me with detailed feedback in the one-to-one manner. I felt safe in the learning process because there was no risk of me ruining anything in the production codebase,” adds Ania.
- Advertising. Nurturing an environment in which it is okay to make such decisions is also important. “We currently even recruit devs with experience in other backend stacks with the intention to convert them to Node.js,” notices Daniel.
- Know your devs. You will be able to direct your efforts well if you make sure that you know what each and every one of your developers actually wants.
“Every few months we ask our devs to fill in a special survey where they can tell us what experience in other (important for the company) technologies they have,” says Adam. It’s just one of many things The Software House does to acquire knowledge about their devs.
“TSH’s help was invaluable. It started after 3 years of working in the company. The management noticed that I was changing my area of interest and gave me the opportunity to develop in this direction. I joined the DevOps department and worked under the care of extremely experienced people,” says Jacek.
“Since the management knew that I wasn’t bound to a specific technology, I was presented with various interesting challenges for me to choose from, right from the early days,” adds Adam.
Want to reskill yourself? A word of advice from TSH’s developers
Thinking about reskilling yourself? Here are a couple of things you should keep in mind.
- Today, companies are really interested in developers who can cover the entire technology stack – so-called full-stack developers. But nobody can possibly be great at everything. So what does it really mean to be a full-stack dev? ”A full-stack developer is someone who mastered one field and is proficient in others,” believes Adam.
- Even if your company doesn’t offer a bootcamp, try to find a way to study a production-like environment not only to learn more about the technology in practice but to study the best practices of your prospective team.
- Learn from those more experienced than you. Finding a good mentor makes all the difference and gives you a lot of confidence as you make your first steps.
Let’s sum things up!
Are you ready to try your luck at another interview? Check out these articles
- Most PHP interview questions articles are of little help. Here’s what you may actually expect
- Node.js interview questions, topics and advice – nail your interview in 2023
- Frontend interview questions – how to impress in 2023?
- Microservices interview questions: How to prepare for a microservice-oriented developer position?
Reskilling developers – key findings
Just to recap the most important points, here are the key guidelines for both the company and the developer interested in reskilling.
- Companies stand to gain a lot from reskilling. However, at the very least, they need to take interest in the subject to some extent, as to not lose the devs that are interested in changing their technology stack.
- There are many things that companies can do to help in reskilling, e.g. organizing bootcamps that help polish technical skills and mentoring programs centered around core skills relevant for their business. But, besides all the training programs, first and foremost, they need to listen to their existing employees. They are the ones who really know what developer skills they want to pursue.
- For a developer to really get into a new technology quickly, a bridge (e.g. participation in a production-like project or bootcamp) that allows them to get from theory into practice mode quickly and risk-free is important. This is the best way to remove skill gaps quickly.
We hope that by now you see that reskilling is both worth it and easier than you might have thought!
Want to learn even more about reskilling? 🤔
Or perhaps you need a particular type of developer quickly and outsourcing may be on your mind? Contact us and let’s talk about it. 👩🏼💻