![craft vs noteplan craft vs noteplan](https://whatifgaming.com/wp-content/uploads/2021/07/Forge-vs-Fabric.png)
![craft vs noteplan craft vs noteplan](https://plannercraft.uk/wp-content/uploads/2020/06/Screenshot-2020-06-16-10.11.50.png)
Perhaps software engineers should take care of structural integrity and operational needs – concerns currently dealt with by different roles in different companies. We see that crafting software is useful for building components, but we also see the emergence of Site Reliability Engineers who ensure that products work as expected and stand the test of time. It seems therefore as though software engineers and software crafters are both needed. It looks as if we’re in a period equivalent with the Middle Ages of programming. Some of these artifacts are very useful and very used, but there’s no standardization. Some of them also make them reusable by licensing them (open source or proprietary) and releasing them to the world. Well, what if history repeats itself for software development? We now have a bunch of programmers who create unique software artifacts – programs, libraries, services etc. Can we learn anything that applies to software from this? Workers had a very specific task in the process, which they had to perform repeatedly.Įnough about history though. Engineers were able to design or improve the production process, build and test new prototypes. Standardization became the norm, since factories require exchangeable parts and products that can fit or work together.įactories increased the distance between engineers and workers. As they used to say, you can have your Ford Model T in any color as long as it’s black.įactories led to the quasi-extinction of craftsmen, due to productivity and economy of scale leading to better pricing. Factories allowed building things much faster, provided that they were building roughly the same item. These things changed when factories and the modern assembly line appeared. The two worlds had to work together from time to time, since the large projects required engineering to ensure that the structure could be built and could stand on its own, and craftsmanship, from building and laying bricks to painting the ceilings. However, Middle Ages also had engineers, mostly in the army and for civil projects like public buildings, bridges and such. There was no standardization, because the objects didn’t really need to fit. Each craftsman (and they were all men), was able to produce unique objects. The Middle Age could be seen as the age of craftsmanship and guilds. To approach this problem, I first looked at the history. So an interesting question is: are these two paradigms, software craft and software engineering, compatible? I’ve been involved in the software craft movement pretty much since the beginning. My thoughts are still in flux, so I expect to change some of my views in time, but I found it useful to share them and to ask for your opinions. This led me to a few thoughts on the role and state of software engineering. I recently started working on my fourth book, “Mastering Software Engineering in C++”.