While trying to learn more about Function Point Analysis as a method of estimating the scale of software development, I came across the blog of David Longstreet – a darn well written and clearly topical and productive blog which seems to focus on technology, programming, and cultural impacts. This ticks all the boxes for me as something I want to watch and read regularly. A recent post compares the change in software production currently occurring (and continuing to occur in the future) with the change at the 1900s in the Blacksmith profession.
“If, in 1915, someone would have suggested to the million plus blacksmiths employed in the industrialized economies they would be obsolete in less than 50 years, they would have thought that person crazy.”
It is an excellent example of something we can learn from history.
Another example is the change in drafting and planning in building and housing. For many years drafting was constructed by hand, and plans were stored in large physical files. Computing technology changed this fundamentally, but did not remove the need for the practitioner to understand the core tasks and the core constraints of the profession. Drafting is still drafting, it just happens to be faster and easier now with computing tools (and possibly more complex too). We have not removed the need for the profession, but we have totally changed the skillset and tools the practitioner needs, the response times, and the degree of sophistication in the daily execution.
This is why I’d argue for programmers there an argument to say that sophisticated builds will still require highly skilled practitioners. You can now buy a prefab piece of ironwork instead of buying something from a blacksmith, but to get something customised or something changes the smith skills are still required.
It may be that the prefab development techniques will become so easy to “tweak” that the customisation is not needed anymore, but I think we have a few years before the developers become lego brick constructors, rather than developers – and the ability to create your own custom bricks in the machine process will still be valuable. Even with all the generic components and well understood parameters, constructing a house, or even designing a house is still an exercise that you hire a professional to conduct, rather than bashing out a design in a home CAD application.
So I agree with the comparisons, find the implications rather humbling, but hope it is not as significant as David suggests in the near future.