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?'"

11 of 436 comments (clear)

  1. 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.
  2. 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.
  3. 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...

  4. 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/
  5. 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.
  6. 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
  7. 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.

  8. 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.

  9. 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.
  10. 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).

  11. 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