← Back to context

Comment by manmal

12 hours ago

Blacksmiths is not the best analogy here.

Why not? Blacksmithing and coding have a hell of a lot in common. In both disciplines toolmaking is extremely important. Often you have to make custom tools to accomplish a design--e.g. a twisting wrench or a form tool. Sometimes you have to make tools that get used once and thrown away, like a jig temporarily welded to a piece to hold it in place while you build its sibling assembly. Sound familiar? I do this kind of thing all the time in code.

Another similarity is the relative simplicity of the underlying structure of the system. You essentially have two hammers (one small one you swing with your hand and another big one that is planted on the ground), some material, and some heat. You build the rest.

Another similarity is the resistance to automation. A skilled blacksmith is a versatile worker. You can create assembly lines to automate any one thing they might produce. The end product will not have the same quality--it will not truly be wrought iron, each piece will not be unique, there will be nothing of the aesthetic taste of the artist in it, but if you're just some bean counter who doesn't care about those things you'll be able to sell it. But if you need the optionality to produce any of those things.. automation is not your friend. And some things just cannot be automated, at least not without extreme costs or very poor results--shoeing horses comes to mind.