How I Became a Junior Software Engineer in Under a Year

Featured on Hashnode

Today I announced my first official job as a developer after accepting a position as Junior Software Engineer with Novatec GmbH. I see this job as a long time coming, and the culmination of years of interest in technology and coding, but the truth is that I will be starting only a year after I began programming in earnest.

Firstly, let's begin by stating something obvious but necessary: Finding your first job in tech is not an easy process, and it is different for everyone. As with everything, a combination of skill, preparation, networking, and luck, is essential. With that out of the way, let's have a look at how I got to this point.

1. Early Interest

I have an entire blog post about my life story and how I got to the point of deciding to pursue programming as a career. The short version is that I always loved computers and technology, and as a teenager (in the early days of at-home internet accessibility) I often created websites. I even studied Software Design and Development as one of my high school subjects, but never pursued it: in large part because I was the only girl in the class. Nevertheless, I did make a few more websites over the years, even as alternatives to essays for a few subjects in my Media and Communications degree.

2. The Floating Thought

We all have what I like to call 'floating thoughts': those thoughts you have that "I'm sure I could do that if only...". For me, programming was a 'floating thought'. Plenty of my friends over the years were men and women involved in software engineering and web development, and whenever I met someone who worked in tech (for example, at a party) I would get super excited and blurt out something along the lines of "I love technology and programming!" before realising I didn't actually have much to say on the topic, because I hadn't actually learned anything beyond HTML as a kid.

Learning to code was a "floating thought" that I was sure would happen once I had some time, or was looking for a new hobby, or felt like I could handle it. However, year after year passed, and it remained there, floating. Once we get to the end of this article, I'll let you in on my only remaining floating thought!

3. The Push

In May 2019, my daughter was born. This precipitated an unprecedented change in my life, not only because of the impact being a parent has had, but because it made me take a long, hard look in the mirror about my career as an opera singer. As much as I love being on stage, it was not fulfilling my ambition or my intellect in a way that would be sustainable in the long-term. I knew a change had to happen, and as soon as the end of maternity leave began to loom, that floating thought wafted down from the heavens and landed squarely on my shoulders. It was March 2020. It was time.

4. The Test Run

Enter The Odin Project. I had mentioned in a Facebook group for mums that I wanted to learn to code, and one of the women sent me this link. I had tried a few online tutorials but they had all involved just 'coding along', without giving me an understanding of what was actually happening. The Odin Project is a free written course with an incredible Discord community, where I was able to not only learn web development languages, but also learn web development set-up: from IDEs and npm packages through to Git and ES6 modules.

I studied The Odin Project every day, 3 to 6 hours a day, for 60 days straight... yes, including weekends.

In addition, my activity in the Discord community meant that I quickly was able to have a senior developer act as a sort of mentor to me, who told me that it wasn't just my imagination: I was learning the content of the course quickly and thoroughly. He encouraged me to keep going and to look into local options as well.

Despite deciding to move on from The Odin Project, it is still my #1 recommendation for those wanting to become developers, as you can see in this YouTube video from last month:

A fun side-fact is that during my time learning with The Odin Project, I also kept daily "check-ins". Here are a few to give you a taste of how it came along!

Screenshot 2021-01-28 210404.png Screenshot 2021-01-28 210241.png Screenshot 2021-01-28 210542.png

5. The Course

After speaking to a local recruiter and investigating several bootcamps in my area, I decided not to go that route, but instead to sign up for a year-long web development course that was fully government accredited. I knew that even if I did a 3-month bootcamp and nailed it, it would be tough for me to convince an employer that I knew what I was doing if I didn't have 'the paper'. I live in Germany, and they LOVE certificates. It would be far easier for me to prove my abilities with a one-year, government-accredited certification than with a three-month paid programme. Furthermore, it would give me time and space to truly become an expert in what I learned.

So in June, I began studying Web- and Software Development with Digital Career Institute in Leipzig. It was supposed to be an in-person course, but as it turned out we never did transition back from Zoom. I quickly realised that the pace of the course would not be at the same speed as my learning, and I ended up being more in a position of helping the other students than learning much myself. It turns out that those two months with The Odin Project were enough to get me months ahead of my fellow students. I ended up being hired by the course provider as a Class Tutor (quasi Teaching Assistant) and was also chosen to be Class Representative by my peers. These two positions, to my mind, were able to reflect both my technical expertise and my love of helping others and lifting up the whole team. The added bonus, of course, being that it also acted as great 'proof' to potential employers that I would be a good hire.

Although many students found the pace of the course to be too fast, for me it was noticeably too slow, and so I spent my "spare time" getting ahead of the curve: purchasing a NodeJS course from Flavio Copes, learning React, and building my portfolio site. By the time we started on our backend modules, I knew we were about to cover the last (and probably only) section I didn't feel confident in.

6. The Job Search Begins

Truth be told, my job search was almost thrust upon me. I had mentioned in a few NYE tweets that "This will be the year I get my first job as a developer", thinking I would slowly put together my documents and start applying in February or March. I began getting messages: "Apply for this job at my company and tell them I referred you!". Nervous but also excited, I applied to a few places with a haphazard English-language CV I'd thrown together. I quickly realised that the skills I had worked to develop, and the seemingly natural talent I had for learning programming concepts and syntax, were more than enough to start looking for a job now, and so the search began in earnest.

7. The Video aka THE AVALANCHE

