Putting the Junior in Junior Software Engineer

2020-04-25

I went from a university graduate to working as a software developer. This is a short piece of writing about how I managed to get to where I am today.

No Idea what I'm doing https://knowyourmeme.com/
How I felt when during my first time working as a developer.

It really felt like being thrown in the deep end. When I started working as a developer there were so many things to learn, and I had a lot of questions.

There was a lot of information I had to absorb in a short period of time. Both technical and more general working-in-an-office things.

I had to learn test driven development, pair programming, continous integration, debugging, estimating planned work and even simple things like writing descriptive commit messages.

I would say that I have gone from knowing close to nothing about real world software development to knowing some things about it.

The courses and work I did during my time doing a bachelor's degree only slightly overlapped with the knowledge required to work as a web developer.

Hell, I barely even knew JavaScript when I started out and had to pick it up as I went along.

There are a lot of things that are difficult about taking the first step out into a new career, and you can never truly be 100% prepared.

It is my hope that some other aspiring software developer reads this and maybe learns something or finds comfort in the fact that someone else has gone through that exact same thing.

First Steps

During my last year of university studies at the end of 2017 I started to worry a bit about what I would be doing once the year was over.

I knew that I wanted to work with software or at least within the realm of IT but I had no idea how to get there.

The first thing I did was to apply for a few unpaid internship roles. My idea was that these would allow me to at least get a feel for what it was like to work as a developer.

In hindsight, I can't really say that I understood much of what was going on at the time but it led to my first introduction to JS frameworks like React. This was also my first time spending time in startup environments, and I did enjoy the general vibe of it.

React Logo https://reactjs.org/

I completed a big capstone/thesis project over the summer holidays. The professor who helped me thought I did a well enough job and offered me a paid full time role as a research assistant for the university.

This was a huge load off my shoulders since I did not have to worry about being unemployed following my graduation. And to be honest, there were not a lot of other opportunities open for me at that time. I was even considering moving back home to pursue further education. Being on a student visa can filter you out of a lot of hiring processes.

A foot in the door

During my time working at the university, I was constanly looking for other opportunities. I went to a lot of meetups and networking events and applied for a large number of different software engineering roles.

I eventually scored a job interview with a medium sized e-commerce business that was looking for someone to do some part time contract work on a casual basis.

Working part time was an interesting way to come on to a company, and it might be quite rare that you end up in this position since most people probably don't prefer to juggle two jobs simultaneously.

For me though, at that point, it was a delightful change of pace.

Eventually the company offered me more hours and as I completed the tasks they assigned to me and helped them with various leftover tasks like fixing up email templates I was able to prove my usefulness to them.

I think working part time at the company for a while like this is what helped me progress further and get a more permanent position.

I was eventually offered the opportunity to interview for a full time role and at the start of the following year I came on as a full time member of the team.

The first year

It was difficult to keep up in the first couple of months, and since our company was small but growing there was only a limited amount of handholding that the senior engineers could provide me with. I had to ask a lot of questions.

Every time a question was answered, a few more popped up. And at the same time I had to get into the developer habits of stand ups every morning and working as part of a team.

Some of the more crucial things was figuring out how to do test driven development and working with another developer on your machine as part of pair programming.

This did force me to start looking into things on my own, and led to me creating architecture diagrams to get a holistic view of all the systems the compay was using, something that previously only really existed in the heads of the senior engineers.

Parting thoughts

Being able to network and get to know people in the industry is likely one of the best ways of landing a job since in some cases you already get a foot in the door with that initial conversation.

I am glad that I started to think about my future career while I was still studying. It can be a bit frightening when you finish your studies and don't have any available opportunities at your feet.

So if you are in a similar role as me and reading this, I would encourage you to start looking for some opportunities like internships or part time roles. Any experience is better than nothing. Especially for developers where often the skills you are able to demonstrate are worth more than the papers you have acquired.

Thanks for reading!