Moving out of your parents' home is a big step for any young person to make - couple that with also making your first job change in your career and you’ve already got a momentous occasion in your life. Trying to do both during the first pandemic of the information age would be silly right?
I should preface this article by saying that this is my experience as a 23-year-old software developer in the early(ish) stages of his career. This article is for people that may be in the same situation I was in nearly a year ago or people that may be thinking about a career in software development.
Hitting a ceiling
I didn’t go to university to study Computer Science like my friends due to health reasons, so I decided to stay at home and start as an entry-level developer at a local software development company in South Wales (Pembrokeshire).
The company was based in the countryside and aimed high when it came to the level of clients it managed. This meant I was able to immerse myself in an environment that required me to learn quickly. I started as a pure backend developer working in ASP.NET MVC and SQL. However, due to the nature of the team and the requirement for a diverse skillset, near the end of my time there I had become a full stack developer with experience building databases, mobile applications, Single Page Applications (SPAs), and management systems.
Moreover, again thanks to the nature of the team, and despite me being barely 20 years old, I’d been trusted with leading a project for a local charity from the initial design stage all the way to delivery, as well as subsequent phases of development after initial delivery. This gave me the opportunity to learn the more nuanced skills required from a developer, such as:
- Specification writing and amending
- Discussing scope and features with clients
- Turning "programmer speak" into a language that anyone could understand
I have a lot to be thankful for and I wouldn’t be where I am today without the opportunity my previous company gave me, which made the following section so hard.
Around October of 2020, a strange feeling started to build in the back of my mind. A feeling that my development was slowing down. At first, I chalked it up to it just being a normal lull. I’d just finished a big project that had taken me several months, so I thought that it was just my mind wanting to be back in the headspace of building something.
Unfortunately, the feeling didn’t subside. The more I looked at where I was as a developer the more, I realised that I wasn’t working at the level I wanted to be. Since I started, I’d always loved using the latest technology and this was an attitude shared with a couple of the other developers I worked with. However, because the development team wasn’t very large (not a lot of software developers in rural South West Wales believe it or not), we couldn’t afford to take time away from development work to train on the newest frameworks/techniques.
Should I stay or should I go?
To anyone that isn’t a single software developer in their early twenties, the idea of leaving their job and moving house during a pandemic would have been brash, to say the least. However, I realistically had nothing to lose and perhaps a lot to gain. That didn’t make coming to the decision any easier though.
If I stayed, I knew that I had the support network of my family and childhood friends around me. If I was 100 miles away, despite all my efforts, it would be a lot harder to keep these relationships strong. Moreover, from a mental health point of view, the ability to disconnect from work after having a bad day is a lot easier when you have your parents, siblings, and friends at arm’s length. I knew that if I moved out, I’d be alone and that because of the person I am, it would be a lot harder for me to disconnect.
There was also the financial aspect. If I stayed, I knew that I’d be able to save more money than I would if I left. I had a couple of friends tell me it was better to just sit tight and use the extra savings when the time came to move out. However, I didn’t want to move away to earn more money. I wanted to move away because I wanted to learn how to do things ‘properly’.
I also had to think about how I would cope in a new team that was going to be remote for the foreseeable future. The relationships I had built with my previous team had been built in the office before moving to remote, so I had no idea how easy it would be to incorporate myself in a new team that would only know me from the chest up on video calls. I didn’t want to feel any more isolated than I would already be feeling.
Nevertheless, when it came down to it, I knew that I needed to capitalise on my feelings. I knew that if I didn’t make the most of the motivation to move on that I had, I might never do it. There was a real chance that if I stayed for much longer it would have a detrimental effect on my growth as a software developer as my skills could fall further behind the industry.
In addition to making the most of the motivation, I was (and still am!) young. I wanted to move away from somewhere that I’d always known and experience a bit of the unknown. I am lucky to be in a career that enables me to travel pretty much anywhere in the world, so it would have been a shame to have that capability and stay in my hometown.
Job hunting in a pandemic
In hindsight, the fact that I’d never actually changed jobs as a developer before probably played into my hands during my job search. I didn’t know what the process was like before the pandemic, so I had no inclination if the process was better or worse because of it. That said, there were some… interesting… experiences I had during the many interviews I found myself in.
Firstly, it is hard to build a rapport with an unapproachable interviewer. There were many times where I would sit on a Zoom call staring at my own camera feed, talking to a pair of initials and wondering if I was talking to a human and not some AI chatbot. I realise that sometimes it might not be possible to have a camera on during an interview, but interviews where cameras were on felt a lot more positive than when they weren’t.
I also had my first experience of ‘take home’ projects, which were something that I wasn’t quite prepared for. There seemed to be a wide disparity in what different employers expected of you during these tasks. I was either asked to:
- Put together a simple system that demonstrated my knowledge of basic software development principles, or
- Build and host an entire system from scratch complete with documentation
There didn’t seem to be a middle ground and I found myself losing interest in the job I was applying for after being given such a demanding task to do with limited spare time.
Rock Solid Knowledge
Out of all the interviews I had (around 10-15) one stood head and shoulders above them all. Bet you can’t guess which company that was?
During my first interview for Rock Solid Knowledge (RSK), I was relieved to find the interviewer had a camera on. The interview was an informal chat about:
- Who I was
- What my interests were
- My career up to that point
- What I'd want from a new role
There were some questions around my CV that were structured in an interesting way. First I was asked about a particular topic (say asynchronous programming) at a basic level, then if I was able to answer a simple high-level question, I’d be asked a more probing question. This process continued until I didn’t know the answer, wherein the interviewer would then inform me what it was, and we’d carry on. Asking questions in this way meant that when I inevitably did say “I don’t know that sorry” I didn’t feel stupid because I had already answered questions up to that point. I imagine this also gave my interviewer a far better understanding of where I was developmentally too.
The take-home project for Rock Solid Knowledge was also a breath of fresh air. In an interview for a previous job the same week, I’d been asked to develop a fully-fledged API, complete with documentation, a README, a GitHub repository, and Docker image. For free... In contrast, the RSK take-home project was a simple demonstration of using Test-Driven Development (TDD) to create an isolated system .
During the second interview we went over the implementation of my take-home project which we were able to cover in its entirety due to the small scope. I was asked questions on my coding style and the choices I made during the development process, and given some minor improvements which were useful. At this point I was introduced to another member of the team who also asked me questions in the same style as the first interview. There were the customary algorithm questions but as opposed to other interviews, I didn’t feel like my opportunity at getting the job hinged on my ability to figure out P!=NP…
That was it. No further 8 interviews just to be turned away because you made a mistake in the 4th. No one-on-one interview with every member of the company. Two interviews and a take-home project.
Now I don’t know if this interview process would be any different if we weren’t in the middle of a global pandemic at the time. I’d hope not, as I went away from the second interview at RSK with a renewed sense of optimism and drive that I was making the right choice - even before I knew if I’d got the job.
A few days later Rock Solid Knowledge offered me the job! But now I had to think about fitting into a team of strangers while working from home.
Fitting in and going back to the office
The first thing I noticed about the culture at Rock Solid Knowledge is the level of respect between all the developers. I was apprehensive during my first couple of weeks here because I assumed that I wouldn’t be respected due to my age and experience. I concluded that I’d be ‘just another new hire’ and it would take time before anyone asked my opinion on something. I couldn’t have been more wrong. Within the first few days, I was treated as if I’d been a developer here for years.
Moreover, I’ve been blown away by the amount of effort and time put in by the directors to ensure that everyone has the facilities they need to do their job at home. Whether that’s providing equipment, training, or support - I haven’t felt isolated at all despite only being in the office a few times so far.
You can tell that one of the most important traits here is an openness to learning and respect. I’d heard horror stories from friends about other companies where developers would accost you for naming a variable incorrectly. But in my time working as part of the AdminUI team, I’ve developed great working relationships with my team as well as my manager. You really get the sense that everyone at RSK wants to see each other do well and will do what they can to see that come to fruition.
So, when it comes to thinking about going back to the office - there really isn’t anything I’m worried about. In the 9 months I’ve been working remotely I haven’t felt like I’ve missed out on developing those interpersonal relationships with the other developers. So, when we’re back in the office, the only difference will be I can see what shoes they're wearing that day.
Finally, directors have built a culture at RSK that enables individuals to grow both as developers and people. It doesn’t really matter if people are 50 miles away from each other or 5 metres, the result of the work will be the same.
So, there it is, my journey from working in my childhood bedroom in South West Wales to working for RSK in a flat that’s surrounded by things other than sheep and tractors.
If you take away anything from this article, I’d like it to be that if you do find yourself in the situation I was in, whether it be your first career move or if you’re hoping to get into the industry, the most important thing to look for in a company isn’t the money or the reputation. How a company views its employees as people, as well as how they view you as someone hoping to join them, should be the number one thing you’re looking for. Good companies will nurture and respect you regardless of who you are, where you come from, or what your experience is.
If you like the sound of what I’ve talked about in this article, you can check to see if Rock Solid Knowledge are hiring here. Who knows, maybe one day you’ll get to write your own article like this.