Articles
AI Zealotry
2025-12-31
Senior engineers are best positioned to benefit from AI. We're good enough to avoid slop, and there's so much we can accomplish. I wouldn't go back.
Twitter, LinkedIn, and Failing in Public
2025-07-23
LinkedIn shows only the final act. We connect to heroes during their struggles, not their victories. The solution: fail heroically in public.
I Walked Across Spain
2025-07-14
Reflections from 27 days and 500 miles across Spain. The overlapping physical, social, cultural, and spiritual layers that make this pilgrimage meaningfully different.
Thoughtful Professional Writing
2025-05-07
Speaking flows at the speed of thought. Writing forces you to organize first. This is hard on you but easy on your reader.
Transactionalism vs Respect
2025-05-05
"Can I ask for your help?" makes me feel like a person who helps people. "I'll pay you back" makes me feel like I'm trading favors. Incentives feel transactional.
Hammers and Nailguns
2025-01-06
A nailgun puts nails into wood. A hammer whacks things. Simple tools with humble opinions are more versatile than specialized ones.
Python Support is Socially Complex
2024-12-09
When a Python workflow fails, most of the work is diagnosing whose fault it is. The ecosystem's distributed ownership means no one has clear responsibility.
Cloud Computing is Broken
2024-12-03
What hunger am I seeing on the ground? Boring shit. People struggle most with the basics of cloud computing. The promise remains undelivered.
Venting and Constructive Communication
2024-10-25
Constructive conversation and venting differ by one question: "Will these words help me achieve my goal?" If no, we're probably venting.
SatCamp Retrospective
2024-10-04
Satellite imagery's potential is incredible, but companies in this space are struggling. An outsider's first impressions from an unconference in Boulder.
How I Almost Quit My Job, and How Being Selfish Saved Me
2024-09-20
When a small amount of your work helps others a great deal, of course you sacrifice. You'd be a monster not to. But your ego can fade in service of your project.
What Does Pangeo 2.0 Look Like?
2024-09-18
In 2018 we unveiled a new architecture for scalable cloud Python. It was great, but also fragile and limited. What comes next?
Usage Based Pricing
2024-09-04
It was good for a while but became a dead end. The pros, cons, and alternatives for capturing value while making customers feel good about paying.
How GitHub taught me to Micromanage
2024-05-11
Open source code review taught me to give intense, detailed feedback. Then I became a manager and learned why that doesn't always translate.
Hiring Sales
2024-04-29
We fired the sales team when our product was bad. Now it's good. Finding the right early sales hire is an interesting challenge.
Reddit, Twitter, and LinkedIn Comparison
2023-11-10
I pushed the same message to Reddit, Twitter, LinkedIn, and Mastodon and tracked views and engagement. Reddit won by a mile.
Decision Fatigue
2023-03-18
When you hit a roadblock, don't ask "what should we do?" Own the problem. Propose a solution. Help your team by carrying the weight yourself.
Laser Eye Correction
2023-03-06
From deciding to explore the procedure to having my eyes lasered in two weeks. Long, rambling, and nothing to do with startups or tech.
Performance Reviews
2023-02-14
Give critical feedback from voices other than your own. People are different—treat them differently based on need.
SaaS Go-to-Market
2023-02-01
A snapshot of where Coiled is on product and GTM, written for internal use but useful for other early-stage SaaS companies.
How I Conduct an Interview
2023-01-06
My approach to 45-minute interviews: what I share, what I ask, and how I evaluate candidates. Useful for interviewers or anyone interviewing with me.
Rethinking My Website and Blog
2023-01-02
I felt smarter and happier pre-Twitter. I'm turning back to blogging—optimizing for longer attention spans and mixing evergreen with timely content.
Think for yourself
2022-12-26
In dynamic environments, historical advice often doesn't apply. Imposter syndrome is appropriate—but so is trusting your own thinking.
Audio-Visual Setup
2022-12-18
How we present ourselves has unreasonable effectiveness on perception. An excellent Zoom setup costs $2000 and a day—anyone can achieve the unfair advantage that tall people have naturally.
Meetings
2022-12-02
It made a huge difference. I learned that it's easy to spend energy on routine activities, think "I'm doing my job", and be completely wrong.
Stability Bias
2022-12-02
By not releasing due to regressions, we accept regressions in reverse. By not fixing confusing APIs, we confuse all future users. Stability has hidden costs.
Offsites
2022-09-12
Remote teams accrue alignment debt and interpersonal friction. Offsites rapidly pay down that debt so everyone can go off and work independently again.
Failure
2022-09-05
Someone has to pay the psychological cost of uncertainty. I choose honesty, even when it has negative consequences.
Startup Advice
2022-09-05
Most advice is wrong—not because advisors are dumb, but because their experiences don't transfer. The wisest person for your situation is probably yourself.
User Valued Work
2022-08-24
Developer-valued work is valuable, but only in that it makes us faster at delivering user-valued work. Keep that distinction clear when prioritizing.
Over Grown
2022-08-09
Painful, but we moved faster as a result. More smart people doesn't make you go faster. Often the opposite.
SciPy Mission
2022-08-01
The SciPy community evolved from accelerating science, to enabling data understanding, to now—making people's lives more comfortable. The mission keeps growing.
Revenue
2022-07-25
They care more about valuation than revenue, and only certain kinds of revenue matter. A taxonomy of good and bad revenue from selling open source software.
Small Scope Reviews
2022-03-26
A fast review cycle is incredibly valuable. Distinguish obligatory comments that stop regressions from commendable ones that add enhancements. Better is the enemy of good.
Tech Leads
2021-06-24
Tech leads steer efforts technically using soft power. It's a really fun role. Here are behaviors that make for a good one.
Startup Metrics
2020-10-28
Hockey stick growth and GitHub stars sound great, but the reality is more nuanced. Dask took six years of listening and diligent community service.
Ideal Tweet
2020-08-18
Start with a short single-line hook, then deliver actual novel content. People skim—get to the point immediately.
Short attention span
2020-07-13
Speaking truth is easy. Getting people to listen is hard. Practical advice on respecting your reader through an attention span budget.
Listen to sell
2019-12-05
Resist the urge to answer technical questions. We want to show off how things work, but we often dive too deep before understanding the customer's actual problem.
Senior Engineers
2019-11-09
My criteria for senior engineers: handle vague requirements, seek context, connect with stakeholders, take ownership, communicate regularly, handle uncertainty, and take vacations.
Short Blogposts
2019-06-25
I encourage colleagues to write blogposts frequently. It informs your community, increases visibility, and focuses you on work relevant to others.
Avoid Indirection
2019-06-23
Abstraction has costs. Every layer you add is another place readers have to look. Sometimes the clearest code is the most direct.
Maintainers
2019-05-18
Best practices for open source maintenance: the difference between developers, reviewers, and maintainers, and how to spend your limited time well.
Why I Avoid Slack
2019-02-28
Real-time chat makes everyone feel productive but does little for long-term consensus building. I prefer public, permanent, searchable, cross-referenceable discussions.
Craft Minimal Bug Reports
2018-02-28
Maintainers' willingness to help you for free is optional. Minimal, complete, verifiable examples take 10-30 minutes but dramatically increase your chances of getting help.
Write Dumb Code
2018-01-27
We should write code that novice programmers can understand without explanation. After maintaining code, I think differently about showing off what I know.
Biased Benchmarks
2017-03-09
Fair benchmarks are surprisingly difficult even with best intentions. We judge others by our objectives, fail to use their projects with expertise, and gravitate toward cases where we excel.
Write Tests
2016-02-08
Testing feels like flossing—theoretically important. But if you contribute to long-term software with many collaborators, your tests will outlive your source code several times over.
Dictionaries v. Objects
2013-09-02
The mechanisms we choose to store and share data strongly impact the longevity of the code we write. When do we transition from dicts to custom classes?