Welcome to September’s wrangle of links I find interesting. The cool chill in the air has unlocked the sweater portion of my wardrobe, and I couldn’t be happier. It does get annoying having to switch out halfway through the day when it gets too hot. But I do enjoy Pumpkin Spice on all the things, so many mixed emotions. Anyways, let’s jump into some links.
1. How to Be Great? Just Be Good, Repeatably (20 minutes)
Steph Smith lays out some good reminders on what the path to greatness looks like. It doesn’t happen overnight, and it involves plenty of sweat. She reminds us that it’s a slow progression built over time through consistency. She also reminds us, with the two-step analogy, that you can only really see a relatively short distance from your current standing. That standing is also changing due to our internal hedonic treadmills; try to keep it in check.
2. Stop learning frameworks (5 minutes)
This is a blog post that I often quote when asked, “Cody, what should I learn?”. Technology is changing at a rate that is humanly impossible to keep up with. If you want to invest for the long term, Eduards Sizovs recommends you prioritize evergreen knowledge. I recently finished reading the anniversary edition of The Mythical Man-Month, and it’s still as relevant today as it was 20 years ago. To quote my favourite Propellerheads song, it’s all just a little bit of history repeating. Spend your knowledge investment wisely.
3. Software Estimation Is Hard. Do It Anyway. (6 minutes)
Nobody enjoys the awkward dance of software estimation, but it’s a critical skill to develop. Jacob Kaplan-Moss (co-creator of Django) talks about why we shouldn’t shy away from taking the time to estimate. At a certain point in your career, not being able to give estimates is going to limit your growth. A business needs to be able to coordinate. Sound daunting? Jacob provides another post outlining his estimation techniques, which I can attest work well in practice. You’ll never be 100% accurate, but something is better than nothing.
4. OPP (Other People’s Problems (7 minutes)
Camille Fournier, author of The Manager’s Path, provides some solid insights into the sticky conundrum of trying to solve problems that belong to other people. If you’ve reached the level of Staff Engineer, you’ve probably got a knack for finding problems and solving them. But you can’t solve ALL the problems. It’s crucial to master the skill of understanding what is and is not your problem to solve. Or else, you’ll probably find yourself flirting with burnout over the long term.
Chasing that dream of being able to fix all the things contributed to me feeling exhausted, and dare I say a bit burned out, when I finally decided to leave my CTO gig.
5. How To Do Great Work (45 minutes)
This is a long read, but I think the insights are worth the investment. Paul Graham, one of the founders of Y Combinator, writes about how to do exceptional work in any domain. It’s hard to summarize it in one paragraph, but the strongest message I got was finding the right mix of fits your skills and is deeply interesting. Like the first link talks about, doing great work takes a long time. To sustain work for so long means finding something that truly resonates with you.
6. Ratchets in Software Development (8 minutes)
Have you ever had a problem in your codebase that needed to go away but was hard to achieve in one fell swoop? Things like usage of deprecated methods, linting legacy codebases or increasing test coverage? Qntm (pronounced “quantum”) introduces the concept of ratchets to help teams codify such initiatives. I have used this technique more times than I can count over the years. Ratchets + CI/CD is the secret sauce to incrementally improving any project over the long run.