3 ms·
> Tearing down a straw man is not an impressive feat. Neither is being cynical. Everyone is at a different point in their life and has different skills and ha
by agentultra 4y ago
> Tearing down a straw man is not an impressive feat.
Neither is being cynical.
Everyone is at a different point in their life and has different skills and has the potential to do good work.
I don't know what problem you're referring to. Maybe you could enlighten us and tell us what it is about self awareness, insight, and experience and gazing into crystal balls that make developers, "good."
- pdimitar 4y agoYou said that people don't write spaghetti on purpose. And I said that lacking in certain qualities makes people write spaghetti code unwillingly and without realizing it.
- agentultra 4y agoIf you don’t realize you’re writing spaghetti code how could you do it on purpose? Most people don’t write spaghetti code on purpose. They’re trying to solve a problem with the skills and knowledge they have in the only way they can. You seem to attribute spaghetti code to a personal failure to have characteristics you think are essential. How’s anyone supposed to live up to that? I have a different theory. I think that it’s a combination of things which cause spaghetti code. I agree with others here that poor management is a strong factor. Also poor communication, time pressures, vague specifications, insufficient proof or testing, a lack of documentation, family emergencies, lack of motivation, general anxiety, social dysfunctions on the team, and so on. Everyone I’ve worked with usually had something going on for them. Even if they were just starting out or changing careers or had been at it a while but felt like they weren’t getting anywhere. The bad developers, to me, were the ones who brought others down when they could have raised them up.
- pdimitar 4y agoSure, 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.