An Apprenticeship at uSwitch

Hello! My name is Charlotte, and I've been a developer at uSwitch for three months. I've passed my probation and I wanted to share my experience so far.

My entry and position at uSwitch is unique. When my friend (now colleague) suggested I apply at uSwitch, I hesitated. All the open positions were calling for senior developers. Being self taught and working as a developer for only two years, I knew I wasn't yet at senior status.

After meeting one of their recruiters at a conference, we stayed in touch and they asked me to send my CV over. To cut a long story short, I got the job. The head of front end development here said it would take only a year for me to be at the level that was needed and we are calling this year an "apprenticeship". On top of that, uSwitch wanted to see if front end developers could work on rotation, switching between teams every few months. I'm taking that task on first, to see if it will work, and to expose me to all the different parts of uSwitch.

The Apprenticeship

In the very beginning we set one month, three month, 6 month and 12 month goals (known as "Objective Key Results"). The overarching goal is to learn a lot, learning what is not only important for the company; but for myself, too.

For the first month I sat with our head of front end, getting to grips with how uSwitch works and diving head first into implementing our recent rebranding. This was initially overwhelming as I went from working on internal tools at my previous job to having to deliver something for all of our customers.

Looking back it was great to dive in and have to learn lots of things by a certain deadline, it helped me focus and get exposed to lots of moving parts. I was deploying ECS (Amazon EC2) containers and working with nginx server side includes (SSI's) every day, having never done these things before.

uSwitch before the rebrand
uSwitch after the rebranduSwitch after the rebrand

Next, I worked on building this very blog. Given some great designs, I implemented the theme from scratch. What was nice about this was that I didn't have to match the designs exactly and I had the remit to make changes that I felt were needed. I've not owned a product before so this was a nice experience. Front-end development is my primary strength, but I had opportunities to learn new things when it came to productionising the blog (nginx, load balancers, docker; oh my!).

I started my first rotation in February, with the car insurance team. We dove straight in and started creating a new feature for our product. With this I got to do market research, present my findings, improve my JavaScript and write Clojure for the very first time.

One of my main goals this year is to put accessibility at the forefront of our work. We're not an accessibility disaster, but we're definitely in need of improvement. Rather than go in and fix everything myself, I've written a guide on how to do accessibility testing, we've set up a dashboard to monitor our accessibility and I audited our car insurance product.

Our accessibility dashboard

I've also presented a talk to the wider company on five small things we can do to improve our accessibility. It's going to be a long journey, but we've gotten off to a great start.

A slide from my accessibility presentation

What I've learned about myself

Rotating across teams is hard. It's safe to say I'm quite a nervous person, and having to start fresh with a new set of faces at a new desk every few months is nerve wracking. Now that I've done it once, I am confident each subsequent rotation will be much easier.

In my probationary review one thing stood out: I need to have more confidence in myself. I tend to avoid pair-programming because I worry about not being good enough for my pair partner. Every pairing experience I've had here has been positive, but I have a bit of a way to go before I stop reaching for my solo-programming-time.

I've also learned that I need to be more pro-active. In my previous job I settled into a position where I picked up a ticket and did the thing. I've started to come up with my own ideas, create my own tickets and push a more accessible way of thinking to anyone who will listen.

In summary

My first three months have been a wonderful experience. My programming ability is improving massively as each week goes by and I'm excited to see what kind of developer I am by the end of the year.

This apprenticeship is really successful, and I'd like us to take on other junior developers, offering them the same experience. I'm really looking forward to the future.