I’m finding that more and more of daily workload in my job is less software development and more about making sure a team of people can get software develop. I’m guessing that this is a natural shifting of responsibilities from being an “individual contributor”, as they like to say nowadays, to being a team leader of sorts.

I wonder if there’s a way to arrest and reverse this trend.1 🤔


  1. I mean, without completely blowing up my career. ↩︎

Arriving Late

I’m going to have to tell my boss today that the stuff my squad has been working on is going to arrive late. To much needs to be fixed or reworked, and there is one or two things that have been missed alltogeather.

I think the biggest problem is that the thing we’ve been working on got into testing far too late — only a few days before the deadline — meaning that there was no time left for fixing things. Really, you can draft all the plans and designs you want but you really don’t know how well it will perform until the “working” code has been handed to someone else.

Another problem might have been that I didn’t push for more time upfront. It’s been difficult to do this in the place I’m working now. It’s almost like they’re on to me (or at least have their own ideas of when things should be delivered). But I’m guessing it’s still heaps better to shatter expectations by saying something will take longer upfront, then get it delivered early, rather than be optimistic about it and come up against the deadline. “Underpromise and overdeliver,” they say.

I wonder if there’s a way to have two deadlines: one the business knows about, and one for the squad. The first one is quoted to be a respectable amount of time that is significantly larger than what you really it would take to deliver the feature. That would check expectations, and leave enough time for any rework. The second is a more optimistic deadline for the squad to work towards. I think having this second deadline is important, otherwise all the work will pile up near the end of the first one and you’ll deliver late again. It’s all so deceptive though, and the thing is that you almost need to deceive yourself: you know that the second deadline is not the “real” deadline after-all.

I don’t know. I find all this estimation and managing expectations quite difficult and it’s generally not something I like doing.

In any case, we’re going to need more time. I guess I can take solice in the fact that we almost got there, maybe 70-80%. We just need to get that other 80% over the line.

Just got a flu shot. I asked about getting a second COVID-19 booster but I’m not in any priority group so that was a no-go unfortunately. Even so, glad I got the flu shot while they are still free.

Here’s an idea for a competitive sport: a race to see who can first merge two Git branches that have diverged significantly. The difficulty can dictate the number and types of conflicts that need to be resolve. Can also spice it up by breaking or not including unit tests.

Wrong Number

Got called three times this morning by mistake from an old woman in NSW trying to contact her son who had a very similar phone number to mine.

First time I ignored it as I didn’t recognised the number and thought it was spam.

Second time I answered and after trying to understand what she was trying to say, I simply said “I think you got the wrong number, sorry” and hung up.

Third time I answered and after recognising that it was the same person, I figured it was right to work through the problem with her. So I spend some time with her, going through each number slowly, trying to make sure that we understood where the mistake was made. I didn’t hang up until I got the sense that she understood what number she needed to dial. I was trying to be helpful, but I’d be lying if I said that self-interest was not involved. After all, I wasn’t too keen on getting any more wrong numbers.

Four hours have passed and I yet to hear from her again.

Is there a lesson involved? I don’t know: this could have happened to anyone. I guess if there is one, it’s that sometimes you don’t get to choose the types of problems you need to work on, and you just got to do what you can to, if not solve them, help in making them less of a problem than they were before.

List and Delete All Docker Containers

A useful command I occasionally use. This will list all Docker containers, and delete each one regardless of whether it’s running or not. Good if you use Docker for dev containers and need to reset your state.

docker ps -a --format '{{.ID}}' | xargs -I{} docker rm -v {}

EDIT: thanks to @sonicrocketman for suggesting another way to do this. Works just as well:

docker ps -aq | xargs -I{} docker rm -vf {}

Idea for a website: you submit two TV shows or movies, and it shows you the cast members that are in both.

One fallout from Google’s terrible messaging situation is not just the fragmentation of all the various messaging “apps”, but the shoddy design and dev work that goes into each one.

Yesterday, I shared a video in Google Photos to my cousin. I wanted the video to be kept in it’s original quality, so I didn’t send it using MMS. I considered sending a link, but when I tapped “Share” to generate one, I saw the option to share it using some form of messaging app that exists in Google Photos (at least, I assumed it’s a messaging app, because what else would Google use).

I thought I’d give this a try, but I didn’t trust that the message would make its way to him. I’d hope at the very least it would send an email, so I naturally sent him an SMS asking whether he received it or not.

Turns out he did. In fact, he actually sent me a reply which… didn’t make its way to me. I got no notification, and I saw no reply in Google Photos. Didn’t even get an email.

Do people sharing photos in iOS have to deal with this?

I’ve been seeing something strange with an Android app I’ve built for myself. When I deploy it to my phone using Android studio; the app launches and I can start using it without any issues. But sometimes, after a few days have passed, the app gets replaced with a previous version, maybe one prior to the last version I built and deployed. I don’t spend a lot of time on this app so I cannot say if this happens regularly, but I have seen it happen two or three times this year already.

I wonder what could be causing this.

Getting spam emails with corrections about previously sent spam emails now. 😒

Here’s another photo of Archie and Ivy from a couple of weeks ago. Ivy’s discovered that the tissue box is the one thing nearby that I wouldn’t try to stop her chewing. Archie’s just curious in what I was using to take the photo.

Ivy at a tissue box and Archie looking at the camera

Ugh, why do I even read the news? 😒

You know that feeling where you just got off on-call, and that evening there was a widespread production outage that you had no idea happened until the next day? That explains how my morning just started.

One thing I must remember: if the options before me are to go for a walk or not, very rarely is not going the better option. Sure, there are times where I can’t go for a walk: I’m busy, or not feeling too well. Those can’t be be helped. But that’s not the same as not feeling like going for a walk.

So when faced with this choice, the default should be to go.
I may feel no improvement.
I definitely won’t feel worse. I’ll usually feel better.
I rarely feel regret.

Someone I worked with shared this tweet with a video of a musical number falling off the rails, which I found incredibly amusing. Enjoy.

P.S. I won’t do this too often.

Been watching The Orville a fair bit recently, on SBS On Demand. I must say that I like it a lot. I’m not a watcher of Star Trek, but — and some may not like what I’m about to say — it’s certaintly got the same sort of vibe.

Just enjoyed a set by Guy Montgomery in a familiar stomping ground (the Comedy Republic) with an unfamiliar Stomping Ground (the pale ale). All three were very enjoyable.

Heading back to Melbourne today after my 2.5 weeks in Canberra. Going to have to say goodbye to these two for a little while. Must say that my stay has been fun. Even though I’ve been working, it felt like a bit of a holiday.

Discovered the Causality podcast after listening to an episode of Reconcilable Differences. The subject matter — engineering disasters and what caused them — might be grim, but I think it’s helpful for people working in engineering, or software in that matter, to hear about them once in a while. After all, what we build will eventually be used by people, and the safety and usability of our creations can affect real lives.

Got blocked on how I to fix a problem encountered with the current task I’m doing for work. Always helpful to go back to the approach of “make it work, make it right, make it fast” in order to clear the blockage. May have generated a better way to actually do the task as well.