Wednesday’s we have our team breakfast at 9am. Everybody gets a coffee and a pastry from Hopper and the breakfast host directs 30 mins discussion around a set of questions submitted earlier in the week.
This week, we spend some time discussing what people think are the company’s greatest achievements this year – the success of the sales team in distributing the agent app, the introduction of the chat feature and the first end-to-end transactions through the renter app are among the highlights mentioned. Then we spend some time discussing Freddie’s Movebubble highlights as he is leaving on Friday. They seem to involve a fair bit of getting on tables and giving speeches. Freddie is possible the most passionate person I know. Finally we talk about the meditation sessions that Sunil and Laura have been running every morning at 9.15 – how are people finding them? Laura says that she thinks they help her be more productive. I haven’t tried them yet; I’m rarely in by then, though that might change now I have the new bike.
We do our standups after breakfast, my main focus for the day is to finish testing the API endpoints I set up the day before and then get set up to do some app development. I haven’t worked on either app since before Xmas and I’ve inherited a new machine since then, so that means downloading and installed Android Studio and the other dependencies for developing with React-Native on windows. Foolishly, I think this is unlikely to take more than a couple of hours.
There’s a design hangout at 10:00. This is a session which Simon (head of design) runs every Wednesday morning, to try and tap into the collective creativity of the company and crowdsource design ideas and feedback for problems that he and Sunil are working on. This week we’re focussed on our offers flow. We want people to make more offers in the app and we feel that our current flow is not as good as it could be and so Simon is trying to put together some ideas for how we can improve it.
I don’t always attend these sessions but as I had a productive day on Tuesday I feel like I’d like to be involved in this one. In previous sessions we’ve done something called crazy 8s, where you sketch 8 different ideas on a theme in a short space of time and then vote for each others ideas, kind of like design brainstorming.
This week though we’re doing the 6 hats. We start off by identifying what we know and what we would like to know about the existing offers flow, then how we feel about it, then identifying the positives and then negatives. We don’t get to hats 5 and 6 in time as we’re running out of time, so we move straight into sketching our our ideas on A4 paper. We run through each of them, commenting on what we like about each one (Simon likes the UI component I’ve drawn for selecting pets as well as people as potential inhabitants) and then we hand them to Simon. He may not use what we’ve done, but hopefully it has fed into his creative process and it’s a chance for the rest of us to do a little creative thinking which I find can help to break up the week.
We finish at 11:02, at which point I have a couple of emails to respond to. Jack is asking for feedback on which areas of our tech stack we think have improved in health and which ones have deteriorated and whether there are any areas that we feel we should be focussing on. We’re currently in the process of trying to improve the technical quality of a lot of our existing stack, by improving testability, updating frameworks and breaking things up into smaller components and microservices. It’s hard to find time to do all of this however when the business still demands we press forward at breakneck velocity, so any gains are gradual. We have succeeded in breaking out two or three of our core business features into a smaller services; these have varying degrees of health.
I then spend the next hour testing and deploying my suggested property API code. It all seems to just work, though I will wait until the other team members start using and testing it before declaring it complete, so there’s time for a coffee break and I’m ready to get started setting up React Native Android by midday.
This is where my day starts to go downhill.
Firstly, Android Studio is a behemoth. The basic package is 1.8GB and our internet connection is still pretty slow. Furthermore, I don’t have an SSD on my current dev machine and the disk feels like it is slowly deteriorating; I’d really like to replace it but I’m not sure it’s quite at the point where I can justify that to the accountants. What that means is that both download and install have pretty epic timescales.
Once I do finally get it installed I discovere that it doesn’t have most of the dependencies that I need to work with React Native. I need a specific version of the SDK, plus a specific set of Android Images for the emulator, the SDK tools and a couple of other packages on top. Downloading these takes even longer; I start the process are 14:30 and I’m still waiting the little green bar at 17:00.
In the meantime, I decide to get on with some other work that doesn’t strictly fall into the sprint. First, I need to sanitise the backlog. It’s been growing since December, without anybody really paying much attention to it and now that I’ve taken responsibility for our sprint board it’s something that I really need to get on top of. There are 150+ items in it when I start; an hour later, I’ve managed to closer about 20 as duplicate or done and move another 70 to an ‘Ice box’, for tickets covering stuff that we do want to do but which doesn’t contribute to the current business priority and so isn’t likely to get done any time soon. There’re more pruning I could do, but in the process of doing so I’ve identified 2 or 3 bugs that it makes sense for me to tackle now, so I attempt to do so.
I don’t quite get the time however. After a couple of brief discussions about introducing Code Push (a tool which will allow us to push updates to our app a lot faster in production), Laura has noticed some issues with system messages in the API which require attention. I sit with her for around 30 minutes while we go through and diagnose them, until we reach a point where testing becomes more problematic and so I retreat back to my desk to set up a test environment and follow up.
By 17:20 I’m got my test setup running, and an hour later I’ve diagnosed and fixed the problems. But now we’re having trouble with Teamcity (a Java update has caused problems) so I can’t deploy immediately. In the meantime, the Android dependencies have finally finished installing and, fingers crossed, I can make a start on some UI tickets.
I can’t get it to work though. There’s an error message about being unable to find the right version of tools and I have zero expertise in this area with which to debug. I’m not feeling great either and my brain isn’t functioning at 100%, so I decide that it would be best to debug this and the Teamcity issue in the morning.
It’s not been a satisfactory day; after a full day of productive on Tuesday I feel like today I’ve achieved very little and I’m going to arrive in the following morning with a number of unfinished tasks. I spent a bit of time shuffling cards around the sprint board before I realise that it’s time I just stopped working. 5-a-side football will put me in a better mood.