Slashdot Mirror


Does the 'Hacker Ethic' Harm Today's Developers?

snydeq writes "Fatal Exception's Neil McAllister questions whether the 'hacker ethic' synonymous with computer programing in American society is enough for developers to succeed in today's economy. To be sure, self-taught 'cowboy coders' — the hallmark of today's programming generation in America — are technically proficient, McAllister writes, 'but their code is less likely to be maintainable in the long term, and they're less likely to conform to organizational development processes and coding standards.' And though HTC's Vineet Nayar's proclamation that American programmers are 'unemployable' is overblown, there may be wisdom in offering a new kind of computer engineering degree targeted toward the student who is more interested in succeeding in industry than exploring computing theory. 'American software development managers often complain that Indian programmers are too literal-minded,' McAllister writes, but perhaps Americans have swung the pendulum too far in the other direction. In other words, are we 'too in love with the hacker ideal of the 1980s to produce programmers who are truly prepared for today's real-life business environment?'"

16 of 436 comments (clear)

  1. Software engineering is not a new concept. by Ethanol-fueled · · Score: 5, Informative

    And though HTC's Vineet Nayar's proclamation that American programmers are 'unemployable'...

    Flamebait. The article goes on to say that Americans are all prima donnas who are out of touch with reality and want to start with 80K a year and whatnot. Besides that being a bad stereotype and not always true, and when it is true it also applies to math or engineering or whatever grads whose parents buttercupped them with promises of the American dream when they finished school. It is their fault for not anticipating reality just as it will be the Indians' fault if they refuse to anticipate their jobs going somewhere cheaper.

    there may be wisdom in offering a new kind of computer engineering degree targeted toward the student who is more interested in succeeding in industry than exploring computing theory.

    They're already here, usually called "Software Engineering. The coursework is usually half business, half programming and IT. If you can survive rolling your eyes at all the buzzwords and colored charts, it's decent preparation for becoming a Dilbertian drone. Plus, you won't have to sweat learning the vector calculus you'll never use outside of school.

    1. Re:Software engineering is not a new concept. by mutantSushi · · Score: 5, Insightful

      The entire meme put out by this CEO of Indian software outsourcing company is absurd. What is this guy's area of expertise? Is HTC known for actual innovative work, products that sell themselves, that create new markets around new functionalities? Of course not. They are outsourcing the lowest-end "drone work" from companies like Microsoft. I.e. the most labor-intensive kind of work, i.e. the least lucrative per man-hour, i.e. the kind you don't want to get into if you have any sense. But never mind that, there must be a BIG PROBLEM with Western developers who really should know they need to give up their 100k/year job working with a few guys they get along with writing iPhone software, or working in an environment that is flexible with their lifestyle, and might even provide an outlet for the intellectual curiosity that drew them to the field in the first place. And they really need to cut out that art education in public schools...

    2. Re:Software engineering is not a new concept. by dintech · · Score: 5, Insightful

      I work for a top investment bank which employs more than 10,000 developers worldwide. They have recently got rid of all outsourced developers and insourced everything. From the very top level of IT management it was decided that quality is indeed worth it. You can read into this any way you like but the facts speak for themselves and there's nothing Vineet Nayar can say or do about it. I can imagine that any development groups that value the same principles will follow suit eventually.

    3. Re:Software engineering is not a new concept. by nine-times · · Score: 5, Informative

      it's decent preparation for becoming a Dilbertian drone

      This makes me want to comment on something that may well be a valid point in all of this. I've run into a common problem in lots of companies with lots of workers. I'm not saying that it's limited to Americans or technical people, and I'm American after all, but it can be a problem: everyone wants to be a cowboy, and nobody is willing to be a drone.

      Now lots of people are probably going to get pissed off that I'm claiming that "nobody is willing to be a drone" is a problem, but hear me out because it's not that simple. I'm not saying we need more "mindless drones", but I've seen the cowboy mentality go bad lots of times. People love to be the hero who saves the day, but in lots of real-life work situations, the day only needs saving when someone wasn't following directions in the first place.

      Lots of people are so bored and frustrated with the menial tasks of their everyday work day that they let things slide. Then when all the things they've let slide come to bite them in the ass, they really enjoy the thrill, drama, and glory of pulling a quickie solution out of their asses just in the nick of time. They save the day, feel important, and get to tell the story of how clever and skilled they were right when their skills were most needed. It's very understandable, but it doesn't encourage people to do things right the first time, and so there are a lot more problems than their need to be.

      It'd be really nice if people were willing to document things, make checklists for their regular procedures, and take notes in meetings. It'd be great if people were just thorough and actually paid attention to directions-- things like that. But I don't know if that has anything to do with a "hacker ethic". I'm not sure what the "hacker ethic" is, but the Wikipedia article doesn't make it sound too bad.

    4. Re:Software engineering is not a new concept. by Lord+Ender · · Score: 5, Insightful

      We outsourced a lot of development and IT to an Indian office, and found the experience to be most similar to managing a workforce composed entirely of interns. Our security group is also terribly concerned with the attitude toward (customer) data security observed in the Indian office.

      I am quite sure some brilliant minds have come from India, but I get the impression they all left for the West where they could make six figures. If you are good with technology, why stick around in a country where half of households don't even have toilets? You just won't get talent for $20k/year, not even in India.

      --
      A slashdotter who didn't build his own computer is like a Jedi who didn't build his own lightsaber.
    5. Re:Software engineering is not a new concept. by PeanutButterBreath · · Score: 5, Insightful

      I hate being a drone. I get bored, frustrated and ultimately wander off, to the betterment of everyone involved.

      That said, I agree. I was once in charge of a 3 person team (non-software-development) and the absolute best guy I ever had working for me just wanted clear instructions, a constant supply of work to apply them too and a place to work without being distracted. The more repetitive the better. He would go into his zone and out-produce everyone else by miles. He seemed to derive personal satisfaction from things like consistency and productivity, rather than expecting a job to be entertainment or a chance to repeatedly demonstrate his individual genius.

      Of course, he was an oddball by the standards of upper management, who were convinced that their company should only employ enthusiastic, young go-getters. These types would get bored within a few weeks and require constant motivation and incentives just to do the bare minimum. Not that I blame them -- I wouldn't have wanted their jobs or their paychecks either. But if I could have split 3 salaries among 2 people who were actually suited to the job, I could have go more work done more consistently and wasted less time listening to gripes and training replacements.

      There are aspects of software design that require creativity. There are aspects that require technical rigor. There are aspects that require procedural diligence. Etc. You are rarely going to get all of these things in a single person, and if you don't match the specific requirements to the strengths of the "programmer" you are likely applying the wrong person to the task.

      At the same time, "programming" in the US tends to attract very smart people, and very smart people often overestimate their capabilities (often by underestimating the significance of things that don't interest them).

    6. Re:Software engineering is not a new concept. by Nefarious+Wheel · · Score: 5, Insightful

      We outsourced a lot of development and IT to an Indian office, and found the experience to be most similar to managing a workforce composed entirely of interns

      We've found in our dealings with offshore developers that the Indians are very process minded. Very process minded. It's the superficially attractive "Paper Raj" that kills you. CMM level 5 certification, for example, is absolutely right down their alley.

      Problem is, CMM5 doesn't actually equate to delivery on time and under budget, just that your processes are correct (ref: Capability Maturity Model). For although process methodology and certification is the sort of thing that appeals to your non-tech execs and risk managers, it doesn't provide clue the first toward whether or not the firm can actually build or deliver to your specification.

      To make it work you need to be involved almost to the point of managing it yourself, and it's a fine balance whether the tradeoffs are financially worth it.

      So if you want process, cool, go to India for the job. If you want intelligent and clever design, you need an intelligent and clever person near you. It doesn't matter whether they're Indian or caucasian, M or F or alternative, brains come in all packages. But you need to find that person, yourself. Your outsourcer won't necessarily put the best or right person on the job you need done, they'll fill the spot. The "company full of interns" reference above is spot on and scary.

      --
      Do not mock my vision of impractical footwear
  2. tigers vs lions by MeatBag+PussRocket · · Score: 5, Insightful

    part of me says that the out-of-the-box, non-conventional thinking that self learners typically have can be a real asset, it shows diligence, creativity and adaptability, nobody penned out the laws and rules for them, they had to find them on their own, it is its own category of brilliance in some respects. generally it doesnt lend itself to production environments though. but perhaps on a more problem solving level this characteristic is more valuable than the beautiful clean code than more schooled programmers learn. a good team of anything (programmers, sysadmins, football players) all have their strengths and weaknesses and they ought to compliment each other and balance out. in short both are needed but assessing the value of each must be done on independent terms, its the same animal but a different species.

    --
    i wage a holy war against the apostrophe.
  3. Unemployable? by outsider007 · · Score: 5, Funny

    I thought our messy unmaintainable code made us unfireable.

    --
    If you mod me down the terrorists will have won
  4. Structure can be learned creativity cannot by Quasar1999 · · Score: 5, Insightful

    You can take a creative person and teach them the correct ways to apply their ideas, but you can't take someone that knows the 'rules and regulations' inside and out, but sucks at independent thinking and teach them to be creative.

    Hence why you'll get a bunch of people who have the same degrees from the same universities but they will have capabilities that are miles apart when it comes to software development. All the people were given the nuts and bolts knowledge, but only the creative ones excel in the real world think outside the box environments. That's not to say there aren't places for the 'by-the-book' developer, but it'll be maintenance coding, and not make the latest cutting edge app or game.

    Hacker mentality or not, lack of creativity is why Indian developers tend to produce lackluster results. (And before I get flamed, I'm saying this in general, I'm sure there are many creative Indian developers out there, just as there are many uncreative American developers)

    --

    ---
    Programming is like sex... Make one mistake and support it the rest of your life.
  5. Re:How about we start teaching REAL Programming... by seebs · · Score: 5, Insightful

    A friend of mine uses Eclipse, not for some huge "grunt work" but just to have all the class reference stuff quickly available from code. I actually sorta like that; I've used NetBeans for the same reason, and I use Xcode sometimes for Objective-C. They all have the ability to provide real improvements in the work I'm actually doing.

    Don't be too quick to throw away a tool. There is a reason that Rails has 'script/generate scaffold', and it's not just that programmers don't know any better -- it's that often that framework will be close enough to right to save you a ton of time.

    --
    My blog: http://www.seebs.net/log/ --- My iPhone/iPad app: http://www.seebs.net/seebsfrac/
  6. But it's green by travdaddy · · Score: 5, Funny

    In other words, are we 'too in love with the hacker ideal of the 1980s to produce programmers who are truly prepared for today's real-life business environment?

    I don't know, but us IT guys save A TON of money riding a skateboard everywhere, and it's environmentally friendly! Who's laughing now?

    -The Plague

    --
    Adidas To Bring Back Sneakernet
  7. Re:Hackers vs Designers - Hackers Loose every time by Spazmania · · Score: 5, Insightful

    Things like PERL are deeply disturbing to anyone with a sense of design.

    Perl is glue. Glue is messy. It's supposed to be messy; it handily fits things together that wouldn't otherwise interoperate.

    Not much of a designer if you don't even know what glue is for.

    --
    Moderating "-1, Disagree" is simple censorship. Have the guts to post your opinion.
  8. Re:How about we start teaching REAL Programming... by qoncept · · Score: 5, Insightful

    Arguing against IDEs is pretty tired and boring. And embarassing. In general the code from "IDE Junkies/Jockeys" is just fine. An IDE is a tool like a hammer and if someone is using it wrong, you're going to see some bent nails. Refusing to use a tool isn't much better. An IDE takes a huge amount of trivial work out of designing GUIs, fixing syntax, refactoring, integrating with version control and just helping you remember the names of objects or methods or whatever. Am I an idiot because I'd rather look through a list that automatically pops up in my GUI than flip through a 500 page book?

    Using a text editor instead of a full IDE (to work on appropriate scale projects) is like hunting with a spear, but you're not nearly as cool.

    --
    Whale
  9. Re:Stop posting McAllister. He's the new Dvorak. by hairyfeet · · Score: 5, Interesting

    This will probably get me modded down, but what the hell, i got karma. You want to know the REAL difference between an American and an Indian coder, and why they think of us as "cowboys"? One word: Adaptability.

    Working on this job with a really sweet Indian girl, who was quite happy to be an American citizen now and said she wouldn't go back if you paid her, I asked why does Indian tech support suck. This was after we were all rolling on the floor laughing as she dealt with tech support by cursing them in Hindi when they told her to reboot again. She rolled her eyes and said "it isn't just the tech support, it is the programmers too. I would take one American over a dozen of my countrymen if they have never lived here for any length of time". She then sat down and explained it like this-

    "It is the caste system" she said, "There you NEVER question those above you, ever. if your boss says the sky is purple and 1+2=12 then that is the truth. You never question those above you for any reason. Which works fine as long as it is something that can be written down and followed step by step. But life and computers rarely work that way. They always throw you curve balls and pull weird things that somebody forgot to write down. In those cases the American will "pull a Macgyver" and make it work. The Indian will just be lost, as you just don't do things like that. That is why I am quite happy to be here, thanks."

    So if you want to know why they think of us as "cowboys" there you go. It is because an American will try to figure out a weird problem while the Indian will wait on his/her boss to tell them what to do. Which is fine if you want nice little drones that can't think for themselves, but we just aren't built like that. And I for one am quite happy about that. So call us "cowboys" all you want, but it gets the job done.

    --
    ACs don't waste your time replying, your posts are never seen by me.
  10. Re:opposite of observed by Ixitar · · Score: 5, Insightful

    I am a US citizen. I have worked in Japan, Korea, Taiwan and China for a few years. While there, I have worked with excellent local developers as well as developers from India who were working in those countries. I have also worked with coders who should not be let anywhere near a computer.

    It all depends on the individual's drive for excellence and the management structure that the person is bound under.

    I dislike these gross generalizations on either side.