Quote:
Originally Posted by Loki
Is there anywhere that has, like, good software? Or will basically any piece of software that has more than two people working on it always be doomed to end up a steaming pile of poo? Like, besides the simple Linux programs that do one or two things and does them well, are there engineers at google who look at their code base and think, “the horror?”
Asking because I work at a place with bad engineers, as far as I can tell. We have a product that needs fixed and needs features implemented that I feel most competent coders could handle, but I don’t think we’re going to be able to get it done. Not sure how to feel about that.
There's something like the Peter principle at work when it comes to commercial software development - assuming you have a profitable product to start with, as long as the code base is well-maintained, it's generally possible to add features to make it even more profitable. Given a relatively fixed level of talent, the more features you add, the harder it becomes to maintain the software. The stable state, then, is always one where it's maximally difficult to add features. This is also the most profitable state that requires most people working on the software, so most people will find themselves somewhere around this point. Should some kind of technical breakthrough or a major refactoring effort allow one to break this barrier, you go on and expand the product until you're stuck at the next stable state.
The other reason why it seems that way is that software development is subjective and it's harder to understand and change code than to write it in the first place, which means two people of equal abilities will tend to regard code written by the other person as subpar.
Obviously major simplifications but I think these two explain the general observation regarding software quality from developers' perspective.