“The goal is a creative, detail-oriented [software] team that finds the best solution using the full weight of their diverse skills and creativity, and has fun doing it.”
— Ben Werdmüller, Engineering vs writing code
Somewhere in here is a longer discussion about building products vs solutions, understanding who you’re building for, and even on to things like learning by doing, prototyping, and more.
Building a business built on software vs writing code to solve a problem for yourself is maybe the two aspects to contrast?
I don’t think the distinction between engineering and programming / hacking that Ben makes is the most useful one.
And perhaps this is my Canadian perspective where “engineer” is a protected, professional term like doctor or lawyer.
So much of software still appears to be based on fashion.
But I do take Ben’s point. This concept of rigor is interesting to me as I think “beyond open source”. I use to think that the license of a software was one of its most important aspects. Now I feel that way more about open data structures, standards, and protocols.
If we agree on the protocol, we can always build the code again, and it can be built by hackers or by engineers as long as the protocol still works.
Do protocols need to be rigorously designed? And we’re back to square one ;)