Proximity to coworkers increases long-run development, lowers short-term output (2023)
Revise and resubmit, Quarterly Journal of Economics
Being good isn't enough
Giving good career advice is hard. Maybe it’s because careers can look more alike than they really are. Two people can have the same title but what helps one...
Rolling the ladder up behind us
Who will take over for us if we don't train the next generation to replace us? A critique of craft, AI, and the legacy of human expertise.
Experts have it easy (2024)
Something that’s painfully understudied is how experts are more efficient than novices while achieving better results.
A manager is not your best friend
As people become managers, it's quite common for their team members to want to commiserate with them. This is especially true for friendly, competent, reasonable-seeming managers – people want to commiserate with winners. But commiseration, especially with your direct reports, is organizational poison.
Startup Equity 101
Startup Equity 101 I am writing this essay because I believe that money is both useful and worth thinking as little as possible about. No one I know joins a...
Developer's block
A blog on software development and other stuff
Joining Sun Microsystems – 40 years ago (2022)
40 years ago today: I joined a tiny startup called Sun Microsystems. What a ride! Here’s the never-before-told story of how I arrived at Sun as employee #8! 🧵 I started out in Silicon Valley …
The peaceful transfer of power in open source projects
Most of the people who run Open Source projects are mortal. Recent history shows us that they will all eventually die, or get bored, or win the lottery, or get sick, or be conscripted, or lose their mind. If you've ever visited a foreign country's national history museum, I guarantee you've read this little snippet…
An open-source maintainer's guide to saying “no”
Stewardship in the age of cheap code
How do interruptions impact different software engineering activities
Certain tasks, and their complexity, change how impactful an interruption is. Research also discovers a disconnect between perception and physiological data.
RIP Usenix ATC
USENIX made the decision this week to discontinue its flagship Annual Technical Conference . When USENIX was started in 1975 — before the Internet, really — conferences were the fastest vector for practitioners to formally share their ideas, and USENIX ATC flourished. Speaking for myself, I came up lionizing ATC: I…
A Post Mortem on the Gino Case
Zoe Ziani, a psychology researcher who had the misfortune several years ago as a Ph.D. student be tasked with following up on some unrelicable published psychology research, tells the story of how her department pulled the chair out from under her:
My 25-year adventure in AI and ML
This is the 25-year story of how I fell into the field of AI.
You're Not Interviewing for the Job. You're Auditioning for the Job Title
I once had a job interview for a backend position. Their stack was Node.js, MySQL, nothing exotic. The interviewer asked: "If you have an array containing a million entries, how would you sort the dat
If you are good at code review, you will be good at using AI agents
Using AI agents correctly is a process of reviewing code. If you’re good at reviewing code, you’ll be good at using tools like Claude Code, Codex, or the…
Development speed is not a bottleneck
Big part of discussion around vibe coding revolves around pace of development while it was never a key constraint in succeeding with a product.
An engineer's perspective on hiring
hiring in tech is broken and everyone knows it. what can we do better?
Take this on-call rotation and shove it
At some companies, it is expected that certain engineers will serve as part of a formal on-call rotation. On paper, this seems like a reasonable way to ensure the reliability of the product. In practice, it is a miserable burden and you probably won't even get paid for it.
What would an efficient and trustworthy meeting culture look like?
I like bits, bits are mighty. With bits you can do impressive things!
Getting More Strategic
Strategy – how to be strategic, and how to be seen as strategic – is one of my ongoing obsessions. Years ago, I read Good Strategy/Bad Strategy, and it’s guided my thinking ever s…
How did places like Bell Labs know how to ask the right questions? (2023)
Alternative Title: Why all applied research organizations should hire a Bell-style systems engineer
The Timmy Trap
This is Part 2 of my LLM series. In Part 1 , I discussed how in just a few short years, we went from the childlike joy of creating “Pirate Poetry” to the despair that our jobs would disappear. My main message was to relax a bit, as companies abuse the hype cycle to distort what is actually happening.
The illegible nature of software development talent
Here’s another blog post on gathering some common threads from reading recent posts. Today’s topic is about the unassuming nature of talented software engineers. The first thread was a …
My Time at MIT
Twenty years ago, in 2004-2005, I spent a year at MIT’s Computer Science department as a postdoc working with Professor Nancy Lynch. It was ...
My role as a founder-CTO: year 8
2025. What a year it has been. If a normal year as a startup founder already feels like four or five regular years, this one felt closer to a full decade. Th...