Slashdot Mirror


How Developers Can Fight Creeping Mediocrity

Nerval's Lobster writes: As the Slashdot community well knows, chasing features has never worked out for any software company. "Once management decides that's where the company is going to live, it's pretty simple to start counting down to the moment that company will eventually die," software engineer Zachary Forrest y Salazar writes in a new posting. But how does any developer overcome the management and deadlines that drive a lot of development straight into mediocrity, if not outright ruination? He suggests a damn-the-torpedoes approach: "It's taking the code into your own hands, building or applying tools to help you ship faster, and prototyping ideas," whether or not you really have the internal support. But given the management issues and bureaucracy confronting many companies, is this approach feasible?

18 of 133 comments (clear)

  1. QMS by Anonymous Coward · · Score: 5, Funny

    Find a way to have your customers demand that you develop your software under a QMS. One that is aligned with ISO 9001, 21 CFR part 820 and eudralex part 4 and GAMP 5 and you can have good process all day. In fact you will have 8x process per line of code, but you can't write shitty code or have shitty retirements

    1. Re:QMS by Opportunist · · Score: 4, Insightful

      That's only true because you can't get ANYTHING done anymore. Of course that also excludes the creation of any shitty code. If you can't get ANY coding done, it can't be bad...

      --
      We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
  2. Why Fight It? by Greyfox · · Score: 4, Insightful

    Just go somewhere that sucks less. The company you're working for (Doesn't matter which one, they're all the same) would butcher you for organs if they thought it would be profitable enough. I guarantee you their marketing guys are still trying to figure out how to put a positive spin on it. You don't owe them anything, and they don't owe you anything. They understand this quite well, and you need to do the same. If you don't enjoy the part of your relationship where you get to solve neat problems and write cool code, find a job where you do enjoy those things. Or at least one that gives you enough bread that you can swallow their shit sandwich.

    --

    I'm trying to teach myself to set people on fire with my mind... Is it hot in here?

    1. Re:Why Fight It? by AmiMoJo · · Score: 4, Interesting

      I get the impression that this is the prevailing attitude in the US. The company is just something that you use to get what you want, and the company treats you the same way.

      My experience in Japan and Europe is that the better companies look after their staff and you end up feeling invested in them. You want them to do well so you make an effort to fix and improve things. Not all companies are like that, but some are.

      My advice to the OP is to state their concerns clearly to management, along with solutions. Explain how things can be done differently and how it will benefit the company.

      --
      const int one = 65536; (Silvermoon, Texture.cs)
      SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
    2. Re:Why Fight It? by monkeyxpress · · Score: 3, Insightful

      This is true, but the problem is that our economy is not setup to care about compassion. Just look at the continuing problems in the Bangladeshi clothing industry. People are generally aware of what is going on, but in the end they still buy the clothes from Primark (that they don't even need). People just don't really care and so the company that skimps on worker compassion wins out in the end.

      The only reason industries like technology are insulated from this sort of harsh reality is that there are still lots of tech companies that make obscene profits, so they can afford to pay workers good wages and absorb some inefficiency while keeping shareholders happy. However this does not characterise the whole tech market, and there are certainly areas now that are coming under ruthless competition.

      Capitalism has always been a race to the bottom limited only by the extent to which society accounts for externalities, like paid vacation time or limited work hours. Otherwise you eventually just get the crazies on the margin dictating how the majority must work. It is really madness, especially now that the economy is largely generating pointless jobs through the whole legal/advertising/corporate industries.

    3. Re:Why Fight It? by AmiMoJo · · Score: 3, Informative

      Japan has the most long-running companies in the world. Treating your workers well is essential for keeping the company going for decades, although tends to result in lower profits in the short term.

      --
      const int one = 65536; (Silvermoon, Texture.cs)
      SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
  3. Software engineer fails to understand business by Anonymous Coward · · Score: 5, Insightful

    No shit, the company's going to die because an insane brogrammer asshole decides the codebase needs to cater to the whims of the twentysomethings who read about something neat on the internet. Then he burns through the development budget rewriting the code to fit the new paradigm while simultaneously failing to provide the deliverables.

    1. Re:Software engineer fails to understand business by preaction · · Score: 4, Insightful

      And then this developer blows away existing code supporting existing users because they truly believe that the team is catering to the wrong users (despite those users being both more numerous and more lucrative), leaving them to find another solution, destroying the team from within. No, I've never seen that happen, why?

    2. Re:Software engineer fails to understand business by jellomizer · · Score: 5, Insightful

      If programmers are left to their own devices, no code will ever get released, because complex systems have too many variables to test, take a long time to code, by the time you get to the end you realized you could have done the beginning better.
      There are so many times I go back to my old code and say to myself what was I thinking? There is a much easier way to do this.

      Sometimes it is cheaper to leave the bloat and use more hardware to compensate.

      I have a lot of half done apps in production. There are thing I want to do to make them better, however I probably won't get to them by EOL because the customer is generally happy with it, and I have other higher priority projects in my queue.

      --
      If something is so important that you feel the need to post it on the internet... It probably isn't that important.
  4. The "damn the torpedoes" quote by myid · · Score: 4, Informative

    Regarding the "Damn the torpedoes" quote: According to this military.com article,

    The heavily guarded bay entrance was filled with mines, then known as torpedoes. Farragut's cry of "Damn the torpedoes! Full speed ahead!" is now the stuff of legend, but it was also good tactics. All but one of the fleet's 18 ships passed safely through the channel ...

    I heard a speech by a military historian, who said that "Damn the torpedoes!" did not mean "to heck with the mines, let's ignore them". The historian said that Farragut was cursing the mines, like he was saying, "Damn those torpedoes". Then he ordered his men to go full speed ahead, to get out of the dangerous minefield ASAP, before a mine blew up a ship.

    So Farragut was being prudent, not reckless.

    1. Re:The "damn the torpedoes" quote by myid · · Score: 3, Interesting

      In speech it is easy to distinguish between the two meanings, but the difference is in intonation that doesn't translate directly to writing.

      Right. Suppose I ask you if x > y, and you reply, "I think so." That sounds straightforward. But consider the way you say it. If you're 90% sure that x > y, then you'll say "I think so" quickly, in a higher-pitched voice. But if you're only 60% sure, then you'll say "I think so" slower, in a lower-pitched voice.

  5. Bravo by lucm · · Score: 4, Insightful

    When I found out I couldn’t commit CSS without headaches, I rewrote the entire front-end.

    Says the guy who bitches about unrealistic deadlines.

    --
    lucm, indeed.
  6. Re:Cycle of life by justaguy516 · · Score: 5, Interesting

    I was once working in a software company, doing maintenance on a product (an embedded telephony module) which was pretty much going to be end-of-lifed soon. It was one of the most enjoyable times of my career. There was me and two other guys, all of us junior engineers and no supervision whatsoever. We were able to make radical changes at our own discretion; I was a young man and didn't really mind spending nights and weekends working on that stuff. We got some things wrong, but we also fixed very very old bugs and re-wrote an entire module to test out some ideas we had about performance bottlenecks. The customer, who was basically running out the clock on warranty was somewhat surprised at all the releases he was getting, but didn't seem to mind. His test and field staff were actually quite happy.

    The whole thing didn't put off the inevitable, because nobody in the company paid any attention to the fact that the product had actually been re-engineered into somewhat workable. In any case, there was no follow-up planned, so eventually the entire product line was closed down and the customer was migrated to something else. But we had fun while we could and learnt a lot.

  7. Re:Cycle of life by rtb61 · · Score: 4, Insightful

    For companies is it not quite the same. Reliable older company treats it's staff and customers well. Along comes the psychopath vulture capitalist who works out they can buy the company for more than it is worth and the dress it up for sale by trading on trust while delivering cheap crap, getting rid of expensive stuff, wiping out after sales service and support and voila big profits for a few quarters until it all goes boom but then it has been sold by then.

    Reality is companies pretty much keep going until the slick psychopaths take over all full of charm and bullshit and try to fill their own pockets for as long as possible until the company goes belly up as a result of their total incompetence beyond their skill and getting employed. They of course focus all their efforts on blaming everyone else for the problems created by the psychopaths.

    Want to keep companies going longer, really easy answer, start testing for psychopathy before letting new executives in the door.

    --
    Chaos - everything, everywhere, everywhen
  8. This right here is the truth by melted · · Score: 5, Interesting

    As a developer, you're typically not in a position of power. In large companies as long as you're obviously not going to leave, you're pretty much universally perceived as a cog. Sometimes as an expensive cog, but a cog nevertheless. The most power you can have is when you vote with your feet and go work elsewhere.

    To a company this means they'll have to replace you with an unknown dude, who is difficult as heck to hire, and they'll likely have to pay quite a bit more money as well. So some tactical effort will likely be made to keep you (assuming you're valuable). This never leads to any kind of long term improvement though, so whatever irked you before this tactical last-ditch thing will continue to irk you in the future, and you should leave anyway.

  9. Re:Who knows best? by Todd+Knarr · · Score: 3, Insightful

    Counter-argument: Obviously management knew much better than the engineers how to run the Space Shuttle program, so they were entirely right to ignore the engineers' warnings about how freezing temperatures would affect the SRB sealing rings on Challenger and how ice strikes would affect the leading edges of the wings on Columbia.

  10. Why I quit my last job by kurisuto · · Score: 3, Interesting

    At my last job, I spent three days coding up a solution which would save us days of work on every client-facing project. I had been thinking about the problem for a long time and saw a simple and elegant solution. It was ready to go, including testing and documentation. When I demoed it, folks were impressed.

    Unfortunately, management had the idea that the way to contain costs was to have the Product division develop these kinds of tools. My division was supposed to focus on deploying Product’s solutions to clients, not build solutions ourselves. Management could see the value in my solution; they just didn’t like the fact that it had come from me, not from Product.

    So I was told to write up a spec for the solution I had already implemented, and give it to Product to reimplement. I did that, but Product was notoriously slow and ineffective. They had way too many masters to serve, and they weren’t immersed in our day-to-day work to understand our needs.

    Two and a half years later, the solution was still not rolled out. I was still trying to get Product to fix the fatal bugs in their crappy implementation. I had escalated it multiple times.

    I ended up quitting that job in disgust. The case I just described was a symptom of a large and serious organizational problem; I kept running up against it. In my resignation letter, I did the math to show management how many hundreds of hours we would have saved by now if we had adopted my solution when I wrote it. I sent that letter around to a bunch of senior managers. There was a belated plea for me to stay, but I already had another job lined up.

  11. Fuck that: most developers are customer-ignorant by mveloso · · Score: 4, Insightful

    I work with an application where the VP of engineering burned 6 man-years on dynamically loadable plugins, a feature nobody IRL actually gives a shit about. It made the code unreadable, caused all kinds of work due to the total refactoring of the application, and caused performance to degrade tremendously.

    In addition, it is practically impossible to tell what version of a plugin is correct or if it's loaded.

    Why? Because he thought it was cool.

    So, when developers tee off on upper management decisions that kill companies, I can swing right back on dumb engineering decisions that kill companies.