Hi, my name is Khalid and I’m one of the new associate engineers at Wejo.
As part of their big recruitment drive this year, Wejo have made sure to get local graduates from Manchester.
My interest in programming only came about in the previous year or so. I have always had an interest in tech and a familiarity with computers as I was an avid PC gamer as a teenager, but I left university with a BSc in Genetics. It’s only recently, with the growing number of online coding courses and increasing accessibility to getting into the tech industry, that I considered pursuing a career as a software engineer.
Like many software engineers, I enjoy the problem-solving aspect and the continuous change in projects and problems that come my way. Since I started my time at Wejo, no two days have been the same.
I am only 4 months into my career at Wejo so the majority of my time right now is taken up with training and self-development to become a fully-fledged engineer. I split my time between working on projects with more experienced engineers and learning new languages and technologies where I can.
A typical day for me looks like this:
I start my morning with a green tea and boot up my laptop to review any email and slack messages. I have 30 minutes before my first stand-up meeting for the day, so I use this time to review the previous day’s work or watch some educational videos – these are usually guides to develop my skills in a specific language (we use Scala at Wejo), guides on technologies I’m not familiar with or talks from software engineering conferences.
As I’m a graduate, I have been involved with a few teams now, and will continue to move around other teams to learn more about the business and pick up any experience I can get. These stand-up meetings are vital as they are an opportunity for the team to review the progress of the project each day, to coordinate work and to assist each other where individual members might need help.
After my meetings are finished, I’m ready to get on with my tasks for the day. The most important part of this time is setting up a playlist to set the mood for the day while I crack on with my work. On Wednesdays before lunch, I will meet up with the other graduate engineers to tackle some coding exercises together so that we can develop our coding skills. Tackling these exercises as a team means we can share ideas, learn new tips and tricks from each other and helps build our communication and teamwork skills. Most often you’re pairing with another engineer when you’re working so this is good practice for us as we get used to coding in the professional world. Afterwards I have lunch where I might also partake in one of the lunch-and-learn sessions put on by the company.
As afternoon approaches, it’s usually around this time that I’ll hit a problem that I can’t find a solution to. I’ll pair program with another engineer to help me out. Due to my lack of experience, 9 times out of 10 my difficulty in finding a solution is just from lack of knowledge. It really helps to have an experienced engineer tell you about how to use a language in a way you didn’t know it could be used before and give you a real-time demonstration too. However, sometimes the problem might just be particularly difficult to solve and requires two minds looking for an answer. Pair programming not only helps introduce me to new ways of coding, but it can also bring a fresh pair of eyes to my code with new approaches to the problem I’m facing.
As the end of the day wraps around, I usually push my code to Bitbucket for a code review. Engineers across the company are free to comment and suggest improvements. As a newbie, I usually get a fair few but it’s another helpful and important process in my development and to make sure I’m producing professional and high-quality code.
Every day brings new experiences and new challenges to face. It’s great being in such a dynamic role where I’m constantly learning and I can’t wait to see what my time at Wejo will bring.