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?

New Topic/Question
Reply


MultiQuote












|