3 ms·
Programming is craftsmanship. At scale and with long-term projects it requires knowledge, mastery of tools, foresight, experience, intuition, creativity, plann
by the_duke 6y ago
Programming is craftsmanship.
At scale and with long-term projects it requires knowledge, mastery of tools, foresight, experience, intuition, creativity, planning and many judgement calls.
This is not special. The same is true for many other occupations. Be it carpentry, electrical engineering, finance or, yes, even marketing.
In a lot of ways it is easier than others, because (non-architectural) mistakes can be corrected a lot more quickly, and there is a plethora of (often free) learning materials, knowledge resources, tools and and projects to build on that other fields can only dream of.
I think many programmers have minimal experience with other jobs, and assume that coding is somehow more elevated or demanding than other professions, while the reality is quite different.
- redisman 6y agoI agree and that gives you a better framework to improve yourself too. If you think about woodworking as an analogue you'll want to learn about new types of wood, new tools, woodworking design and history, contemporary woodworking design and technologies, try to make every chair you make more perfect than the last, etc. There's no one true way to make a chair, it depends on who will use it and how you're feeling. Craftsmanship does include art in it.
- danaliv 6y ago> I think many programmers have minimal experience with other jobs, and assume that coding is somehow more elevated or demanding than other professions, while the reality is quite different. As someone who has worked in a few different fields, this x 100. There is nothing "special" about programming.
- mywittyname 6y agoI would say there's nothing special about programming compared to other types of engineering. But professions like Nursing are also quite rigorous in educational requirements, but nurses don't engage in the type of long-term planning required in engineering. I do think the plan-building aspect of engineering adds to the overall difficulty of the profession. Following an existing flow-chart is different than building a flow-chart.
- qznc 6y agoNot all programming is craftsmanship. Code like the Obfuscated C Contest is art. The code that orchestrates your cloud servers is more like engineering. Prototypes in language research is science. Coding competitions are sport.