I was recently approached by someone from the People Team here at Cleo. She asked me some questions about my time with the company so far – it was a great chat! Somehow, the conversation ended with me volunteering to write this blog post...
So here I will outline some of my experiences at Cleo both pre and post-employment. Hopefully this will help someone out there to get a clearer idea of what they can expect from life as a junior software engineer, and/or life at Cleo.
A bit about me
After I finished my anthropology undergrad at university, times were tough and weird (pandemic panic and career confusion double-whammy) and I ended up working as a chef at a little breakfast cafe, while improving my animation and graphic design skills after work. I decided I wanted to make a website to showcase the design stuff I had been working on, so I started learning web development using Youtube tutorials and free courses. I then realised that web development was actually really interesting to me. I also realised that my tiny smooth brain could not handle teaching myself how to code! So, I eventually decided to do a web development bootcamp, after which I got my role at Cleo - I’ve been here just over three months now.
After the bootcamp, I was applying to a lot of developer/software engineer jobs, but Cleo stood out as the company I really hoped to work at. They were transparent about salary bandings and progression - you can see them here. They also had a mission and values with which I felt aligned, and even had an amazing blog about life at Cleo (lol). I did some thorough research and spent a good amount of time on my application, and got through to the interview stage.
The interview process was enjoyable. The process was transparent, so I knew what to expect from each stage and the people interviewing me were warm, encouraging and generally had excellent vibes.
I was confident in my preparation, and I’ve always enjoyed meeting new people, so the discussion interview stages were not too stressful. However, it was to be my first time doing a pair-coding interview, and I was nervous, especially considering I had only just finished learning the fundamentals of coding. The interview turned out to be pretty painless, and I really felt like everyone was rooting for me. I actually found myself enjoying it by the end – shoutout to all of my interviewers!
After a nail-biting couple of days, I was told I had the offer. I was asked what salary I was expecting, and I said somewhere around the middle of the band. This is because on one hand, I have no professional experience in this field. On the other hand, I have Good Vibes. I was given what I asked for with no push back, and I was all set to start my journey with Cleo!
What I’ve learned so far
I’ve now been at Cleo for a few months, and I feel that I’ve settled into my role well. Here are some of my key takeaways:
People work differently
People’s ways of working in terms of workflow, tooling and setup are varied, and it can feel overwhelming to try and figure out what’s right for you. For example, there are many different Interactive Development Environments (IDEs) you can choose to write your code. I learnt how to code using VS Code, but now use RubyMine because my Tech Lead showed me some useful features that it has. Another engineer on my team then advocated for VSCode, with its many extensions and simple interface. I also once paired with a more senior engineer who was using Vim. It looked to me like he was hacking into The Matrix…
There are also different ways of using the version control system, Git. Some people prefer to type it out in the command line (where there are several different ways of achieving the same thing), others prefer to use built-in IDE Git tools, and some people use 3rd party Git interfaces.
Every time someone with experience has casually revealed a tool that they use, I wonder whether I should be using it too. It feels impossible to know whether you’re being as efficient as possible.
My advice is to learn about as many different ways of working as possible, but also just trust the process and don’t agonise over the specifics. I’m nowhere near experienced enough to know exactly which features I want out of an IDE yet but I trust that someday I will. When that time comes, I’ll be able to make informed decisions about tooling. For now, I’m just going with the flow and using the tools that allow me to get the work done.
You make your own growth opportunities
You can progress as quickly or as slowly as you want or need to. There are guidelines given for how long an engineer might expect to remain at a junior level, but individuals have a high degree of control over their own progress, especially at Cleo.
Recently as I’ve felt more comfortable with the fundamentals of… doing my job, I’ve wanted to take on larger chunks of work, or work on a series of things that constitute a domain in the codebase. I’ve been given the support and encouragement I need, and still have access to people who seem to drop whatever they are doing to help me! This makes progress feel very natural. I feel in control of the work I take on, and have the opportunity to impress by taking the initiative on scouting out potentially valuable work that could be done, or fixing an issue I’ve come across.
This also comes with the potential to make you feel like you can always go above-and-beyond and take on more work than you can handle. It’s been important for me to aim for slow, steady progress where it feels natural, over the ‘I can always do more’ attitude, which can lead to burnout.
It is hard to feel incompetent, but everyone is really nice :)
Going from my little bootcamp project to a real life Actual Thing was very daunting at first. I still feel like every day I encounter code that doesn’t match anything I’ve seen before, and every day my brain hits capacity for the amount of new things I can understand and retain. I’ve struggled a lot with impostor syndrome, and it really sucks when someone explains something to you, and you say “yeah I get it”, and then they hop off the call and you realise you did not, in fact, get it.
However, the people here at Cleo (the Cleople if you will) have made every effort to ease my anxieties. What is expected of me is clear. There is no shortage of people to whom I can reach out if I’m blocked on something. I have ample access to my manager, who helps me to set my goals for development as an engineer, and progress within the company. I’m also constantly reassured that as long as I am trying my best, I am doing just fine. One of Cleo’s workplace values is ‘Bring Good Vibes’, and it is a value I have absolutely seen espoused in the people around me.
Let’s wrap this up
My coding path has been a short one so far, so take any advice here with a barrel of salt, but I really have had an amazing few months at Cleo so far. My brain hurts often, but in a good learning kind of way, and I feel respected and valued in my role.
I hope this has helped to shed some light on life at Cleo as a Junior Engineer!
p.s. here is some important stuff that didn’t fit anywhere else:
- There’s a table tennis table in the office
- There’s a little chair for the office dog, Goose, to relax in
- I won funniest costume at the company Halloween day