The software development industry is a shell of its former self

  • (2 Pages)
  • +
  • 1
  • 2

21 Replies - 2597 Views - Last Post: 25 March 2011 - 08:10 AM

#1 Martyn.Rae  Icon User is offline

  • The programming dinosaur
  • member icon

Reputation: 540
  • View blog
  • Posts: 1,406
  • Joined: 22-August 09

The software development industry is a shell of its former self

Posted 19 March 2011 - 10:29 PM

It is my firm belief that the software development industry is heading for a disaster of biblical proportions. It currently stands teetering on the edge of a dark deep precipice and there is noting to stop it from falling in. What am I talking about you may well ask?

I am talking about the number of so-called developers who have little or no understanding of their profession (I can barely refer to it as a profession as I don't think it is any more). Developers seem to think that any-old code thrown together will do so long as the results are correct. They hide behind their high level language stating to their bosses that its either not possible or it's very difficult and will take to much time (please read 'I am incompetent and can't be bothered to work a solution'). They ignore the fact that their code is grossly inefficient, difficult to maintain and not extensible. Why bother with optimizing design and writing efficient code when the compiler will do it for you? Why spend time when your boss is breathing down your neck on maintainability and extensibility when it can be somebody else's problem later on? These developers produce results but at what cost? When they have shown they can cobble together code that 'does the job' they become managers and propagate their lack of professionalism to others and the cycle repeats itself in a downward spiral.

I reviewed a senior programmers code once and was horrified to find code like this:

typedef enum { INITIALIZE, RUN, TERMINATE } program_state;

...

    program_state = INITIALIZE;
    switch ( program_state ) {
        case INITIALIZE:
            initialize();
            break;
        case RUN:
            run();
            break;
        case TERMINATE:
            terminate();
            break;
    }
    program_state = RUN;
    switch ( program_state ) {
        case INITIALIZE:
            initialize();
            break;
        case RUN:
            run();
            break;
        case TERMINATE:
            terminate();
            break;
    }
    program_state = TERMINATE;
    switch ( program_state ) {
        case INITIALIZE:
            initialize();
            break;
        case RUN:
            run();
            break;
        case TERMINATE:
            terminate();
            break;
    }



I asked him what this was all about and his response was that he wanted to make it clear to others the purpose. I politely told him that the only thing he was doing was making it clear to others that he did not know what he was doing!

What do you think?

Is This A Good Question/Topic? 4
  • +

Replies To: The software development industry is a shell of its former self

#2 BetaWar  Icon User is offline

  • #include "soul.h"
  • member icon

Reputation: 1167
  • View blog
  • Posts: 7,208
  • Joined: 07-September 06

Re: The software development industry is a shell of its former self

Posted 19 March 2011 - 10:34 PM

I would agree with you. His code looks terrible, and it would be far easier to understand if he simply added a comment after each line and just called the functions (and the functions are named such that you really shouldn't need the comments).
Was This Post Helpful? 1
  • +
  • -

#3 DivideByZero  Icon User is offline

  • D.I.C Addict
  • member icon

Reputation: 238
  • View blog
  • Posts: 551
  • Joined: 02-December 10

Re: The software development industry is a shell of its former self

Posted 20 March 2011 - 03:28 AM

Out of curiousity, would this have been considered better code?

Spoiler

This post has been edited by DivideByZero: 20 March 2011 - 09:32 AM

Was This Post Helpful? 0
  • +
  • -

#4 baavgai  Icon User is offline

  • Dreaming Coder
  • member icon

Reputation: 5882
  • View blog
  • Posts: 12,760
  • Joined: 16-October 07

Re: The software development industry is a shell of its former self

Posted 20 March 2011 - 04:19 AM

There have always been slackers and cargo cult programmers, they just have more tools now to hide their incompetence.

The attitude of "well, it works" and walking away is a sign of someone who lacks pride in their craft. They needn't be incompetent, though they usually are, but rather missing the fundamental problem solving drive you want to see in a programmer. It's not unique to any profession, really. There are those who care about what they do, and want to do it well, and those who are just collecting a paycheck.

Yesterday, I critiqued code here that used multidimensional arrays in place of structs. The response, "if it ain't broke, don't fix it." I was saddened.
Was This Post Helpful? 3
  • +
  • -

#5 AdamSpeight2008  Icon User is offline

  • MrCupOfT
  • member icon


Reputation: 2267
  • View blog
  • Posts: 9,482
  • Joined: 29-May 08

Re: The software development industry is a shell of its former self

Posted 20 March 2011 - 04:23 AM

View PostDivideByZero, on 20 March 2011 - 11:28 AM, said:

Out of curiousity, would this have been considered better code?

Spoiler


I would consider this being better if they doing Asynchronous Programming.
As it's a State Machine. You'll see a lot code looking like that in driver software.
Was This Post Helpful? 0
  • +
  • -

#6 raziel_  Icon User is offline

  • Like a lollipop
  • member icon

Reputation: 465
  • View blog
  • Posts: 4,255
  • Joined: 25-March 09

Re: The software development industry is a shell of its former self

Posted 20 March 2011 - 06:44 AM

View PostMartyn.Rae, on 20 March 2011 - 07:29 AM, said:

I asked him what this was all about and his response was that he wanted to make it clear to others the purpose. I politely told him that the only thing he was doing was making it clear to others that he did not know what he was doing!

What do you think?

I guess he was still learning while writing this code. However now that he is senior his pride will not allow him to admit his errors(i think thats why he response you this way). Yea we should optimize and make as efficient code as possible but you have to balance between the dead line and the optimization of a code. Anyway this code is absolutely useless as BetaWar say. :)
Was This Post Helpful? 1
  • +
  • -

#7 tlhIn`toq  Icon User is online

  • Please show what you have already tried when asking a question.
  • member icon

Reputation: 5578
  • View blog
  • Posts: 11,927
  • Joined: 02-June 10

Re: The software development industry is a shell of its former self

Posted 20 March 2011 - 07:00 AM

*
POPULAR

You see the same thing in every industry though. How many people claim the title of "Graphic Artist" because they bought or pirated Photoshop? They know nothing of color theory, composition, design... But they can run the program somewhat well.

When home computers were in their infancy they had 3k of ram (VIC-20) then an 8k expansion.. then 64k and so it grew. Today I have an 8 core machine with 32gig of RAM. That kind of space and power allows a lot of inefficiency.

Then you have video cards with more power than last year's PC. That can make up for a lot of crappy coding practices.

There once was a need to understand a computer just to run it. Not anymore. Now any 7 year old can make a video. Anyone from 7 to 70 can get on the internet and build a website with a GUI based program with absolutely no understanding of HTML. When you dumb-down the interface, and broaden the demographics of users to the lowest common denominator then you dumb-down the baseline of your user base. I hate to say it, but that extends to the coders too. How many people would still be writing code if they had to do it on NotePad instead of Visual Studio? What if there was no Framework to handle such a large percentage of common tasks? What if you had to write a ping function in assembly before you could call it in C#, and the same with every other method?

Combine that with a greater concern for bonus checks and bottom-line figures than for quality code and hiring competent (read NOT Indian outsourced) and of course you are going to get code written to 3rd world standards. Imagine that, if you outsource to the cheapest bidding company of the cheapest country then you get *cheap* code. Huh? Who'd a thunk it?

I blame corporate CFO's mostly. They reduce everyone and everything to a title and think they are all equal. "A $300 eMachine is a PC. A $2500 custom built is a PC. So they are the same. Buy the eMachines" That same mentality then extends to the staff. "The 40 year old with the experience is more expensive than the rookie right out of college but they are both 'Software Engineers'. So hire the rookie to lead the team because we can get him cheaper."

And the third factor is the expectation of the end user customer.
Everyone wants the WalMart pricing. Cheapest they can find. It isn't about the best *value* of features-per-dollar. Its just about less dollars. Building really good quality merchandise isn't what the public wants. They don't care that your program has 20 features more than the other guy, or that you've tested it in 1,000 more odd configurations than your competitor to make sure it will run without a hiccup. They only know your product is 50% more expensive. And they know they are going to replace it next year anyway, so they don't care about lifetime longevity.

All of these things are gears in the same machine of a vicious circle.
The user wants cheap software with the same look and feel as every other software. So the Frameworks grow to accommodate an easier and more consistent feel and a faster production pace. The software companies get less and less time to produce this year's Widget2011 version, that has to sell for the same price as Widget2010 despite inflation devaluing the dollar. So they hire cheaper help who know less. [lather, rinse, repeat]

Personally it makes me glad I work in a niche market where we target technically aware corporate installations. They *understand* what we have to go through to produce what they need and make it a bullet-proof as they require. I know this is not the mainstream coding environment and I am lucky to not be there.

If you can't stand your software product because you can't stand the demographic your company targets, then move.

If you make microwaves you have to expect the WalMart crowd that wants everything for $25. If you make Gas Chromatographs for scientific research facilities you can expect a higher level of customer.
Was This Post Helpful? 11
  • +
  • -

#8 JackOfAllTrades  Icon User is offline

  • Saucy!
  • member icon

Reputation: 6078
  • View blog
  • Posts: 23,546
  • Joined: 23-August 08

Re: The software development industry is a shell of its former self

Posted 20 March 2011 - 07:05 AM

Damn. someone read or heard about state machines and thought they'd try it out...badly and with no understanding!

I regularly work with C code with functions exceeding 500 lines and a not inconsiderable amount of copy and paste. I often get shit when I refactor it, and the boss (who has written much of this code), is one of those of the opinion "if it ain't broke, don't fix it". Being understaffed and overworked leads to just heaping crap on top of crap, and a maintenance nightmare.

EDIT: And Martyn, it's good to see you around again :)
Was This Post Helpful? 0
  • +
  • -

#9 TMKCodes  Icon User is offline

  • D.I.C Regular
  • member icon

Reputation: 48
  • View blog
  • Posts: 440
  • Joined: 21-March 09

Re: The software development industry is a shell of its former self

Posted 20 March 2011 - 07:45 AM

View PosttlhIn`toq, on 20 March 2011 - 07:00 AM, said:

How many people would still be writing code if they had to do it on NotePad instead of Visual Studio? What if there was no Framework to handle such a large percentage of common tasks? What if you had to write a ping function in assembly before you could call it in C#, and the same with every other method?


I would even use cat to write the code instead of Visual Studio, but I am very glad I have text editors with syntax highlighting. Anyway every word you spoke tlhIn`toq is true.
Was This Post Helpful? 0
  • +
  • -

#10 raziel_  Icon User is offline

  • Like a lollipop
  • member icon

Reputation: 465
  • View blog
  • Posts: 4,255
  • Joined: 25-March 09

Re: The software development industry is a shell of its former self

Posted 20 March 2011 - 08:00 AM

View PosttlhIn`toq, on 20 March 2011 - 04:00 PM, said:

Combine that with a greater concern for bonus checks and bottom-line figures than for quality code and hiring competent (read NOT Indian outsourced) and of course you are going to get code written to 3rd world standards. Imagine that, if you outsource to the cheapest bidding company of the cheapest country then you get *cheap* code. Huh? Who'd a thunk it?


I don`t agree with this. What a 3rd world country don`t have good specialists? How racist bah. Or maybe the companies don`t care who they hire? Who cares if he don`t know how to write a descent code if we need 5k cheep workers.

This post has been edited by NoBrain: 20 March 2011 - 08:00 AM

Was This Post Helpful? 0
  • +
  • -

#11 AdamSpeight2008  Icon User is offline

  • MrCupOfT
  • member icon


Reputation: 2267
  • View blog
  • Posts: 9,482
  • Joined: 29-May 08

Re: The software development industry is a shell of its former self

Posted 20 March 2011 - 08:19 AM

View PostJackOfAllTrades, on 20 March 2011 - 03:05 PM, said:

Damn. someone read or heard about state machines and thought they'd try it out...badly and with no understanding!

Are you referring to me or the person referred to in the original post? I hope it was the latter.
Or you'll experience the follow in state-transitions.

Normal -> Slap Initiated -> Being Slapped -> Slap Finalising -> Normal
Was This Post Helpful? 0
  • +
  • -

#12 tlhIn`toq  Icon User is online

  • Please show what you have already tried when asking a question.
  • member icon

Reputation: 5578
  • View blog
  • Posts: 11,927
  • Joined: 02-June 10

Re: The software development industry is a shell of its former self

Posted 20 March 2011 - 08:31 AM

*
POPULAR

View PostNoBrain, on 20 March 2011 - 09:00 AM, said:

View PosttlhIn`toq, on 20 March 2011 - 04:00 PM, said:

Combine that with a greater concern for bonus checks and bottom-line figures than for quality code and hiring competent (read NOT Indian outsourced) and of course you are going to get code written to 3rd world standards. Imagine that, if you outsource to the cheapest bidding company of the cheapest country then you get *cheap* code. Huh? Who'd a thunk it?


I don`t agree with this. What a 3rd world country don`t have good specialists? How racist bah. Or maybe the companies don`t care who they hire? Who cares if he don`t know how to write a descent code if we need 5k cheep workers.


It's not about specialists. Its about the base-line of the average coder. And its not about race. I have nothing against Indians or any race. It simply is a prevailing fact that the majority of outsource companies in India produce AS A RULE really crappy code, but they do it for cheap. There are numerous articles about it. Many that go in depth with explanations ranging from out-of-date university guidelines to a prevaling attidute of hiring 5000 cheap employees rather than 500 or 100 really well trained employees. And you can see it here and on every forum all the time. Just look at the newbie "gimme teh codez" questions and where they come from.

I'm not saying India doesn't have good staff. I'm not saying they don't have smart people. I'm not saying they ar bad people. I'm just saying the prevailing attitude of the coding industry there is about quantity of output for the shortest time invested. Quantity over quality. There tends to be no modularity or forward thinking maintainability.

If you are a college student looking to have someone write your homework assignment then it is good bang for your buck. If you are a company looking for someone to write your next generation of software suite, then it is a bad direction to go.
Was This Post Helpful? 7
  • +
  • -

#13 raziel_  Icon User is offline

  • Like a lollipop
  • member icon

Reputation: 465
  • View blog
  • Posts: 4,255
  • Joined: 25-March 09

Re: The software development industry is a shell of its former self

Posted 20 March 2011 - 08:51 AM

I say it clear its the company that hire the ppl fault. They want cheep working force so they get the ppl that don`t know(want) to write descent code. Yes they have specialist but that specialist will want to be payed for their work. The truth is they want it cheep and now. I guess the only part of the industry that care about how the code is written is the game industry.
Was This Post Helpful? 0
  • +
  • -

#14 AdamSpeight2008  Icon User is offline

  • MrCupOfT
  • member icon


Reputation: 2267
  • View blog
  • Posts: 9,482
  • Joined: 29-May 08

Re: The software development industry is a shell of its former self

Posted 20 March 2011 - 09:04 AM

Is the so called downfall as a result of the customer.

Customer wants something that replicates Excel but want to pay peanuts.
Customer wants Facebook
Customer wants Airplane/Railway reservation system.
Customer wants 3D Multiple Online Role Playing Game, but wants to pay the finished boxed retail price, for developing it.

And the customer preconception of how long it should take.

I x and wanted y months ago.


We as an Industry need to educate the customer that wants custom made software it is tailored-made to fit them. That custom-made software involves a cost, the time and expertise of the engineers involve.

But Joe in {insert location} says they can do it. Maybe they can but will it be of the same quality.

You couldn't be more wrong about the games industry.

This post has been edited by AdamSpeight2008: 20 March 2011 - 09:03 AM

Was This Post Helpful? 2
  • +
  • -

#15 JackOfAllTrades  Icon User is offline

  • Saucy!
  • member icon

Reputation: 6078
  • View blog
  • Posts: 23,546
  • Joined: 23-August 08

Re: The software development industry is a shell of its former self

Posted 20 March 2011 - 09:08 AM

View PostAdamSpeight2008, on 20 March 2011 - 11:19 AM, said:

View PostJackOfAllTrades, on 20 March 2011 - 03:05 PM, said:

Damn. someone read or heard about state machines and thought they'd try it out...badly and with no understanding!

Are you referring to me or the person referred to in the original post? I hope it was the latter.
Or you'll experience the follow in state-transitions.

Normal -> Slap Initiated -> Being Slapped -> Slap Finalising -> Normal


Oh geez, the OP Adam! The OP!
Was This Post Helpful? 0
  • +
  • -

  • (2 Pages)
  • +
  • 1
  • 2