A day in the life of a Software Engineer at Holland & Barrett

Written on 2nd Mar 2021

A lot has changed for most tech companies over the last year. While we were all working from an office at least 3-4 days per week before the pandemic hit in early 2020, almost everybody works remotely now. At Holland & Barrett, we are in the lucky position to help people with their wellbeing during the pandemic. Therefore, our stores remained open throughout all the lockdowns, but we also saw a significantly increased demand in our digital platform. This is one of the main reasons our engineering team has grown from a small part of the organisation to over 150 people in less than one year - and we continue to grow beyond our wildest beliefs just one short year ago. This article should give you a rough idea of what a typical day in a software engineer's life for the UK's leading health and wellness retailer looks like.

I usually start my workday at 8:00 am with a fresh cup of tea by opening up my email client to check on any issues that might have happened overnight or see if any meetings have been scheduled after I left work at 4:30 pm the day before. Next, I sign in to Jira to check the progress of the current sprint and see if any of my colleagues' tickets are ready for code review, at which point I open up Gitlab to look at open Pull Requests (or Merge Requests, how Gitlab calls them) and see if any of them require my attention. Furthermore, I connect to the VPN at this point to access any of our internal APIs and run code without interruption on my local machine. I typically spend around an hour on code reviews for my peers to ensure all our tickets move along smoothly.

Now is a great time to catch up on Slack conversations that might have happened after I left the day before since our team works flexible hours, and while my workday ends at 4:30 pm, other colleagues work until six or even later.

At 10 am, it's time for our daily standup where our cross-functional squad goes over what we did the day before, what we are planning to work on today and whether there are any issues or blockers that require a colleague to resolve before we can move forward. Standups are relatively quick in our team, and by 10:15 am, I usually find time to focus on actual development work. More often than not, the mornings are free of meetings, which allows us to either work on tickets alone or collaborate with a colleague to do some pair programming or discuss an issue we ran into in our code.

With a short break in between to stretch my legs and grab another beverage, this takes me to around 1 pm – lunchtime!

One of the great benefits of working remotely full-time is sharing my lunchtime with my wife and daughter and cooking a fresh meal every day and depending on how long it takes me to cook, I can either go for a quick walk with my daughter or find some time to play with her.

At 2 pm it's time to get back to work, and if the day is free of meetings, I will try to wrap up my work from the morning, look at my implementation again and see what I can improve, add more tests or pick up a new ticket from the backlog. Most days, there will be a meeting or two in the afternoon, and I try to spend a few minutes before to prepare myself for the discussion and pour myself another cup of tea.

Towards the end of my workday, I make sure that all my changes are committed and pushed, ready for the next morning. At 4:30 pm, I say goodbye to the team on Slack, close my laptop and disconnect from work.