Unfinished != Unsuccessful
For developer side projects, think "sketchbook", not "product launch."
We've all seen the memes poking fun at developers for their unfinished side projects. These jokes imply that leaving projects incomplete is a flaw, unless the developer carries the project through to launch.
IMO, this view misses the point entirely.
Instead of seeing these unfinished projects as failures, let's reframe them as entries in a developer's sketchbook. I once knew an art student who brought his sketchbook to church. One Sunday, he spent the entire service drawing noses - experimenting, caricaturing, and playing with form. These sketches weren't meant to be finished art pieces. Instead, they were useful learning experiences.
As a data scientist, I adopted a similar approach. I might spend an afternoon exploring how accurately I could predict an outcome using a particular dataset. The goal wasn't always to produce a finished product, but to learn from the process - whether it was tackling data cleaning issues or overcoming unexpected obstacles. Similarly, I often test out new APIs or packages, treating each exploration as a sketch in my developer's notebook.
Viewing side projects through this lens dissolves the pressure to produce a polished end product. What matters is the acquisition of new skills, tools, and techniques. Each "unfinished" project represents a page in a developer's sketchbook - a step forward in their learning journey.
So the next time you see a meme about developers' unfinished projects, remember the artist with his sketchbook full of noses. These incomplete projects aren't failures; they're the building blocks of greater understanding and mastery in your craft. By embracing this sketchbook mentality, we can appreciate the process of creation, the joy of learning, and the value of experimentation in software development.