Not semi serious. Absolutely serious. As soon as you start writing a program that takes more than one person to complete, or where you're writing not for you to be the one and only user, people problems come in. And I'm just talking about communicating intent and design among people. The bigger the project, the more that's a problem.
Then there's the unrelated problem of dealing with other peoples' personalities. The bigger the project, the more different people, and the more this aspect is a problem as well.
I remember once on a complex project a senior manager going "That may be what I asked for, but its not what I want" and in a startup I joined where the CEO was adamant that any feature he could think of could be implemented in less than 48 hours - and this was a video technology/devices startup not a web app!
I've made horrific technical mistakes at various points in my career - but at least it is possible to learn straightforward lessons from those. Learning about people - now that's a challenge!
I find it quite interesting that a natural inclination of some people is to believe that if it was simple for someone to think, in some way, of the feature they want, that it should also be simple to implement. Have seen this a lot.