Two paths through a forest

The Journey That Is My Career

I’ve worked as an IT professional for over 20 years having been fortunate enough to have been around computers from a young age and then going on to study Software Engineer at university. In those 20+ years, I’ve had several different roles in a few areas of IT at several companies. This article is about the journey. If you want to see “the facts”, that’s what my LinkedIn profile is for!

What’s This About?

This article is a summary of my career and why I’ve made the choices I’ve made. A lot of the choices made along the way weren’t right or wrong necessarily but, with hindsight, I’m not sure I’d make the same choice if I knew then what I know now. Having said that, I’m happy with where my life is right now but the “best advice” to my past self may not match the decision I (didn’t) make at the time.

Take what you will from this article, whether that be a way to waste a few minutes or something to learn from or, dare I say it, inspire you to take the next step in your career path.

First “Proper” Job

My first “proper” job was actually my placement year at university. I count this as a proper job as it was one year, full time and doing similar jobs to the rest of the IT staff at the company.

The year was split into three parts – six months in the support department, five months in one of the dev teams and a further six weeks in the support department, partly covering for the manager who was on leave. Despite really wanting to be a software engineer, developer or whatever term you want to use, it turned out the part of the year I’d really enjoyed was working in the support team. The year also gave me a lust to get into the working world after completing my degree.

Post-Graduation

After my experience during my placement year and approached the end of my final year, I started applying for several IT support positions around the country and ended up being offered two positions – one in Leeds and one in Abingdon, Oxfordshire. In the end, I opted for the latter as it was slightly more money, in the Thames Valley corridor and, as I knew people in the area already from my placement year, had a pre-established social life and more living options via house shares. The actual jobs were similar enough that, from my perspective at the time, it didn’t make too much difference at such an early stage in my career.

I started my new role in early September 2001, a very memorable time in most people’s lives, regardless of how close you were to the events of the 9/11 attacks. Like many, I remember where I was when I first heard about it and struggled to keep up-to-date with the still relatively new internet news and adding servers took weeks or months, not minutes.

After being in my new role for a few months, I started doing some coding again, working on a support system for internal use and also managing things like annual leave between performing my other duties.

All was going well until July 2001 when we all told the company was going into administration and, effective immediately, we all had no jobs and my short tenure meant no redundancy either. Needless to say, I began job hunting immediately. This wasn’t the easiest time as I was competing with a whole year’s worth of graduating IT students.

Take 2…

In the following couple of months, the company had been bought out and downsized but taken on some of the old staff. I was then asked to come in and do some contracting work which, after a little while, was converted into a full time role, effectively just picking up where I left off.

Once again, all was going well until February 2003 when the new company went into administration but this time it wasn’t coming back.

Take 3…

As the old company was wrapping up, I was contacted by the old managing director of the initial version of the company stating he was putting together a bid to be the assets and clients and would like me to join the new team. I liked the work, I liked the people, the salary was acceptable and, honestly, it meant no need to job hunt so I accepted the offer.

All was going well for a few years, I got a nice (nothing crazy) pay rise and we even started working on a new version of the product using C# and the .NET Framework. It was then that the problems started…

Warning Signs!

Salary payments weren’t always being paid on time and, even if it was just a few days, that makes you worry when you have mortgage payments to make (yes, I was able to buy when I was young thanks to buying with a friend but that’s another story!) and I didn’t have a pile of cash lying around to cover the shortcomings.

Over the next couple of years – yes, years! – things got worse and worse with salary payments now being several months behind. I “stayed loyal” to this company for a long time as it continued to owe me more and more money and whilst I did look at and even interview at a couple of places, ultimately I lacked the C# experience many places were looking for as I think we were only in the early months of development at this point and all the learning was self taught. This was in a time before all the excellent tutorials sites like Pluralsight were mainstream and YouTube offerings were limited to mainly cat videos.

I did realise enough was enough in early 2008 and began looking for a new opportunity, eventually finding a role at a company I’d interviewed at a year previous but didn’t have the necessary C# experience.

By the time I left “take 3”, they owed me four months salary! Fortunately, for me, the company went into administration shortly after I said I was leaving so the government compensation scheme kicked in and covered about half of the amount owed.

The Long Journey Begins

