My working day starts at 5:30. I get up and head out for a run before settling into the rest of the morning.
In cooler weather, that can mean canicross with my Labrador in the forest. In warmer weather, I take the road route through the Suffolk countryside. My usual loop is 6.7 kilometres. Running is already woven into the day, before I have opened a project or read a message about one.
Afterwards comes a shower, feeding the dogs, coffee and breakfast. I read the news and watch videos about programming, AI or running. Those interests tend to follow me from one part of the day to another.
Getting the day into order
By around eight, I am in my home office, looking at the work ahead. Writing code is part of it, but the first job is to check whether the websites I work on are behaving as expected.
Then comes the inbox: bug reports, client questions and requests for new features. Some need a quick response. Others need time set aside to understand the problem properly.
I use Todoist to organise the work before the team meeting. The quieter part of the morning gives me a chance to deal with overlapping tasks and decide what needs attention first. I can consider new work alongside what is already in progress, rather than keeping a separate list in my head.
The code itself varies between HTML, SCSS, PHP, Timber and Twig, and JavaScript. Moving between those parts of a site means repeatedly checking what I expect something to do against what it is actually doing.
Talking through the work
Our daily stand-up is at eleven. We discuss the plans for the day, where someone needs help and anything unusual we have encountered.
That conversation helps me choose where to spend my attention afterwards. A problem that looks isolated in my own task list might connect to something another developer is doing. Sometimes a short discussion supplies the missing detail; sometimes it shows that the work needs to be broken down further.
After the meeting, I try to take on the larger tasks while I have a clear view of them. There is satisfaction in getting a difficult function or layout to behave, even when the route to it involves more debugging than I expected.
Making space to run
Midday can include another run around the same 6.7-kilometre loop. Occasionally I stretch it to ten kilometres, which leaves very little room in the lunch break.
The work fits between the other things I care about: the dogs, being outside and having something physical to do away from the screen. That is as much a part of my day as the development tools I use.
Returning to a problem
The afternoon means getting back into the context of whatever I have left open. Being able to pick up a task again matters when several pieces of work are moving at once.
Experience helps, and so do other people. A colleague might recognise a problem, know a suitable plugin or suggest a way to approach a feature that I had not considered. Clear communication makes that knowledge useful across the team.
Scoping future projects is another part of the job. Even familiar types of website have their own constraints. We need to break a request into understandable pieces and talk through the parts that are still uncertain. A plan gives us something to work from while we resolve those details.
Learning alongside other developers
When a junior developer is stuck, I try to begin with the problem: what input are they expecting, what output do they want and how are they trying to get from one to the other?
That takes longer than supplying a line of code. It also gives us something useful to discuss. I want them to be able to reason through the next problem, as well as leave with a fix for this one.
I started learning outside school in year seven, through small projects and experiments. Remembering that helps keep the conversations in perspective. There is a lot I once found confusing too.
By late afternoon, there may be time to explore a framework or experiment with Laravel or React. Those side projects give me room to try something without needing it to become a finished client feature that day.
At the end of the day, I look at what has moved forward and what needs attention tomorrow. Some days the progress is a completed feature. On others, it is understanding why something has failed. Both are part of the job I am trying to get better at.