2 ms·
>> And civil engineers should build bad bridges to build them again a bit later? And doctors? It's different because civil engineers and doctors will get sued
by jondubois 8y ago
>> And civil engineers should build bad bridges to build them again a bit later? And doctors?
It's different because civil engineers and doctors will get sued if they mess up.
Software engineers are generally not held responsible for their own work.
Even big software consulting firms like IBM have had their share of multimillion dollar failed projects and the repercussions for them have been minimal - They still keep getting big contracts from governments around the world;
they say that no one ever got fired from choosing IBM... Maybe they should be!
There is a tendency to put all the responsibility on project managers who don't understand the code.
Companies are terrified of giving their engineers any leverage so they will do everything in their power to avoid it; that means hiring more project managers, implementing more strict project management practices (e.g. rigidly adhering to all Agile/Scrum practices), using more advanced project management tools (e.g. Jira instead of Trello), using more rigid frameworks and platforms (e.g. TypeScript instead of JavaScript), more thorough testing (100% unit and integration test coverage), etc...
Success in the tech industry is so centralized (winner-takes-it-all) that the efficiency of programming practices don't matter at all.
Most top engineers at top companies are good at comming up with complex solutions which give them more leverage over their employers.
When conducting job interviews, companies don't differentiate between engineers who love coding from those who love money. That's a big mistake.
At least on a subconscious level, the engineer who prefers money is mentally hardwired to increase complexity while the other engineer is hardwired to reduce complexity.