My next position ended up being a nearly fourteen year tenure in various roles within the IT department.

I started out as a developer, working on a mix of classic ASP and .NET products and was doing this for about six months when the development manager changed (I won’t go into the details about why) resulting in me getting a new line manager. For various reasons, this new setup wasn’t working for me so I began looking for new roles, along with other colleagues in the department.

Two weeks later, the new development manager resigned unexpectedly and I was approached by the dev manager’s manager about taking on some of the technical parts of their role, specifically around the database and server management. I agreed to this as I like to have a broad understanding of how the systems are setup that the software is running on.

Over the course of the next couple of years, I got on with my work, helping out the team, working on planning, supporting recruitment, etc… then in 2011 I took on the role of a team leader. Management wasn’t my goal at the time but I was effectively doing several parts of the role anyway and, as you’d expect, it included a pay rise so I accepted the offer.

More Management

In the latter half of 2016, the decision was made by senior management to offshore a lot of the development team to India, mainly for cost reasons, resulting in several redundancies in my team. I was offered a newly created role of Software Engineering Manager with day-to-day management of the entire UK part of the development team that was remaining as well as general management of the whole development team.

This role would see me pushed towards a more managerial and less hands-on position which, even at the time, I wasn’t massively keen on or looking for. I think that, partly due to the safely blanket my current company offered and partly as it was a promotion (which is a good thing, right?!), I accepted once again.

I then spent two years in this position, dealing with the running of the development team and managing the processes we followed as well providing hands-on support to the team when needed. Due to another reshuffle, I was given direct management of the entire development team and another new line manager; my seventh since joining the company.

Is this the right path?

By this point, in early 2019, I was becoming concerned about where my career was heading as I still wanted to be doing a significant amount of hands-on work but I was spending an increasing amount of time in meetings, etc… doing things that didn’t really feel were a good use of my time or skills. There were definitely a good few of these meetings I felt fell into the category of “this could have been an email” as they were largely conveying decisions, regardless of whether it was presented as a discussion or not.

One thing the department, and specifically my manager, had been discussing was the use of cloud hosting, instead of the current bare-metal setup and the technologies and flexibilities that would open up. This discussion, especially combined with the enthusiasm from my manager at the time, pushed me to spend a lot of my own time looking into containerisation, including Kubernetes, as well as brushing up my development skills to help take the development team into the “brave new world” that the cloud offers as we were still almost exclusively developing in .NET Framework. I was also thinking, at the same time, this will be good for my CV although this wasn’t my only motivation and I certainly didn’t have “one foot out of the door”.

Is This What I Want?

By late 2019/early 2020, I was giving serious thought to moving on to another company but I knew I needed to get my skills up to scratch and, at this point, I was thinking of going into a duel management/hands-on role. What I was sure of at this point was my current role was useful to my current employer but wasn’t making me a good candidate for the wider job market and was therefore stunting my career. For this reason, I set myself a few goals:

  • Get Kubernetes up and running with a real production workload
  • Improve the logging being used within the team
  • Get the dev team practices updated to the standards common in the industry
  • Get application deployments, especially in Kubernetes, as smooth as possible to help “sell” the new way of working
  • Give the development team members a sense of ownership of a product from design and coding to deployment to production

Whilst there was some resistance along the way, particular regarding unit testing and pull requests (yes, these weren’t really being done which now scares me with hindsight!), standards were improved and Kubernetes was progressing with some applications migrating over to the new platform in 2021.

Time To Go!

Over the summer of 2021, my manager, who had also been a big supporter of the work I’d been doing with Kubernetes, decided to leave, leaving a void in the company structure but it also meant seeing a vital ally to the “new way” going. This had me asking questions like could I do their job, could I get their job or do I even want their job? After a few weeks without an update, I pushed for one from management and was told they were rejigging things again and not planning on having a direct replacement.

These changes resulted in a few conclusions/realisations for me:

  • My (management) career within the company had stalled with no realistic path forward without others leaving
  • My salary was rapidly approaching the ceiling for my grade and having seen an, on average, below inflation rise over the past few years was, in real terms, falling
  • Progression in a technical role wasn’t really possible after a certain level – a level I’d already passed
  • My role, due to team structure changes, had been devalued in my opinion with a key part of the development process moved into another team