There is an incredible YouTube series from Danny Thompson all about how to improve your LinkedIn profile to find work, and one video in the series involved him talking to Taylor Desseyn, also known as "the recruiter against recruiters". I had been following Desseyn's posts on Twitter and LinkedIn for a long time, since I love his energy and frankly think we'd just have a blast if we ever got to share a beer. On top of that, he knows his stuff. One thing I'd seen him recommend (truthfully I can't remember when or where) was the idea of recording a short video answering the most common first-interview questions in your field.

I had already planned to record some YouTube videos one night, so before I began to talk about array methods, I jotted down some common questions I'd encountered from German employers and answered them on camera, complete with a backdrop matching my portfolio website theme. I found some royalty-free music and dropped it into the background, and after some editing the whole thing came out at a bit over two minutes.

When I watched it back, it felt stilted and corny, and I wasn't sure it did me justice. Nevertheless, by the time I'd prepared it the makeup was off and the backdrop had been put away, and I wasn't going to do any more takes, so I sent it to Desseyn via LinkedIn message to see what he thought. The next day I had a message saying he loved it. Despite disagreeing with his assessment, I shrugged my shoulders and posted it on Twitter, complete with a call for my followers to retweet it (which, I should add, I don't recall ever doing before).

The tweet.... did pretty well. I'm writing this with it sitting at 27,600 views.

This is when the messages really picked up. Suddenly, I was being inundated with offers and referrals. I applied to about half of the referrals I got, and had to prioritise based on suitability to my passions, location, and yes, income. If the first half hadn't worked out, then I would have applied to the others, but the truth is that I did not have enough time in the day to put together applications for all of the referrals I was receiving, and still keep on top of the interviews which were coming through.

8. The Winner

Luckily for me, a representative from Novatec had taken a particular interest in me, and invested two hours into a conversation to tell me about why it was a great place to work. The conversation helped me see how the company ticked a lot of the boxes which were important to me: an environment in which to learn; a long-term placement that would give me opportunities to advance; opportunities to speak at conferences and be involved in the community; an income commensurate with the value I know I can provide; a willingness and an excitement about expanding the number of women in tech; an involvement in assisting young people to better engage with technology; and a modern work environment focused on Agile methodologies.

On top of all that: everyone at the company was lovely!

After chatting to an HR rep and my future team lead, I got the best type of butterflies: the type you get after an exciting second date. The question was: "Are they as into me, as I am into them?".

Luckily, the answer was yes! I quickly received an offer in line with my salary expectations, agreed to it verbally, and went about sending my best wishes to the other companies I had been interviewing with.

In the end, I was told that the fact that I did not know their specific stack was, in this instance, less important than the fact that it was clear I was a fast learner; someone who loved programming and adored a challenge; and an open and friendly personality who would be good to work with and potentially a good leader further down the line.

I felt lucky to get them, and they felt lucky to get me: what a great start!

9. Onwards and Upwards

Now it's time to get stuck into the next stage. I'm about to go from being top of the class to bottom of the heap. This will take a huge adjustment of my ego and an ability to be humble, take my time, and ask questions no matter how small and silly. I feel very supported by my new company and by my team lead, who will also act as my mentor and guide through this transition. I will be working in a new field, with new languages, and probably not much involvement with the stack I've spent the last year learning. Nevertheless, anyone who knows me knows that I am fired up by a challenge, and nothing can stop me once I set my mind to something. Bring it on.

Lessons and Conclusions

If I had to distil my own experience down into a few key takeaways, it would be these:

  1. While learning, focus on getting things working, not on getting things perfect.
  2. Always show an active interest: you may not be passionate about coding like I am, but you can always show initiative by going one or two steps further than what is required.
  3. CREATE CONTENT: My 'Video CV' tweet would never have gotten as far as it did if I hadn't already been building a following on Twitter, YouTube, and my blog for months beforehand. I have a video about why every new programmer should create content, and even without knowing you, I know that you should, too.
  4. Lift up others: By supporting others, you show that you are not just focused on your own success, but in that of a team. That is just as important as your coding abilities.
  5. Explain to employers why you'll be awesome: I had to swallow any and all humility and tell potential employers straight-up about how I'm top of my class, about how I can learn in half an hour what others learn in a day, and many other 'fun facts' which make me sound like someone who thinks she's the best thing since sliced bread. 'Bragging' is absolutely necessary.
  6. Every application you submit should have a name in it: That is, someone at the company who has referred you or to whom you've spoken. Do you know how many interviews I got from employers I cold-applied to? Zero.

I will write and record more about each of these points in the coming weeks, but hopefully that gives you an idea of not only my own career change journey into tech, but also about how you can take the initiative to raise your profile and score something excellent for yourself.

P.S. What is my only remaining 'floating thought'? I'd love to be on the Board of Directors for a charity some day!

Paolo Urciullo's photo

Excellent article! Thanks so much for sharing!

Edidiong Asikpo's photo

I am so so happy for you Anna J McDougall. Congratulations. 😍

Mosopefoluwa Ogunlaiye's photo

So inspiring. Keep it up.👍🏾

Victor Adeshile's photo

I'm blown away! Really an amazing experience shared. Thanks.Anna J McDougall

Mohamed El Amine Yamani's photo

What a great article, we definitely need more of these in the dev community, ones that share pure human experiences that we can learn from! I have related so much to this piece it's crazy, especially the "floating thought" part! Respect, Anna!!

Kelechi P. Nwachukwu's photo

That’s the way!🥳 Best wishes Anna.

Lauren Lucero's photo

Thanks for sharing! I'd love to hear how you did all of this WITH A BABY?!

Deactivated User's photo

Inspiring..thanks alot.