Hacker News new | ask | show | jobs
by jcl 6326 days ago
And to again quote the article: "Programmers often take refuge in an understandable, but disastrous, inclination towards complexity and ingenuity in their work. Forbidden to design anything larger than a program, they respond by making that program intricate enough to challenge their professional skill."

The article points out that programmers instinctively look for ways to make their jobs more interesting, and that many of these approaches end with solutions that are unusable or unmaintainable. There may well be no interesting and effective way to specify that Arizona and Texas need documents SR008-04X and SR008-04XI.

1 comments

I don't accept that this is the case. Programming is boring when it involves repetitive tasks that require little mental power to complete. But any any task that is simple and repetitious is also a task that can be automated.

I don't think developers look for a way to make a project "interesting" just for kicks. At least in my experience, there is a genuine desire to improve the process, to automate everything that can be automated, to invent and create something that's much better than the original.

And sure, they might not get it right on the first attempt, but that's why you attempt to fail early. There is this odd notion that code is sacrosanct; that once created, it must never be discarded, that we should never change our initial ideas, no matter how wrong they may be. I'm of the opinion that this is not a good way to solve a problem. If you're heading in the wrong direction, then you turn around. You don't keep driving, hoping for the best, yet this is exactly what most software projects seem to do, and why they ultimately end up in disaster.

The ingenuity of the developers is not necessarily at fault; rather its that they or their managers are afraid to fail early, so they fail when it's too late. We shouldn't shy away from ingenious solutions because of this. The corporate world is too short of ingenuity as it is, and no more so than in the field of software development.

After having worked in the industry for 8 years, I'd have to say that programmers DO try to make a project "interesting". Now this is not just for kicks, its usually for : 1. Not having to learn and use the homegrown piece of sheet solution. 2. To use something that has been used by others elsewhere ie somethings that is already battle proven. 3. To learn something on the job.

The older you grow, the more important number 3 becomes. At least that has been my experience.