It was at this point I decided I had to go – I was “piggy in the middle” with reduced autonomy and job satisfaction had dwindled significantly, some overnight but some steadily over the previous year or two. A subsequent change a few months later further devalued my role although, in that case, I do believe this change was a good choice for the affected sub team’s efficiency, it just didn’t help me.

I actually wondered, given how my role was changed, if management were trying to phase out my role (and me therefore!) after a current long running project completed in 2023. Whilst I never had any confirmation of this but it does illustrate how I felt my position at the company was.

I began applying for roles that were either hands-on or, at least, mainly hands-on. I was looking at both software engineer roles and DevOps engineer roles. After several months of searching, I found a role I liked so I handed in my three months’ notice and began doing a lot of handover meetings and padding out the detailed documentation I’d already written.

Three months later and my (almost) fourteen year tenure was over. Whilst I enjoyed the hands-on part of my role, the other parts were increasingly demotivating and so I was pleased to be going.

A (Brief) New Beginning

The role I’d accepted was doing software development, mainly using TypeScript/JavaScript centred around React and Express, both of which were new to me. There was some .NET Framework-based C# in the mix with plans for a key admin system being built in .NET 6/7 as well as moving their microservice hosting over to Kubernetes.

All was going well, I loved the team I was working with and was enjoying the work enough until the main C# work and/or Kubernetes work started but then opportunity came knocking and the new employer was no longer certain of going down the Kubernetes path.

In mid-September 2022, I was contacted by an agency with a few roles that were DevOps engineer roles in my preferred technologies of C#, Azure and Kubernetes. I was in my probationary period still (i.e. short notice period) and decided it was an opportunity I couldn’t pass up so I accepted one of the new roles and two weeks later I was gone.

And Here We Are…

I started my current role in early October 2022 and I’ve been loving it. The tech stack is the perfect fit, the team I’m working with have been very helpful and the big new Kubernetes project that’s coming up should be very interesting and challenging and I can’t wait to get my hands on it!

2024 Update

It’s now January 2024 and things have settled at my current employer. The size of the technology team at the company (much larger than previous employers I’ve worked for) and the split of responsibilities, combined with the work I’m doing, is not proving as satisfying as I’d hoped.

Whilst I’ve gained the exposure to cloud technologies and Terraform that I’d been looking for in switching roles (twice!), the day-to-day is not what I’m looking for and there’s not the sense of ownership I’ve used to. I feel my skills and personality sit better in a smaller technology team – nearer 10 than 100 – so that means a new journey may be starting soon…

Final Thoughts

Your career is just that, your career. Whilst people may help you out along the way and see your potential, they will likely only see things from the perspective of what you can offer them or the company. This may not be the best thing for you thought so, for example, if you’re being pushed up the management chain, make sure that’s what you want.

Is there a perfect job? I’m not sure but I think there a few things that you ideally want:

  • Acceptable compensation (salary, leave, pension, etc…)
  • Working conditions (remote/hybrid/office working, flexible hours, part time, etc…)
  • A supportive team that you can rely on – this applies regardless of whether you are the junior or the manager
  • Work that keeps you challenged and interested

I think that if you look at what you do, it’s worth thinking “would this look good on my CV?” and that’s not because it’s “all about you” but because it can be a good indication if you should be doing something. If your company is still coding exclusively in .NET Framework, you aren’t going to have as much choice compared to .NET 6/7/8 coders, especially as time goes on. There’s legacy support of course, but these legacy systems will eventually go.

I integrated the technologies I wanted on my CV into my role as I had the ability to do so and I had the support of my manager. Why did I have that support? It was a good set of skills for the company to have, as well as me, and that is a good sign you’re on the right path.

I’d also recommend going to things like Meet Ups and seeing what the “real world” uses and even how many jokes are being made at the expense of the technologies you and your company are still using.

Whatever your motivation for looking for a new job – money, flexibility, technology, people or even just bored and demotivated – look at what you have and look at what you need and the market wants and don’t be afraid of that challenge to build up your skills to get the career you want. Leaving a company, especially after a long time, can be big and scary thing but once you do, taking that next step is much easier.

Photo by Damian Siodłak on Unsplash

Company Reviews

Leave a Reply