Hey there readers. I'm Nat Bennett, programmer/consultant/newsletter/walker, and you're reading Simpler Machines.
I've nailed down most of the details of the big walk next week. I'll walk up to and across the Richmond Bridge, down through Marin to the Golden Gate Bridge, and then across San Francisco, hop on a ferry to Treasure Island, and hopefully make my way from there to the pedestrian path across the eastern stretch of the Bay Bridge and back up to Berkeley.
I'll be taking a bunch of pictures and writing as I go, and will share that as a newsletter called A Walk Around the Bay. You'll get ~five daily newsletters and then I'll delete that list forever. Depending on how it goes I may edit the results and share them in another form but otherwise that newsletter is only ever going to hit inboxes, not the public internet, because I can take a lot more creative freedom with something that's totally ephemeral. Subscribe now.
Why all this about bridges & photos on a software newsletter?
If you want to get better at programming there are a bunch of things you can do.
- Get faster at typing, especially awkward characters
- Learn a new language
- Learn a language/framework/library really well
- Learn something you already know really well
- Learn more about your database
- Master your editor
- Learn some patterns and techniques for handling common problems
- Improve your pairing skills
You can also get better at regulating your emotions.
Programming is frustrating. Working for software companies is frustrating. Just being alive and a human is, sometimes, frustrating. There are lots of things that happen that can cause your emotional system to become overactive, and when that happens, you typically make worse decisions than you otherwise would.
Gamers call this "tilt" and they talk about it a lot, especially at the high levels of things like professional poker, where "decision quality" in the face of uncertain information is measurable and retroactively analyzable. At a certain level of play, what separates the best players from the merely good is not their analytic abilities, but their ability to regulate their emotions.
For programmers, emotional regulation especially impacts debugging and learning new things, so there's a compounding effect. Improved emotional regulation makes you better at acquiring skills, which makes you faster, which makes you better at acquiring skills. So you can get very large skill improvements over time from even small improvements in emotional regulation.
It's also exhausting to spend lots of time angry or frustrated. If you want to be able to work in this career for a long time, and you're not naturally bless with chill, it helps a lot to be able to regulate your emotions.
Enhance your calm
I am not naturally blessed with chill.
You know those super chill people you meet sometimes who you then found out, like, broke their hand in their early twenties by punching walls? I aspire to be one of those people. It's been a while since I tried to put a hole in concrete but that happened, is what I'm saying.
The difference between Nat-who-punches-walls and Nat-who-doesn't is about 10% increased chill and about 90% tactics. I have a bunch of individual strategies but they basically all come down to a handful of principles.
- Run around outside
- Hang out
- Make stuff
There are also two meta-principles
- Introspection without rumination
- Diversify dependencies
A five day walk with a newsletter attached hits a lot of those principles. "Run around outside" and "make stuff" are pretty obvious. "Hanging out" effectively requires doing interesting stuff outside of the hanging out to talk about. Walking and writing in this focused way both create space for introspection and dampen self-obsessive rumination loops.
In short: Going on long walks, taking a lot of pictures, and sharing them with people makes me better at programming, and a lot better at being a programmer.
So go make some stuff. Do it outside. And then talk about it with your friends.