Naive Implementation: The Art of Artless Programming

A naive implementation is a programming technique that prioritizes imperfect shortcuts for the sake of speed, simplicity, or lack of knowledge. ...

June 23, 2022

First Get It Working, Then Make it Look Good

I recently completed a winter survival course where we built shelters in just ten minutes with only the contents of our packs. The pack I brought was nearly empty, so I made a tent out of my parka. It was ugly, but it could have saved my life. How does this apply to software? When building a feature, first get it working, then make it look good. ...

April 13, 2022

How I Make Sure I Understand a Feature Before Building

I think the most important factor in consistent delivery is understanding the work. When you understand the work, you build what the stakeholder wants, better and faster. ...

March 2, 2022

Why I Don't Point Agile Bug Tickets

When I create Agile bug tickets, I leave the story points blank. Why? Two reasons: pointing bugs creates the wrong incentives, and bugs are hard to estimate. ...

February 7, 2022

My Development Roadmap

I’ve been working on a development roadmap for my projects, and wanted to share my process. Consider this my recipe to turn an idea into software. ...

October 20, 2020

Don't Build Every Feature

There’s a detail about Today I Learned some might find unusual: we never added a way to delete posts from the site. Why ignore a basic CRUD feature? We didn’t ignore it. It was intentionally omitted. ...

June 19, 2017

Don’t miss my next essay

Hear from me immediately when I post: no ads, unsubscribe anytime.