About
I'm Nat Bennett, and this is my website.
Briefly: Software engineer, writer, Extreme Programmer, photographer, katamari-damacy ball of hobbies, people-loving introvert, Havanese caretaker, James C. Scott anarchist, seeker after "the quality without a name," Californian, Minnesotan, Coast Guard brat.
The main thing to do here is sign up for my newsletters
- Simpler Machines β weekly β software + meaning + whatever I got really into this week
- Mere Being β monthly β writing + art + food + (sometimes) sports
- Good Rectangles β photographs
Greatest Hits
There are over 200 posts on this website, these are some of the best.
Why you need a "WTF Notebook" β improve your performance at new jobs with a simple note taking technique
Don't lie in interviews β there's a world where most people around you are lying and a world where most people around you aren't lying and you want to live in the latter world
Project "Be More Chill" β some notes on how I try to be less sad, angry, and anxious
What was special about Pivotal? β it's easier to write code when you're not being constantly bit by possums. Personal favorite.
My most unpopular idea β "being individually recognized for your performance" is incompatible with doing great things in groups
Career advice for people who aren't supposed to exist β what to do if your technical judgement is stronger than your ability to output code
Elixir has a type system and I really ought to take advantage of it β written before the latest type system, but, why Elixir's dynamic types are still useful for avoiding "can't call method on nil" errors
Comments on Understanding Software β there are many ways to organize effective software teams, but the good ones all talk to each other a lot
Something is Very Wrong in San Francisco β I went back to San Francisco after being gone for six months and everyone has lost their minds
What I would copy from the Pivotal interview process β most of the Pivotal interview process was extremely Pivotal-specific but there are some meta-principles that apply anywhere
You don't have to guess to estimate β reasonable industries make estimates with napkin math. Personal favorite.
I also make software. Right now I spend most of my time working on an application called StoryTime, a project management tool for small teams. I write a monthly newsletter about developing it.
The main thing that makes StoryTime complicated is that it enables real-time collaboration: Multiple people editing the same data structures simultaneously. It uses Elixir and Phoenix LiveView which makes solving this problem easier than most stacks but there's still some nuance to doing this correctly. If you have an application that requires real-time collaboration I would love to compare notesβ e-mail me at nat at this website.
Non-Linear Garden
My partner and I run a consulting company together. Here are the main things we're good at giving advice about, and have been paid to give advice about:
- Building and updating complicated applications that run somewhere that doesn't have the internet. Usually this involves an "appliance" and updates involve sending someone with a USB stick to plug into the appliance.
- Running software on old versions of Linuxβ generally because it's the only one that's been certified as usable wherever you've got that internet-less appliance running.
- How to manage Python dependencies, especially in the above situation, without tearing your hair out.
- Getting teams to self-organize successfully.
- Pairing, and especially getting yourself out of situations where the pairing feels kind of painful because one of the people you're pairing with doesn't seem fully engaged.
- Replacing parts of systems, while they're running, often under time pressure.
- Evaluating whether Concourse is a good fit for your workload, and teaching you enough about it to be dangerous.