Premature optimization Over-engineering is the root of all evil — Donald KnuthSir Tony Hoare — Me, just now

I think that over-engineering is the single greatest contributor to starting projects and never finishing them.

Let’s define follow-through rate as the ratio of projects started to projects released. Not “completed”, since that’s an irrational way to think about projects.

Looking back at periods of my life, I feel like my follow-through rate on projects was highest when I was 12 years old. At that point, my “projects” were:

13 years is long enough ago that, for the sake of simple math, my follow-through rate was 100%. Gee, what a reliable kid I was!

I can name 4 periods of my life where the amount I learned about engineering grew at a more-rapid-than-usual pace:

  1. 2016: I began studying computer science in my undergraduate
  2. 2018: In trying to build up my resume, I started taking writing open-source and release-able projects more seriously
  3. 2020: I got my first full-time job as a data analyst/software engineer writing data pipelines in Python and Spark
  4. 2023: I got my second full-time job writing general software in csharp, with incredibly smart capital-E Engineers™ that were also incredibly good mentors

While it feels great to know more, learning has caused me a fundamental issue: it’s easier to be bad at something on accident than on purpose.

I’ve increasingly noticed myself trying to apply the things I’ve learned to new projects, causing a whole lot of up-front work to get a project started. Putting yourself in a prison of making the “best” choices at the very start of the project is incredibly demotivating and absolutely tanks the odds that a project started will someday be a project finished. Ironically, it’s future-proofing for a future that doesn’t happen.

Let’s say, hypothetically, that my project follow-through rate started at 100% and dropped by a third following each learning period. After 4 learning periods, that would leave me at…

Yeesh. 16% follow-through rate sounds rough, but when I look at a recent history of what I’ve accomplished versus what I’ve wanted to accomplish, the number seems somewhat reasonable.