Bad Team Leads and Responsible Adults

Does a team need a team lead? I've been thinking quite a bit about flat team structures over the past couple of weeks. As is often the case, it's recruitment-driven. I'm going to be blunt here: I've been really disappointed by the prospective tech leads I've been interviewing. This is »

Avoiding growth by accretion

Software has a tendency to grow by accretion - a gradual build-up of material causing what was a small and simple nucleus to become a large, complex object with many layers. It's the same mechanism by which planets form. A small clump of particles attracts other particles, and this new »

What my AI learnt on its holidays

I spent a bit of downtime recently playing with LSTMs and RNNs - Long Short-Term Memories and Recurrent Neural Networks. These are the kind of things that power automatic image tagging, recognition, and generating silly names for paint colours. As is usual for me, I spent most of my time »

What is a Technical Architect anyway?

I spent a fair chunk of my career being a technical architect, most of which I also spent dreading the inevitable, "so what do you do for a living?" question at parties. Mostly I settled on answering, "I don't know" and quietly sobbing in a corner, because at least that »

Dimming the lights on voice

For me, voice control is one of those technologies that seems to be perennially almost but not quite there yet. We've spent the last 20 years correcting the Word documents we dictated to Dragon, having our in-car Bluetooth call the wrong person, sending incomprehensible text messages with Siri and recently »

Terraform - Beginner Pitfalls

After a rocky start, Terraform has become a great success story where I am. We've got both infrastructure and development teams using it, sharing both learnings and resources such as modules and code. A consequence of that is I spent quite a lot of my time helping people get started »