7:52 I arrive at the office and lock my bike up. Even though the 8 mile ride was in sub zero temperatures, I’ve had thinking time to mull over the day ahead and work out what I want to get out of it. For me keeping the team motivated and inspired is so important. Energy and passion in a team are crucial ingredients in software development. It’s not all about technical prowess.
8:06 Showered and out of my cycling gear I park myself up in my team’s bank of desks having retrieved my laptop from my locker. I’ve just moved onto a new team, so a lot of what I’ve been thinking about on my way is about individuals. I’m an analytical person. I’ve replayed conversations from the last couple of days to try and get an understanding of what motivates the individuals within the team. If I can better understand these motivators then I will have a better chance of being heard and understood when I am leading. Technical considerations will also feature in my thoughts as I try and mix the two streams together — tech and lead.
08:20 I’ve gone through my emails, looked in Slack to see what conversations have been happening overnight and looked at my diary to see what meetings I have. It’s not too bad today. Only one meeting — the tech forum where all of the tech leads and architects come together to discuss some of the more strategic issues facing the technical community within comparethemarket.com. The tech forum is something that’s been evolving. At times we have struggled to understand what we should use the time for. As the business has grown significantly it has become increasingly important for the senior technicians to come together and get an understanding of what is going around us. We have a responsibility to designate and ensure that the architectural vision is delivered in a consistent manner across 14 different teams. It’s a challenge, but we have a feeling of cohesion amongst the tech lead community and there is a can do attitude.
Aleksander the Tech Lead
8:46 Emily from the Energy team comes over and tells me that she has no one to buddy on the release. I offer to help and once Matt is sorted I go over to the Energy desks and get stuck in. We start, but realise that we are blocked as there is some on going work in one of the data centres for load testing. Therefore after a few minutes discussion with the peeps from WebOps we defer the release until the following morning. It’s not ideal, but feels like the sensible path. All teams strive for 100% availability and often achieve that level. For those teams that still work from servers hosted in our data centres we have to release to one data-centre, perform some tests and then move the traffic over to the data centre that we have upgraded. Once we are happy that nothing is abnormal on our monitoring dashboards, we upgrade the other data centre and then switch the traffic back over. For those teams that are running from AWS we simply spin up some new servers, deploy and start serving traffic from the new servers.
09:00 Standup time. We do a round robin and talk about what we worked on yesterday and what we are planning on doing in the day ahead.
At the moment I’m in a state of transition as I’m moving to lead a new team so I am acting to support Vish, the tech lead coming in behind me, while at the same time as getting context on the new team. In my time at CTM I have been fortunate to work on a number of teams. I know that for some of my tech lead colleagues this doesn’t work for them as they prefer to stick with something for longer. Coming from a contractor background I have found it fits in with what I am used to. I get bored easily and love new challenges. Whilst I am sad to say goodbye to the MyCTM team, I am excited about the new challenges I face and that I will be working with some different people.
09:15 Immediately after stand-up we have a quick team session to ensure that everyone is on the same page concerning some business rules. It’s so important to make sure that we agree the words we use to describe things mean the same thing to everyone. Communication is such a key ingredient in a team. Recognising when it’s not happening is something that I strive to improve on.
10:00 Tech Forum time. Given it’s half term there are a number of people off and therefore decide to keep things short and sweet.
Therefore I follow up on something I have been thinking about over the last few weeks. Motivation within the development community is so important. For many of our developers something that drives them is recognition. Potentially this comes from a number of areas, but it’s vitally important for many that they can see they have a career and they are able to develop personally. As a largish business it’s important that we give direction on the skills and abilities that are important so that we can develop alignment. To aid in this we have a skills matrix that we use to rate people and also to communicate the depth of knowledge that we expect people to have acquired for different job levels. I have been working with a number of developers to make sure we correctly benchmark where they are and to help them then work out areas where they need to concentrate on.
As a tech lead things are often fast paced and it’s important to be able to be organised and to try and fit things in when opportunities arise. These days I prefer to read a lot more code than I write as I find that I can add more to the team this way. As I have developed as a tech lead I have seen the value of positive encouragement, rather than negative criticism. In my early days I think that in my desire to impress those above me, the focus of my drive was very much about delivery and that would lead me to look at the way that other people do things as blockers and breaks. These days I have come to learn that the best way to deliver is to motivate those around you and allow them to do their job. In tech we are lucky enough to work with intelligent people. Where else are you mixed in on a daily basis with physicists, computer science grads, barristers and fashion marketing and branding grads. It’s an exciting eclectic mix of individuals.
11:30 An alert fired indicating there has been a spike in 4xx responses from one of our services. I investigate and establish the cause and alert the project manager of the team concerned.
11:39 I have an hour and 20 minutes until my next meeting. The team seems settled and focused this morning, so I will take some time to focus on some of the bigger picture things I have been working on and try and move these forward.
12:30 Lunch time. I grab a salad and have a catch up with Salman who I’m lucky enough to be coaching. He’s a graduate on a 7 month placement within CTM. Intelligent, driven and picking things at a very impressive rate. We discuss a small application that he is working on to help graduates decide which programme is appropriate and he needs to find a way of running the application on a tablet. We discuss potentially using NodeJs to serve the pages from either an iPad or Microsoft tablet, partly as a learning exercise but also to try and work out a solution. We also discuss him doing a showcase of what he’s done to the wider community within MyCTM.
Salman the Grad
12:50 Over the last six months MyCTM have been developing a pre-population service that should mean that customers only answer a question once. In theory this should be a fairly simple thing to achieve but we have a degree of structural technical debt that makes implementing some of the business scenarios complex and in order to do this we have to develop micro service based APIs and move parts of our legacy application behind these interfaces, so that we can introduce new features in a reliable and low risk way. The introduction of micro services has allowed us to monitor and analyse our application in a way that would have been nearly impossible in the past and this monitoring is showing that in some circumstances when data is saved
15:30 Time for the MyCTM end of sprint retro. The last few sprints have been challenging as we’ve been facing into team changes
16:40 I notice that Rob, PM on the Energy team is at his desk and I go over to have a chat. We go through some of the things that we think it’s important that I get up to speed with first. For me understanding the team dynamic, where the pinch points are and the technical challenges we face is critical. There’s a danger that I shoot from the hip before I’ve properly listened to everyone. That’s something that I probably would have done a few years ago as I worked out who I needed to impress above me and what their drivers are. These days I am much more circumspect and try and recognise that it’s vital that I don’t impose and manage, but strive to lead and allow those around me to work it out for themselves. My job is to facilitate and help people align and come together. Being a tech lead for me is about balancing the tech with the lead.In many ways the tech bit of the job is the easy part. Helping to bring together a group of disparate people to collaborate and develop a piece of working software is a rewarding thing. These days I see that’s it’s not all about me and how quickly I can bang out some code in isolation, but that it’s about the team and solving problems together.
Rob the PM
16:57 Time for Home, the brain buzzing..
17:10 As I cycle home, I reflect on my day and remind myself of the great people I work with and how I feel motivated and excited about what I do for a living. It’s not really work, it’s more of a passion that I’m fortunate enough to be paid for.