Software runs the modern world, yet every program is essentially hand-crafted. Is this why software projects are so hard to get right?
That's the question from Scott Porad, CTO of the Cheezburger Network, after talking to a friend who quit the software development biz after 18 years. "First, name one other thing in the world, he said, that is used by so many people and which is created entirely by hand?" Automation builds bricks and computers and automobiles, but code jockeys type and type to build the software to control these processes.
Projects, such as websites, have the same development problems year after year and project after project. "Why is it that no matter how long a project takes, the customer always thinks it should be faster or cheaper?" Of course, we also think hand-crafted projects like construction, Porad's comparison, should be faster and cheaper, too, so maybe it's not just software that's a problem.
Software problems abound
The reason software is difficult comes down to one thing: change.Justin Ko on scottporad.com
Do yourself a favor and never start coding before final documentation arrives.fridek on news.ycombinator.com
I don't understand the 'by hand' bit. Libraries, packages, modules, SDK's what have you exist so we're not doing things by hand unless we absolutely have to.Wickk on reddit.com
I think in my ~20year career, I've had only 3 projects that were specified well enough up front that we just "built it according to the plans" and had a satisfied customer at the end. Overwhelmingy, some (or most) of the design gets "made up as we go along".bigiain on news.ycombinator.com
Other areas are just as bad
You need to spend some time on a job site, I’ve seen plumbers come to blows arguing over the best way to do something.Fuzzy on scottporad.com
Really, I think software people just need to get over themselves.Rhomboid on reddit.com
Natural evolution at work
200 years ago, every machine in existence was hand-crafted. Software is still a very young industry, and it’s moving at break-neck speed.Max Tardiveau on scottporad.com
What distinguishes software from contemporary engineering? A couple hundred years of development at the very least. I'd say we've come a long way and have some ways to go.agentultra on news.ycombinator.com
We have already seen huge leaps in automation and efficiency in the last 30 years which took hundreds in the comparable building or manufacturing industries.Zen Savona on scottporad.com
Hmm, maybe the problem is not the hand-crafted nature of software and construction, but the brains behind the hands.
Now read this: