Software Engineering Ideas That Influence Me

Updated Fri 2025-09-19 | 3596 words

I watch a lot of conference talks on YouTube and I read a lot of software engineering articles. Some of that media has really helped me become a better engineer. As a relative newcomer to engineering, I know my style will develop further and my current judgment of "best practice" will change (and I can see how it's changed historically by looking at my old code), but I plan to read/watch these resources every year. I look forward to future me gaining new perspective on them.

I've tried to categorize these links, but naturally there's some overlap :)

In some cases, I'll remove links if I feel like I can expand the concept into a separate blog post and link from that.

Workflow

  • How I build a feature describes how Simon Wilson manages to maintain his dozens of projects with "perfect commit—one that bundles together the implementation, the tests, the documentation and a link to an external issue thread.". It's really inspired me to adopt much better (e2e/integration/snapshot) testing for my own projects to make them more maintainable.
  • Contributing to Complex Projects desribes somes useful steps to familiarize myself with giant projects. Super helpful; doing this can feel overwhelming.
  • My Approach to Building Large Technical Projects – Mitchell Hashimoto - "Demo-driven design". This post is super useful to motivate "what to work on next" for a project. If I'm not using this method, I can quickly go down multiple rabbit holes for a project and never have anything big to show for it (which I'm actually okay with for personal projects - the goal there is to have fun).
  • New talk: Learning DNS in 10 years describes how to learn difficult things over time. Also see New talk: Making Hard Things Easy
  • Getting things done (in small increments) has really practical advice when you don't have a lot of time (he's a parent too!)

Culture

General Concepts / Ideas

  • The Grug Brained Developer - This is an excellent list of somewhat disconnected advice about how to manage complexity in code, tests, and what works and what doesn't work, even though it looks nice on paper.
  • The Mathematical Hacker: Evan Miller argues here that math is a tool for understanding the world, and that programmers should use it to do a lot of the heavy lifting. It's a bit of a reality check to some of my "well I can add this thingie here, and won't that be elegant" daydreams. Code is to solve a problem, and most of the harder problems are best solved mathmatically and simply transcribed as code.
  • Hammock Driven Development: Rich Hickey: Lectures like this are hard to come by. Rich Hickey gives wonderful tips on how to solve hard problems. The main one is that it can take a lot of time and conscious/unconscious thought to get an elegant solution.
  • Semantic Compression: This post (and the rest of the series) have really helped me to grasp the "semantic compression" concept Casey uses here. I can actually trace its influence on my thought process through my historical code.

Architecture

Data oriented design

I don't actually write a lot of explicitly data oriented designed programs (most of my code is probably best categorized as "automation" or "web software", which don't require this level of performance) but man there are some great talks about it!! Data-oriented design originated in game programming, but some compiler teams have taken hold of it.

Using Types for Correctness

There's a lot of repetitiveness here, but I think seeing concepts explained in different ways with different examples can be very helpful.

How to Debug

This is a mix of debugging advice as well as "war stories" for examples

Observability

This is mostly focused on OpenTelemetry, since I really like the "protocol over specific vendors" approach they provide:

Testing / Formal methods

Platforms

Specific Concepts / Ideas

Example Code

These are libraries that have really impressed me with their usability; whatever they're doing, I want to emulate it!

Example Stories