Creating is easy. Shipping is the hard part, and countless companies never quite figure it out. Sure, they might release their software, but that’s not the same as shipping. No company is perfect, but it makes a big difference when they genuinely care.
Shipping is about consistency. It’s regularly updated help documents. It’s responsive and helpful customer support. It’s useful release notes. It’s an informative status page. It’s a regularly updated blog and social media accounts. It’s all the little things.
The professional programmer brings his or her full brain, experience and creativity to the job. When asked to develop a feature, the professional thinks about it: Are there gaps in what was asked for? Are there alternative and better solutions? Will it lead to later problems? And then the professional has conversations with the product owner based on the answers to these questions to determine exactly what the feature will look like when implemented.
In contrast, the amateur says, “OK, I’ll give you exactly what you asked for.” That’s easier. The amateur programmer doesn’t have to think about the work beyond the specification. Just code what was asked for.
Recording of a 1994 talk by Dr. Russel Ackoff on Continuous Improvement as seen through the lens of Systems Thinking.
This talk really was way ahead of its time. It’s talking about Continuous Improvement long before I even heard this term in the business of web development; it’s expressed in a very clear and calm language; it has a typical TED-talk style written all over it; it’s packed with one-liners; …–
Yes, I am impressed.
The system is not the sum of the behavior of its parts, it’s the product of their interactions.
Andreas Creten, founder of Made With Love, on different needs in code quality depending on what type of product (POC, MVP, …) you are making.
Until your MVP really gets traction you can run on shitty code or even do things manually to prove you have a product/market fit. Only once you nail it and the customers start flowing in, you should start caring about code, but up until then, you’re almost writing one-off code too.
I especially like this part too:
Every week I talk with people with great ideas, but a tiny budget to execute them. When they ask me what it would cost to build their idea, I answer between 10k and a couple of billion, basically bouncing the question back and asking what they want to spend on it.
To me this quote relates to this chart on value over time:
One can spend a truckload of cash on a certain idea or feature, but let’s face it: the actual value is added in the first few iterations. There’s this point in time where it longer pays off to extensively put work into something. The end result might not be as polished, but it gets things done.