Posted: 31 Aug 2024
Author: George Baker

How to Become an Effective Junior Software Engineer


Achieving technical competency

There are many skills that contribute towards becoming an effective software engineeer. For example, communication, collaboration, marketing yourself, etc.

However, as a junior software engineer, I would recommend focussing the vast majority of your time and energy on developing technical competence and expertise.

This means writing as much code as possible. Other software engineering work, e.g., planning projects or delivering presentations can take a backseat.

Pair programming can be helpful at first, however, I would recommend writing code independently once confident enough. Independence can facilitate the development of key technical skills such as reading documentation and debugging.

Ignore the noise

My progression skyrocketed when I focussed almost all my attention on writing code.

I enabled myself to do this by taking more control of my schedule. When I first joined the workplace, I thought that I had to get involved with everything even if it wasn’t ‘mandatory’ or ‘expected’ of me. For example, book clubs, product demonstration meetings, etc.

I’m not saying these meetings don’t provide value, but personally, I found it a lot easier to focus on getting better at my job once I started skipping them.

I also realised the benefit of asynchronous communication, for example a shared ‘request for discussion’ document or a thread on your company’s instant messaging platform. Meetings take time, and time is precious. I believe that part of maturing in the workplace involves recognising how to make the most effective use of your own and your colleagues’ time.

When Stuck, Stop

It can be tempting to keep working on a problem until you solve it. However, I’ve lost count of the number of times that I’ve been stuck on a problem for hours, only to realise what I was missing when doing something else, e.g., ironing my clothes, going for a walk, having dinner with family, etc.

So, next time you get stuck, stop. Start taking more breaks. You’ll be surprised how often a fresh perspective can help remove unhelpful assumptions and provide new ideas.

Take pride in your craft

Frankly, you’ll encounter a lot of code that is not written with care. That may be because at the time, growth was prioritised at the expense of accumulating technical debt, however, as a junior software engineer, it’s important not to learn from bad patterns, or to accept bad code ‘just because it works’.

Writing clean and maintainable code is a skill that will serve you well, and also make you stand out from your peers.

Take an outside interest in software engineering

If you view software engineering as only a job, you may limit your potential and struggle to have a big impact.

Most of the best software engineers I know have a deep interest in the field outside of their day job. E.g., they work on side projects, contribute to open source software, attend conferences, read books, write blogs, give talks, etc.

As a junior software engineer, you may not have the time or energy to do all of these things, but in my opinion, it is worth at least starting to explore some of the wider software engineering community, even if that’s just watching a couple of conference talks on YouTube.