Some years ago, I was at one of those shops where you can buy useless, but funny, objects that you can forget in one of your desk drawers. There was one hand-made of wood, that kind of pretty, creepy one, you can move parts, and that 99% of the time has been positioned to flip you.
Could it have been a good tool for someone who works with drawings? But then I thought that you already have that. It’s your own hand.
When creating something creative like a painting or that handy JS tool, the truth lies somewhere in the middle. Software engineering has a long history, and when creating something new, someone has probably already done it.
- Create
- Evolve
- Adapt
- Stop
I am using FreeBSD on my personal computers these days, and it has jails since 2000, 13 years before Docker. Every day it’s a wow moment. And you know why? Because they are at the looping points 2 and 3.
Creating great software means concentrating on that dream and never reaching point 4, because once you get there, it’s challenging to do. There’s no need to add that many new things to a project to evolve it, because you must know when to stop. And once too many are added, stopping is impossible.