Software Engineers referred to as "Code Monkeys"

Discussion in 'General Electronics Chat' started by Dynaman, Sep 20, 2010.

  1. Dynaman

    Thread Starter Active Member

    Jan 17, 2008
    46
    0
    Folks:

    Long time no post. I read in some money type magazine where some corporate thug referred to software engineers as a "code monkey" for a project he was proposing. I have heard the term before, but this time took offense.


    I find it demeaning to this specialized skill. I don't write code myself, but certainly appreciate the effort that goes into it.

    I guess it's okay to refer to a doctor as a "health monkey" , or a secretary as a "phone monkey".. right???...

    Comments?

    A.....;)
     
  2. tom66

    Senior Member

    May 9, 2009
    2,613
    214
    Programming is an art.

    It takes logic to design an algorithm to do what you want.
    It takes skill to find a feasible way of implementing it.
    It takes knowledge to be able to implement it.

    However, I think programming is becoming a commodity. I think that is what he is talking about.

    It is not too difficult to learn programming, and this makes it unattractive to look for employment in computer programming. To the point that I will probably not pursue it as a future career. I am taking Computing AS to build my skills up and to have something on my C.V., but I intend to go into electronics as I believe there is far more art, skill and reward involved.
     
  3. Wendy

    Moderator

    Mar 24, 2008
    20,766
    2,536
    Flip side,

    Every tech teen starts off with programming, it is cheap to learn if you have the incentive and brains. It is one of the 1st jobs outsourced to far away lands because of this.

    Because of the quantity of people doing it the pay basically sucks. You have to be extremely talented for this not to be the case.
     
  4. tom66

    Senior Member

    May 9, 2009
    2,613
    214
    The average salary for an electronics engineer in the US is, according to Wolfram Alpha, $91,540/year (sounds like way too much, I thought it was about $45k, perhaps I'm just thinking in GBP£.)

    The average salary for a computer programmer is $74,960/year.

    These figures seem large (probably for more experienced people) but the gap is quite obvious. $14,580/year is nothing to sniff at.
     
  5. sceadwian

    New Member

    Jun 1, 2009
    499
    37
    Code Monkeys are the entire reason why operating systems require 10-100 times more resources than they should for what they're actually doing. One code monkey tells the other this it he API they have to use, so they use it, other code monkeys do so and so forth with any number of API layers inbetween. The end results is horribly inefficient code.

    If you want to know what it should be truly like to be called a programmer look at the German Demo scene. These people do so much with so little it's amazing.
     
  6. tom66

    Senior Member

    May 9, 2009
    2,613
    214
    I was thinking about raising this point.

    Operating systems are just so bloated nowadays.

    That goes for Windows, Linux, Mac OS X, whatever.

    I think Linux is better but on the whole all OSes are big and ugly.

    It's the reason you need a 2 GHz processor and a dedicated GPU to run a decent game (hint, it's Far Cry v1), when the PS2 manages with a 299 MHz chip and a basic "Graphics Synthesizer."

    But you need them (OSes) still.
     
  7. rogs

    Active Member

    Aug 28, 2009
    279
    37
    What I have found, in the last 25 or so years that I have been involved with electronics projects of varying complexity, is the change of 'status' (and therefore salary!) of hardware and software enginners, within the profession.

    There was a time -I'm thinking mid 80's - where it was really 'trendy' to have even simple projects 'software' or 'microproceesor' controlled.
    The reality of underfunded software developments, and some pretty awful 8 bit hardware, resulted in some pretty unreliable systems!

    Backlash? - small projects, early/mid 90's - hardware with combinational logic is good, for simple projects.
    'Custom software' is bad news!

    Now, with half the planet able to write simple code for PICs, and the more robust hardware structure of the PIC microcontrollers, the pendulum swings back again.

    What seems to be missing now is the hardware engineers, with 'analogue' experience, capable of interfacing these clever little software controlled devices, with the real world.

    With all the WW2 and 'cold war' military trained electronic 'hardware' types now retired, and the hardware 'hobby' magazines all gone, it's not surprising that there's a shortage of experienced electronics hardware engineers.

    Got to be one of the best otptions for younger guys just starting?

    Learn to design hardware, and sub contract the software to one of the millions of guys that seem to be able to write code for next to nothing --especially, it seems, in Asia?

    Or is that just too simplistic?
     
  8. Kermit2

    AAC Fanatic!

    Feb 5, 2010
    3,795
    951
    If simple programing is such a breeze, then do both. Learn about hardware interfacing and design, AND programing then you are a two in one, super capable, hyper employable person.

    Right? ;)

    EDIT: I really think the 'monkey' moniker should be extended to lawyers and politicians.

    Legislation Monkeys. I like the sound of that :)
     
  9. sceadwian

    New Member

    Jun 1, 2009
    499
    37
    tom66, that view is a bit distorted, console game hardware doesn't change, not the core hardware at least. There are at least a hundred various core system devices on a PC that can influence gaming, ALL of which are different. You can develope code for a console because the hardware doesn't change, the hardware for a PC and many other types of devices is changing weekly even.

    There are code teams out there that STILL develop code for Amiga's Commadores and other outdated original PC style systems. They ALWAYS improve they always come out with some new code or visualization that pushes the boundary of what was previously known.

    My personal viewpoint is the Ps3 is the currently developing platform of importance. Not even a large fraction of the titles made for it fully utilize it's potential, all because the coder monkeys are just that, banging on the same keys when there's a universe of possibilities at the systems core.
     
  10. retched

    AAC Fanatic!

    Dec 5, 2009
    5,201
    312
    A lot of folks are just repeating the same code they have typed a thousand times before.

    Opening old projects, cutting, pasting, repeating.

    Its true.

    If Windows didnt try to build off of Windows, it would be a much better OS every time.

    They just keep packing more crap on top of their crap pile.

    When they decided to scrap 2000 and make XP on NT, they did good.

    They SHRUNK the size of the OS's TSR programs and increased power.

    Then someone said: "WOW! look at all the processing power left! LEts make pretty graphics! Tee hee hee!"

    But at least you could shut them off and choose how "bloated" you wanted your system.

    But, yes. Monkeys they have become.

    Monkeys we have become.
     
  11. cjdelphi

    New Member

    Mar 26, 2009
    272
    2
    I suppose i understand where the term code monkey comes from, grease monkey who fixes my car could call me a code monkey.

    But most of you are saying, are pretty much saying you're constrained to what one can do in terms of code, IE calling an API from Windows, eg most basic one would be CreateWindowEx then create a class, if it's all in win32, in a language like C or Pascal you're going to end up with a native binary exe which surprisingly will be small very small...

    But, once we start talking about VB and Delphi, if you then start using their libraries, bloat takes place, many many lines of code get compiled into your binary even though you're probably only using 10% of those routines so your exe from a simple shell becomes 300 - 400k for the same program as a win32 one.

    Then we have things like java, byte code, even more bloat, .NET even more layers of crap which adds more and more binary to your executables.

    But, Assembly is not dead, you can write a program in windows that is less than 64k and can do everything a program of 8 meg can do, but we don't generally see that happening these days why?... same reason why people turned to frozen meals and tv dinners, convenience... why waste 1000's of hours of time when all the code is there already to be used to turn 1000's of hours into just 100's of hours or less.

    Why write a routine in assembly in 50 lines when 1 line of code is required to use some code from a DLL or a Library from other library, so what if you gain 100k to do so because you have to import in an entire library, people have around 1 - 2 gig on average for memory these days, so what if a program uses 8 meg of memory or for that matter 80 meg, programmers are no longer constrained by hardware like we once used to be so we got lazy.

    I myself prefer a blend of assembly and a higher level language both speed and ease to produce some very powerful apps.
     
  12. JDT

    Well-Known Member

    Feb 12, 2009
    658
    85
    I love assembly, because you can get right down to the nuts & bolts and write very efficient code. But for me only for PIC's and AVR's! Most programmers seem to use C even for these chips now. The bloat starts there.

    The fact is, writing applications for Windows and Linux bloat happens because the applications are far too complex for anyone to understand in their entirety. Think of a web browser, for example. Impossible for anyone to write the whole thing from scratch. In any language. So yes, you use re-usable code libraries, classes, operating system API's and device drivers. This way, the majority of your application is using code that is tried and tested.

    Still plenty of room for bugs to creep in though!

    However, there is a 64-bit operating system written entirely in assembly:-
    http://www.osnews.com/comments/23814
    How good it is - can't say!
     
  13. cjdelphi

    New Member

    Mar 26, 2009
    272
    2
    wow interesting OS, but the reason why most people prefer reusable code (which means importing large chunks of binary into your executable (which makes the bloat) so you can memory reference / jump to the routine run it then ret back to your own code) is also down to the fact it's tried and tested...

    Last thing you need to do is create a highly efficient program using all your own code importing no libraries to make a 12k exe file to find out some hacker can buffer overrun one of your highly efficient 12byte array overwrite the memory stack and put a pointer to some other kind of code they injected...

    Tried and tested code means generally it's going to be safer but obviously the fact is let's suppose you call a routine say something like (in pascal) StrCopy, you don't just import the code for that one routine, you actually import every single routine from that library and all of it gets put into your executable, if you went to the effort of calling single API's and putting in a lot of work you can remove the bloat... but why, seriously we now have the computers that have the hardware we're not constrained, we're not constrained to 640k base memory no more, we can use huge amounts of memory and cpu power and barely not touch what the machine is capable of.

    but you made a good point, when programming a PIC it has to be efficient and you are constrained by memory, if you program for a long time with huge constraints, programming on say windows or linux looks like childwork.
     
  14. Bosparra

    Member

    Feb 17, 2010
    79
    3
    Another problem with software development being diluted is that it is so easy to get started nowadays. Problem is though, most universities around here teach Java, which in my opinion is the wrong place to start. I see way too many youngsters, freshly graduated, that does not understand how to make sense out of a hexdump, for instance. He's got the papers, but still has no insight. Allot of them, with many years of experience, still don't have the insight because they are too far removed from the nuts and bolts. One of our senior developers, also a Java "software engineer" once told me he could not build a proprietary TLV structure we required, because there is no class to that does it! I went to a dark corner and quietly bumped my head against the wall for a while....
     
  15. nsaspook

    AAC Fanatic!

    Aug 27, 2009
    2,912
    2,176
    The people who processed messages on the old autodin system were called tape apes for the 5 level paper tapes that were used to record messages. Code monkey, tape ape, those are nice names for hard working people.

    [​IMG]
    [​IMG]
     
  16. sceadwian

    New Member

    Jun 1, 2009
    499
    37
    Sorry Nsa; Tape Ape I can understand. Code monkey, not so much; I have no positive connotations towards the phrase code monkey. A tape ape might have performed a function, coder monkey's just bang on the keyboard till it works.
     
  17. retched

    AAC Fanatic!

    Dec 5, 2009
    5,201
    312
    Tape ape I can see... With the knuckles curled under holding a reel in each hand/arm. Running to and fro swapping out tape reels..

    I wonder how much of that cabling is shielded?
     
  18. Wendy

    Moderator

    Mar 24, 2008
    20,766
    2,536
    Wonder how many people learned coding via punch cards like I did? I was going to college in Wilburton OK, and using a computer in Kansas City, studying FORTRAN.
     
  19. sceadwian

    New Member

    Jun 1, 2009
    499
    37
    I'd have loved to Bill, but I wasn't alive then. I've read enough books and general history to know that I would have had an absolute field day if I were born 10 or 15 years earlier than I was.
     
  20. retched

    AAC Fanatic!

    Dec 5, 2009
    5,201
    312
    WOAHWOAH WOAH! No fair.

    The rules SPECIFICALLY STATE:

    MODERATORS! Yank this whipper-snapper up!

    ;)
     
Loading...