Ask HN: What is the hardest kind of software to build and maintain?
I'm hoping to get some objective insight and arguments, not personal preferences. I think it depends on the temperament and interest of the developer. Different people find different sorts of work easy and hard, and there is an enormous variety of types of software work out there. There was once a programmer who was attached to the court of the warlord of Wu. The warlord asked the programmer: "Which is easier to design: an accounting package or an operating system?" "An operating system," replied the programmer. The warlord uttered an exclamation of disbelief. "Surely an accounting package is trivial next to the complexity of an operating system," he said. "Not so," said the programmer, "When designing an accounting package, the programmer operates as a mediator between people having different ideas: how it must operate, how its reports must appear, and how it must conform to the tax laws. By contrast, an operating system is not limited by outside appearances. When designing an operating system, the programmer seeks the simplest harmony between machine and ideas. This is why an operating system is easier to design." The warlord of Wu nodded and smiled. "That is all good and well, but which is easier to debug?" The programmer made no reply. The kind that is meant to automate manual processes that have evolved over decades by adding edge cases, to accommodate single business partners, that are triggered by nondeterministic heuristics that are undocumented. In other words, any back-office software. Restaurants, pub, hotels, vending demands support any day, any time. International billing.