Start the career as a Software Engineer
One year ago I changed my career from a Recruiter to a Junior Software Engineer. The path was long and challenging but it was worth it! I am happy to share my experience by giving the answers to the most popular questions I get.
Why I decided to change my career
There is no short answer, just a long one :) I was working as a Tech Recruiter since 2012. I loved what I was doing because I was helping people to find the best place to work for them and I was working in the tech field which was always really attractive to me. It was impressive to me that a person could create a whole world with just a brain, a laptop and the Internet at their disposal. Wow!
“Risk something or forever sit with your dreams.” —Herb Brooks
After some time as an HR professional, I was eagerly searching for how to grow in the field but nothing quite sparked my curiosity. I decided to learn what I’d always wanted to learn but had never quite been brave enough to start - engineering.
How I started
This is the hardest part. In the beginning, I was afraid of even opening a book and starting to read about development because I was not sure that I was smart enough. I felt that it was too late to make such a drastic career change… In reality, all obstacles are just in our heads. We can do and change everything!
There were two options: join a bootcamp or start learning by myself and find an internship afterward. I have chosen the second option because I was working full-time and I couldn’t have a break for three months to join a bootcamp. (Theoretically, I could have, but I wanted to be really sure I liked the software development before committing.)
I created a deadline and gave myself one year to learn how to code in order to find the first internship. Initially, I was more drawn to Frontend development and knew that it was fast-growing in the industry so it felt like a good place to start.
I explored a lot of different resources about how to start and what to learn but the most helpful was a talk with my friend who is an experienced Engineer. He helped me create a learning plan with quarterly objectives. Having a detailed plan was crucial for my learning success.
The resources I used
It was a lot of trial and error but I typically followed free written tutorials and YouTube channels. When I started a new topic, I would initially watch a few videos in order to understand the topic in general and afterward I would read tutorials or articles in order to clarify all the technical details. When I found an explanation difficult, I would simply move on to the next resource.
Also, weekly pairing sessions with my friend had a crucial impact on my progress because I could ask all my questions in person.
How I joined Babbel’s Engineering Team
After one year of learning how to code in my spare time, I resigned from my position as a Tech Recruiter at Babbel in order to start searching for an internship in Engineering. By chance, my manager in Recruitment advised me to explore opportunities inside Babbel even though there were no open positions for Interns or Juniors at the time. I met with one of the Engineering Managers, Gaetano Contaldi, and after a discussion ending with a big surprise on his face, he agreed to take a look at what I knew and how I was progressing.
Gaetano and I set some learning goals for me. After observing my progress for a few months, he agreed to have me join his team. I was very excited about this! I started on a part-time basis initially. After three months, I signed on as a full-time Junior Software Engineer.
I am super happy that the Management at Babbel was open for such a change and believed in me.
How expectations are different from reality
The reality was totally different from my expectations. Not in a good or bad way. It was just different.
During meetings, despite team members talking in English all the tech jargon used felt like another language to me! It took a lot of time and effort from the team, Manager and myself in order to be able to speak the same language.
Development is not just about writing code (Gaetano always says this and now I understand him). You need to be able to understand how the project works, the architecture, the logic between components/modules, how external services work etc. When the team has a story to deliver, they begin by discussing their approach, agreeing upon architectural decisions and carrying out a further investigation if needed before finalizing how to proceed.
It was not obvious for me that such work needed to be carried out because when you are learning how to code you typically focus on smaller exercises where the task is already well-defined.
How the team helps
They are patient. It’s already a big thing :)
My team members (developers, manager, product managers) are amazing! They are always happy to clarify topics. First, they do it in a simple way with drawings and examples from real life and then afterward with the technical details. It helps a lot!
As I mentioned above, pairing sessions also work well. As well as helping me to learn about the structure of our projects, new concepts and how to best approach tasks, pairing also helped me realize that even experienced Engineers do not always know how to solve a problem upon first glance.
One more important thing that my team members realize is that it’s difficult to always understand and learn everything fast and that sometimes the brain needs a break :)
A word on working with Juniors
These are the most important points:
- Invest time and explain the problem/task and why it should be solved in a specific way. It’s much better than just explaining how to solve the problem, because the Junior can then take this knowledge and apply it to the next situation which might be similar.
- Give hints and not the solution right away.
- Give advice on the direction of learning and discuss the learnings.
“Find a group of people who challenge and inspire you, spend a lot of time with them, and it will change your life.” —Amy Poehler
I am excited to be a part of Babbel’s Engineering Team. I am inspired by passionate developers who learn, share knowledge, accept diversity and build a great product!