future legacy code

What are you doing here?

Published on

7 min read

Authors

I remember the feeling when I got my first programming job. I had graduated uni a couple of months beforehand and my previous job experience pretty much consisted of collecting trolleys at the local supermarkets. The idea that I was getting paid to write code all day was ridiculous to me.

I absolutely loved it.

In hindsight, I was incredibly lucky to fall into that job. When I finished uni, I was slack about looking for a job and I got the opportunity through a family friend (Nepotism baby!). The interview process wasn't particularly rigorous and I slumdog-millionaired my way through a couple of the harder questions.

It also turned out to be a great company to work for - the dev team were all strong and the company was in the process of landing a big contract, which meant most of their effort was being spent on writing the demoware for that. I ended up managing the dev for their HL7 messaging system as well as getting to spend a bit of time on the new shiny.

We ended up winning the contract which meant they had a big pool of money to spend re-writing and extending their core product. The dev team grew significantly in a short period of time and we even had to bring in consultants to increase our delivery capacity. All of this was another huge stroke of luck for me as I got to work with a group of incredible developers. Some of the consultants brought in were Microsoft MVPs, others had written some of the core libraries we were using and the rest were all quite well-known within the local development community. It's hard to overstate how much benefit it is for a junior developer to get to work closely with a group like this.

I wasn't aware of the idea of imposter syndrome. For me, I was just happy to be getting paid to write code and learning from some really smart people. Looking back, I feel like maybe I should have been more intimidated but at the time it just felt like an amazing opportunity.

Unfortunately, as is quite often the case, scaling up the size of the team so quickly did not increase the delivery capacity of the team. Having spent the last year or two writing just enough of the software to get to the next demo, the company didn't have a plan for what the actual application would be. Over the next 6 months, the team gradually disintegrated - many of the new developers left and the number of consultants was heavily scaled back. Eventually, the company decided to try and customise an off-the-shelf product rather than developing a new application to fulfill the contract. The remaining team members saw the writing on the wall and started to look for new jobs.

Some of the developers ended up going to work for the consulting company. I felt like I was way too junior to work for them (even though by this point I had been promoted to intermediate developer - whatever that means) so I went to see a recruiter, did a few interviews, and ended up getting a mid-level developer job another health company.

A few months passed and I wasn't particularly happy in my new role. One day when I was chatting to one of my old colleagues who had gone to work for the consulting company I mentioned that I had thought about applying there but I didn't feel like I was "senior" enough to work there yet. At the time, the way you applied for that company was through a website where you entered your email, they then sent you a code puzzle which you then had to complete and return.

My friend entered my email into the website.

To my surprise, I passed the code puzzle and got an interview. When the interview came, I thought I did okay but probably not well enough to pass. My impression of the skill level of the consultants at this company was so far above my own, more like something I would aspire to one day get close to rather than anything I could realistically achieve. So it was an even greater surprise when I was offered a job a few days later.

The next few months were honestly quite surreal, I got to work with even more insanely smart people - some of which have gone on to senior positions at successful software companies in Australia and in the US. The company could be a little bit "cliquey" at times, especially at large company events. There was definitely a part of me that felt like I wasn't good enough to be working there and that I had somehow slipped under the radar but I certainly never got that impression from anyone that I was working with and so for the most part I was able to silence those thoughts.

When the company Christmas party came around, I was a bit anxious but mostly because I'm not great at parties, especially when I don't know many of the people there. It was fine though - it was a party full of developers, most of the people there probably felt the same. Later in the evening, I was sitting around with a group of my colleagues and one of the consultants who I had worked with previously when he was a consultant and I was a junior dev turned to me and said,

What are you doing here?

I don't know how he intended it, but the way I heard it was "You don't deserve to be working here". Maybe he meant it as a joke, maybe he meant something entirely different, I really have no idea. At the time though, I can honestly say that I was never completely comfortable working for that company after that. In my head, the fact that he said it meant that everybody else was probably thinking it as well.

It honestly feels a bit silly to be writing this now. It was such a small thing - much worse things have happened to people, that's for sure. I think the reason I felt compelled to write this is that it is now more than 5 years later and I still think about it every now and then. I've been a part of heaps of successful projects since then that have given me the confidence in my own skill set to the point that I don't feel like an imposter too much these days.

I ended up leaving that company about a year after that (for unrelated reasons). While I was there, I got the opportunity to work with some of the best developers in the industry and work on some interesting projects. For whatever reason though, I never really felt like I fit in there and I'm sure that comment was part of it.

Fortunately, I got lucky on my next job and am still working here almost 6 years later. I hope (and I think), we create a really welcoming environment for our team but I know it still takes time for people to really feel like they belong. Imposter syndrome is a very real thing that many of us battle with and it only takes one small, seemingly insignificant thing that tips the scales the wrong way.