3 ms·
Sure, spaghetti code can and is also happening as an emergent property of a system that's increasingly succumbing to entropy -- due to all the factors you enume
by pdimitar 4y ago
Sure, spaghetti code can and is also happening as an emergent property of a system that's increasingly succumbing to entropy -- due to all the factors you enumerated. That too. And I am saying that a lot of programmers lack the skills to recognize they are in a situation that promotes spaghetti code and they don't resist the symptoms that lead to it.
Can we live up to that? Absolutely, but it takes time, practice and a lot of screwing it up -- so, sadly, it can't happen with people who are still kind of fresh. Sad fact but what can you do. I made my peace with it, begrudgingly.
- pojzon 4y agoInterestingly enough - its a business decision to hire 3/4 of the team of such ppl and then complain that the code produced is “a spagetti code”. Its not “on purpose” by those devs, but its hard to argue it was a sane decision by management.
- agentultra 4y agoSometimes it's a deliberate decision. Startups, for example, are generally not in the business of writing robust, maintainable, performant software. They're usually searching for a market niche to exploit and happen to use software to achieve their goals. They prefer moving fast, iterating on designs, and pivoting off in different directions. To spend the time and effort to write robust, maintainable software would slow them down and give away their niche to a competitor. So it makes sense to hire decent people and toss code at the wall until they find that niche. Other businesses in industries like security or real-time systems prioritize and value different things. There's usually more of a focus on performance and reliability. That means longer development timelines but the cost of failures is much higher.
- pojzon 4y agoSomeone will still have to pay the price after the niche is found. If the technical debt is big enough it can cripple the growth of the company to the point a competitor that initially was behind -> gets ahead. I can give one example in map making industry - TomTom vs Here in EU.