&gt; hard because you have to design and build a complex system with strict requirements and intractable problems.<p>That sounds like web dev. The intractability of the problems comes from the fashion-like nature of how often things change and the speed at which they have to change. The more you learn, the more you can do, but also the requirements will change as a function of your abilities. Maintaining an business advantage demands it.<p>The framework doesn&#x27;t have to change, the tooling can be self-designed, the design skills can be learned, and web dev remains hard and interesting. I understand that lots of devs don&#x27;t appreciate it, but I still find it interesting after 5 years, and expect it to remain so after 20.<p>I liken it to a craft, take woodworking as an example. Sure, anybody can learn to bang nails into wood. But the way you hit a nail into a piece of wood the first time is going to be way different than the way you bang it in after 5 years, and it&#x27;s going to be a totally different experience to the way you bang it in after 40 years.<p>There&#x27;s a definite craft to choosing frameworks, growing tooling, and fashioning design to solve interface problems.<p>Is it as hard as hard math? No. Is it harder than 99% of people can do at all, and harder than 80% of <i>software developers</i> can do <i>well</i>? I fully believe so.