How did I get here?

Growing up in a small, rural town in Northern Ireland meant I definitely did not expect to become a software engineer specialising in networking and infrastructure, yet here I am and I'm absolutely loving it. It usually shocks people to find that I accidentally stumbled into this career, and with that I realised I've never taken the time to write out how that happened. So... here it is (so far). 😅

Bebo logo

When I was a teenager, before Facebook and Twitter really took off it was all about Bebo (Wikipedia covers the history of the rise and fall of the social media platform here). My first foray into web development involved designing "skins" for my Bebo homepage, all ridiculously cringe so I am delighted it's no longer available.

At this time, I definitely wasn't thinking that I wanted to start a career in technology. All I knew is that I wanted to make pretty templates for my profile and it had been fun while it lasted.

Queen's University Belfast - Lanyon Building

When I finished high school, I studied Business Information Technology at Queen's University Belfast. During this time most of my modules focused on accounting, marketing, operations and all those good business-related topics. There had been a handful of modules during this course that allowed me to dip my toes into technology, though I definitely didn't see myself considering it as a career at this time.

I actually think that one module on the "Fundamentals of Programming" was my lowest grade; so to say I had low expectations of myself at the time is an understatement.

Long Term Intern Connect Event - April 2016

One of the things that attracted me to this degree was that in order to graduate, I needed to complete a year in the industry and gain some real-life experience. I thought this sounded great, as it meant I would improve my prospects when I graduated and started looking for full-time jobs. Win-win, right?

Well, that was until I was rejected from at least 15 different internship roles that I had applied for (seriously). Most of the roles were in operations, I think I even ended up applying for a role in a Bitcoin start-up (before I knew anything about it, so I don't really know what I was expecting).

So, by the point where I interviewed with JP Morgan Chase in Glasgow, I had been relatively desperate to get any job. Sometimes when I mention this to people, they're surprised... which is why I think it's important to include it, as it's a big part of my story. During a half-day onsite interview, one of the questions I was asked is, "do you think you would prefer a role as a business analyst, systems administrator, or application developer?" my response was "wherever you think I would be best placed."

It's safe to say at that point I just wanted any job, but I didn't actually expect to be hired as an application developer. On the first day of my internship back in 2015, my manager said to me that I was going to be developing a Java Web Application using Spring MVC. I remember feeling so overwhelmed, and out of my depth that I didn't think I would last longer than a week. Pretty sure the phrase "oh sh!t, what have I done?!" was uttered more than a few times.

After about four months, the intern project I had been working on was deployed to production, ready to be used by internal users. I would probably cringe looking back on it now, but I did it! Plus, realistically who wouldn't cringe when they look back at their earlier work?

At that point, with feedback from my peers and managers, I started to think that maybe I could get the hang of this after all. I enjoyed playing with CSS (lol, I know, I struggle with this now) and thought I would become a Frontend Developer.

My industrial placement year passed, and as the intern representative for my location, I worked alongside my colleagues in Bournemouth and London to organise the first EMEA offsite for JPMC long-term interns. It was a great event and gave me the opportunity to exercise some of my event management and networking skills to kickstart my career (see photo above).

In my last meeting as an intern; I clearly made an impression 😂

I was offered a full-time graduate role to return to JP Morgan once I finished my degree. During this time my manager moved to their internal cloud space and asked if I would like to join the new team.

This was a no-brainer for me, as I knew some of the team already and accidentally falling into tech in the first place worked out well so far... so why not try again?

While in that team, I joined a support rota for the first time, and on my first shift one of the data centres I was supporting literally went on fire (I might do a separate blog about some of my on-call experiences sometimes).

At some point on this team, however, I felt like I was being painted into a box as someone who only wanted to work on Front-end changes. My interest however was in User Experience (UX), not necessarily only for frontend users but at all levels of the stack. At this point, I didn't know exactly what I wanted to do, but I did know I didn't want to limit myself to one specific area.

After about a year with this team, an opportunity opened up to join a new platform team focused on automating deployments of CloudFoundry to AWS, the people in this team were awesome and despite being out of my comfort zone again (I knew nothing about platform engineering), I took the risk and turns out I really enjoy working with infrastructure!

This team was tasked with deploying the JPMC Platform as a Service (PaaS) offering, which would allow internal teams to securely deploy their applications that supported the bank for all lines of business. We started with deploying CloudFoundry on AWS, and after about six months this focus changed to deploying CloudFoundry on VMWare (NSX-T and vSphere) instead; this added a whole new layer of learning as the project progressed. We successfully automated the deployments of what became the largest CloudFoundry installation in the world, which I think is pretty cool.

There was even one day when we managed to deploy eight platforms at the same time, with only one minor hiccup (who knew getting a 9 and a 6 mixed up when defining CIDR blocks made such a big difference...). In addition to contributing to the automation and configuration of these platforms, I also worked closely with teams specialising in each of the services offered on these platforms (such as RabbitMQ, MySQL, etc), managing the releases of the new platforms and supporting the developer relations efforts with users of the platform.

By the time I had built up five years of experience, I thought it was time to evaluate the direction my career was going. I had spent my entire career until that date with the same company, and I felt it was time that I stepped out of my comfort zone, and tried working for a different kind of company.

I wrote a separate post on "Finding a New Job in Tech" which goes into more detail on the criteria I consider when assessing if I need to find a new role. It was a tough decision for me, but one I feel was worth taking.

My last Zoom call at JPMC

I joined CircleCI's developer tooling team, taking the opportunity to go fully remote and take a leap out of my comfort zone. However, it didn't feel like too much of a leap as I genuinely enjoyed each of the interviews with the team that I would get to work with. This was such a contrast to some of the places I interviewed that I was excited to get the opportunity to work with these people, and I have not been disappointed.

After about 6 weeks in this role, I was presented with the details for a new team: API Joy. Honestly, I loved the name but it was a little vague. It was an initiative to standardise all of CircleCI's APIs by deploying an ingress controller and API Gateway; improving the internal developers' experience of creating new features for customers. Despite having no experience with Kubernetes, knowing what an ingress controller was, or the monumental learning curve I was super excited to join this team.

CircleCI Security Sticker made from Walnut :)

Over a year later, the team has grown and we've achieved so much. Our team is known for the deliberate approaches we take to implementing changes, over-communicating everything we do, detailed decision records, and party corgis.

Recently, I've been promoted to Staff software engineer and I feel privileged to have the opportunity to grow in this role with such a supportive and hard-working team beside me.

So... back to the question of how did I get here?

I'll not do myself the disservice of saying it was luck, but I took the opportunities that were presented to me, and gave it my all... so far it's worked out!

This is my longest blog yet, it's been rewritten maybe ten times over the past few months. If you've taken the time to read this: thank you! I've decided that it's probably good enough, and I don't actively market these anyway so if you've stumbled across this, please do say hi! :)