You can go a long way as a software engineer without ever managing to think clearly. The feedback loop of writing and running code is so…
Saying no to leadership is sometimes necessary when you’re at the helm of a project. Whether they’re proposing a timeline that can’t be…
Don’t be a JIRA ticket zombie! I think a common experience among ambitious juniors - certainly I did this once - is to get frustrated at the…
My blog has gotten a lot of traffic in the last few months. Here’s what I think I’ve been doing that’s working, and a few things that have…
For the last ten years I’ve worked for American tech companies as an Australian based in Australia. First I worked in a satellite office for…
As I’ve written about before, what defines a strong engineer is the ability to do tasks that weaker engineers can’t, even with near…
When I suggest doing what your management chain wants, people call me cynical. Is it cynical to deliberately work on things your company…
How do engineers become higher-status or lower-status at large tech companies? In other words, what determines who gets promoted and who…
Working in large established codebases is one of the hardest things to learn as a software engineer. You can’t practice it beforehand (no…
At the beginning of 2021, Zendesk promoted me to staff software engineer. At the end of 2021 I switched jobs from Zendesk to GitHub. In…
Right now people are blowing up on Twitter about whether the USA needs to import top talent from other countries, and if that means that…
It’s fun and rewarding to work on critical tasks. But there’s only so much important work to go around. Worse still, the chances to work on…
“Glue work” is an concept Tanya Reilly came up with in 2019. The idea is that there’s a large amount of unglamorous work that every team…
Why do engineers get mad at each other so often? I think a lot of programmer arguments bottom out in a cultural clash between different…
Are microservices better than monoliths? Should teams set their own technical direction, or is it better to have that dictated by some…
I have shipped a lot of different projects over the last ~10 years in tech. I often get tapped to lead new ones when it’s important to get…
There’s a common claim on the internet that ChatGPT consumes half a litre of water for every 5-50 responses. Here are some randomly-chosen…
Everyone on the internet is recently very excited about large language models and Monte Carlo tree search. Going back months, the “Q*” leak…
If you’re currently spending time listening to long audio recordings of birdcalls or animal noises, it’s likely that the last four years of…
Over the last few weeks I’ve been playing around with the excellent llama2.c repository, which is basically a simple one-file C…
If you want a large language model like GPT-3 to perform a task for you, the simplest way is to just ask it. Writing out a single prompt…
Over the last few weeks I’ve been playing around with the excellent llama2.c repository, which is basically a simple one-file C…
This article is to help recruiters, hiring managers and myself have a better idea of the kind of places I’d like to work. The short version…
It’s hard to teach good incident response. A good understanding of how the system runs in production is essential, but how do you build that…
The internet is full of exciting incident war stories. Tough engineering problems, solved under pressure by sleep-deprived developers. In an…
A blockchain is a distributed database. Bitcoin, Ethereum and Dogecoin are all different databases. A blockchain node is a computer with an…
If you haven’t designed an actual system before, design interviews can be tough. Knowing how to work with a particular web service or…
Software engineering is mainly learning. There is a great demand for technical explanations, and many thousands of books, talks and blog…
How do you write a successful coding challenge? Unlike some nightmare whiteboard interview scenarios, typically a coding challenge is not a…
Sofware dysfunction is more often motivated by anxiety, fear, worry and embarassment than it is by a lack of technical skill. Engineers…
I’ve been building crappy hobby games on and off for my whole coding life. One of my very first apps was a Visual Basic game - I was in…
Introduction This is a guide for developers who kinda sorta know what blockchains are for (making distributed crypto-currencies like Bitcoin…