Being a software engineer is so much more than just ‘coding’.

Clair Griffiths
the codelog
Published in
3 min readMar 31, 2017

I started to learn to code as a hobby about 2 and 1/2 years ago and about a year later I decided I wanted to change careers (I was a media planner for a TV company). I found that I enjoyed coding so much that it made it an extremely viable option for my new career so I saved some money, quit my job to study full time and kept at it until I thought I had the skills to start applying for jobs.

Almost all of my studying involved writing code or learning more about how Ruby and Rails worked. I completed Codewars katas, wrote small scripts to test out concepts I’d learned from the Pragmatic Programmers Ruby and Rails books, followed tutorials and worked on my own projects. Almost all of it involved writing code.

I didn’t really have much of an idea of what a day in the life of a software engineer was, so I assumed (since everything I’d worked on involved writing code), I’d be coding for most of my day.

Once I started my job, I found that I wasn’t writing much code each day and in some cases I wouldn’t write any code at all. I assumed that this was because I was new and just getting my head around the codebase (at NotontheHighStreet we have a Rails application that started to be built around 8 years ago and has been extended upon ever since, which means there is a LOT of code and sometimes it can be in places I least expect. These sort of applications can be known as ‘Monolithic Applications’ and even senior engineers can get lost!).

More and more months went by and I still wasn’t writing that much code. I was busy every day, sometimes I would be working on setting up and adjusting our monitoring software (which monitors the state of the application and sends us alerts if it stops working in the way we expect) or setting up and adjusting our queueing technology (if we want our application to do something but we don’t mind if it’s not done right away, we sent the message to a queue to be processed a little later).

I had meetings about anything from architecture (how to structure new microservices — small applications that talk to our main application) to standups, planning and retros (all meetings to discuss what our team is going to be working on, what we are working on right now and how well we did). I also had to learn how to create new testing environments and then how to deploy my changes to this environment so that they can be tested by our QA team. Amongst all this, I needed to know how to troubleshoot any of those things if they went wrong and investigate reports of bugs.

So in spite of being busy, I started to worry that I wasn’t being very productive at my job (after all, they are paying me to do my job, and my job is to write code, isn’t it?). I saw everything except writing code as something that needed to be done as soon as possible in order to get on with my ‘real job’.

I’ve been working as a software engineer for 9 months now, and it is only recently that I had an epiphany. EVERYTHING that I do is part of being a software engineer, not just the coding part. These aren’t things that are blocking me from doing my job, they actually ARE my job. Suddenly, instead of fretting about not progressing very fast, I’ve become aware of just how much I’ve learned in that time (I didn’t know what any of the terms above even were when I first started, let alone how to do them!).

In some respects, I wish I’d known this sooner as it would have saved me some of the worrying, but I’m grateful that I’ve now come to this realization and can appreciate all aspects of my job.

--

--