2 ms·
This rant reads to me as if it was written by someone who just spent 6 months adding 37 layers of horizontal abstraction and indirection and a gigabyte of depen
by Falkon1313 10y ago
This rant reads to me as if it was written by someone who just spent 6 months adding 37 layers of horizontal abstraction and indirection and a gigabyte of dependencies and yet still failed to achieve their one simple task, only to be shown up by someone else changing the label on a checkbox and achieving the task in 5 minutes. Sure, there are problems in software development, and the article mentions some, but it's pretty much wrong about all of them.
>1) Business Thinking Favors the Short-Term — To an Extreme
Agreed that short-term thinking has problems. But the business environment changes, in some cases quite rapidly. And some software is only needed short-term. There's no business sense in spending a year developing software that can be maintained for a decade when it's only going to be used for 90 days (that is, if the deal goes through - if not, it will be scrapped without ever being used). Nor is it a good gamble to wait 2 years to get a system running when the competition can be building market share within 6 months.
If you're really good at seeing the long-term future, then you don't have this problem because you've already foreseen the winning lottery ticket or stock picks and are already retired wealthy. Right? You think you can foresee all business requirements and all requirements of all customers for the next 10 years?
>2) You Will be Crucified for Not Being a 'Team Player'
This will happen if you're incapable of working with other people. Or if you want to go off on your own and develop something not related to anything that is needed and you can't present any good reasons for doing so. If you want to do something that will make other people's lives easier or make them more successful, and can explain that to them, then the opposite happens. Even in backwards companies.
>3) The Software Architect is a Politician
As much as we all hate politics, the software is being developed for a business purpose and for use by end-users. It's not just a toy for narcissistic developers to sit around gold-plating.
>4) Suffering is the Commodity That you Provide
There is a bit of grunt-work and unpleasantness in software development. That's why it's called a job, instead of "Happy Happy Fun-Time". You're getting paid, you're not paying the company to do this.
>5) Your Peers Won't Support Change
Most will if it's reasonable. If it's as unreasonable as the article, they probably won't, but that's a good thing.
>6) Someone is Always Ready to Undercut You
This point seems backwards. Someone angling for promotion isn't trying to undercut you. Someone trying to undercut you is struggling for survival or trying to reach your level from a lower position. If you're threatened by either then you lack confidence.
>7) The Conscientious are Disenfranchised
>Collective code ownership may be the most pernicious thing to happen to code since the advent of Javascript.
People with this mindset are inevitably fired due to their rudeness, hostility, arrogance, and utter inability to produce anything in any timeframe. They seem to believe that their whole job is not to develop software but to prevent the other developers from doing so. Good riddance.
>8) Methodologies Are Management Tools
Yeah, no surprise there, that's what they're for.
>9) You Will Think your New Team / Project is the Exception
More often developers are shocked by the problems that their new team has. They wonder why the team is doing everything the old-fashioned/wrong way and think that they have all the answers and can solve it. Real-world experience quickly solves that. Unless they can't handle the messiness of reality, in that case they go on to become disillusioned like the author of the article.
>10) It’s a Race to the Bottom — and No One Gives a Shit
There's a natural tension between spending years developing a worthless Enterprise Edition of "Hello World" vs. slinging up a quick-and-dirty app in a couple of weeks that turns out to be really valuable so that you might get stuck having to extend and support it for a decade or longer. There's no clear way to consistently hit the bulls-eye in the middle, with maximal value. All the loud voices preach one end of the spectrum or the other. Experienced people have mostly tuned them out, because they're both wrong.