Standardization turns homebuilding into a knowledge-based industry.Tiago Forte
Software is definitely a knowledge-based industry. We have to understand what needs to happen (the business logic that gives software its value), plus how to make a computer do those things.
What if it’s more knowledge-based than it was before?
When I started as a professional programmer in 1999, I had to know C, the standard library, and the Oracle drivers we used. We used Unix and the standard utilities. These few materials were available to us, and we crafted them into software that met customer needs.
Now there’s so much more! There are other languages, and frameworks, and language ecosystems. There are libraries for everything. New utilities every day, at my fingertips with “apt/brew/choco install.”
Software feels more like assembly than craft.
What if software used to be a craft?
What if the standardization of common tasks in libraries and frameworks means craftsmanship isn’t such a big deal anymore? What matters now is knowledge of all those different materials. Understanding the libraries and frameworks and ecosystems and tools and infrastructure and automation. The implications, considerations, and conglomeration of their use.
Now it’s less like wood carving and more like product engineering. Standardized parts improve reliability, while adding flexibility and reducing custom work. Wielding well-defined materials to accomplish new ends.
I’ll take it! I’ll do glue work when it creates many times the value than the same time spent on craft. It’s fine, I can craft on the weekends, for play.
(guard clause: I’m talking about most application development work. Some custom craftwork needs done, and somebody needs to craft those libraries. I suspect that’s not most of us, anymore.)