Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!


Forgot your password?
Programming IT Technology

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

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?'"
This discussion has been archived. No new comments can be posted.

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

Comments Filter:
  • by Ethanol-fueled ( 1125189 ) on Monday June 29, 2009 @04:39PM (#28519327) Homepage Journal

    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.

    • by mutantSushi ( 950662 ) on Monday June 29, 2009 @04:50PM (#28519539)
      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...
      • by dintech ( 998802 ) on Monday June 29, 2009 @05:23PM (#28520113)

        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.

        • by Lord Ender ( 156273 ) on Monday June 29, 2009 @05:40PM (#28520381) Homepage

          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.

          • by caffeinemessiah ( 918089 ) on Monday June 29, 2009 @06:36PM (#28521053) Journal

            If you are good with technology, why stick around in a country where half of households don't even have toilets?

            Because it doesn't really matter as long as *your* house has one. Metaphorically speaking, if you have the option of making $40k in India -- which goes a LONG way -- and staying at home, living like a king, keeping your social support system, etc. vs. migrating to the states and starting anew for $80k., then a lot of perfectly rational and obscenely talented people will choose to stay there. Money really isn't everything.

            • by TheRaven64 ( 641858 ) on Monday June 29, 2009 @07:41PM (#28521799) Journal

              Except the option isn't $40K in India, it's more likely $5-10K in India (which is above the average wage). If you go to work in the USA or Europe, you can probably save 2-3x the average wage back home every year. Go back 5-10 years later, and you can have a comfortable lifestyle and never work again.

              If you offer $40k in India, then you are likely to attract some good people, but you will also attract a lot of very poor-quality developers. Do you, as an American or European company, have people in India who can tell you which is which and won't be bribed (after all, if you're paying that much above the market rate, there's a good incentive for someone to pay half of their salary to the recruiter and get fired after a year; they'll still be in a better position than if they'd got a job at the average wage).

              The situation is very different if you are an Indian company with a decent amount of funding. In this case, you can offer a significantly above-average wage, only hire the best people, and still be paying less as wages than your western counterparts.

              • Re: (Score:3, Interesting)

                Last I heard, 30-40k was the average wage for a good developer in india. Perhaps your figure is for call center ops?
            • by Obfuscant ( 592200 ) on Monday June 29, 2009 @08:24PM (#28522299)
              Because it doesn't really matter as long as *your* house has [a toilet].

              Uhhh, yeah, it does. Shit has to go somewhere, and if it doesn't go down a sewer it tends to stay above ground. It's so much fun to kick back after a day at the office making your $40k, sipping your imported Coors Light to the smell of the next door neighbors' honey pots.

              Money really isn't everything.

              When you don't have any, yes, it takes on a certain importance.

              • Re: (Score:3, Insightful)

                I haven't been to India myself but know a number of folks from both places in both places (including Americans of European descent who relocated there) and what they have explained to me is that a moderately above-average developer in India has two options.

                One is to stay in India, and if so, he or she will earn vastly better than average wages there, and thus be able to afford a fairly high standard of living, in some respects better than in the West. (For instance, he/she will be able to hire a maid, poss

          • by Nefarious Wheel ( 628136 ) on Monday June 29, 2009 @08:26PM (#28522313) Journal

            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 [wikipedia.org]). 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.

          • by dbIII ( 701233 ) on Monday June 29, 2009 @09:33PM (#28522955)

            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

            There's a good reason for that. The most common scam is that as soon as the outsourced staff have learnt as much as they can from you they get reassigned to a more profitable projects and you end up effectively training a new guy for them. As for the attitude to customer data - it's not theirs so they really don't care.

          • Re: (Score:3, Interesting)

            by SQLGuru ( 980662 )

            There is a difference between outsourcing and offshoring. We've got a lot of off-shore resources (and more work seems to be going there). But they are all company badged. With Outsourcing, it's all about the bottom-line (cheapest head available writing the code -- quality isn't even an afterthought). With Off-shoring, it's about cheapER resources but still getting decent quality (one can argue if it's as good or not). My experience is that you need a mix of on-shore and off-shore (with little to no out

        • Re: (Score:3, Interesting)

          by Anonymous Coward
          My employer's off shore developers generally produce nothing better than "acceptable" and it's generally hard to get them to maintain things. They like to developnew things and don't even like the idea of maintaining their own code.

          But they're dirt cheap. So they have better equipment and more developers than we have in the UK. We're still waiting to get two developers replaced that left. Apparently they think we can replace them without placing adverts.

          To be fair to the off shore guys, the only reaso
      • Interesting. You can look at it as analogous to the creation of TV cartoons, i.e. the creators are artists who design the story and the key cells. The workers are the ones who ink the cells as per the artists' design (by hand or by computer imaging). The workers are also artists in their own way, but not to the same degree.

    • by treat ( 84622 )

      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

      That's barely a living wage in most of the cities where a programmer has a likelyhood of making a living. i.e. there are more than a few hundred companies that employ people in software development.

      • by Anonymous Coward on Monday June 29, 2009 @05:04PM (#28519797)

        80K/year is "barely a living wage"? If you want a 4 bedroom house with a three car garage, 2 Hummers, 3 kids, a couple of dogs, and a 2-week overseas vacation every year, maybe. Don't confuse "living wage" with "the American dream". There's a huge difference.

        • by Maxo-Texas ( 864189 ) on Monday June 29, 2009 @05:26PM (#28520175)

          I could live well on that wage in the middle of the country-- but it would be impossible in the upper east coast or the west coast.

          Consider that it would take the average indian programmer about 70 years to earn as a gross income enough to buy a "middle class" house in California.
          Rathole apartments are $50,000 a year in New York.

          Similar issues would exist in Tokyo.

          • Re: (Score:3, Informative)

            by phantomfive ( 622387 )
            I live in the San Francisco area for about $1,500 a month. $2000 if I decide to buy clothes that month. I think I could get it down to $1000, but I would need to sell my car.
          • Re: (Score:3, Informative)

            by macshit ( 157376 )

            I could live well on that wage in the middle of the country-- but it would be impossible in the upper east coast or the west coast.

            Consider that it would take the average indian programmer about 70 years to earn as a gross income enough to buy a "middle class" house in California. Rathole apartments are $50,000 a year in New York.

            Similar issues would exist in Tokyo.

            I'm not sure what you mean by "issues"... Japanese salaries are on average much lower on average than what you'd make in Silicon Valley or something, but people still do fine. I suppose the crucial point is what you consider "living well" (note: that isn't synonymous with a giant house with a lawn and a three car garage, a lawn holding 2 giant SUVs).

            Tokyo's not cheap, but it's an enormous city with a lot of housing available at all price levels, and the transportation system is good enough that you have

          • NY (Score:3, Informative)

            by wytcld ( 179112 )

            Hey, I moved from NY because apartment prices were going too far up. But you can get very nice apartments - say two good bedrooms in a fashionable part of Brownstone Brooklyn, in the $2000-$3000 a month range. Granted, 15 years back those same apartments were $800-$1200. Still, it's more like $30,000 a year for a very nice NY apartment, including in some of the better parts of Manhattan these days.

            That's still steep. But you can eat out better and cheaper in Brooklyn and Manhattan than about anywhere else i

        • I am not sure who modded you up, but try pricing living in an area with a significant concentration of tech jobs (say, SF area) and I am not so sure you can call 80k more than a living wage considering the rents and so on... that or you could have a 2 hour commute each way of course.

          Of course if you are so lucky as to land a great job in the midwest, say, 50k would be plenty, but what happens if you get laid off from your dream job? The odds of finding another tech job in a non-tech-heavy area are very low,

        • Cost of living varies wildly across America. Thus how much you need to make to have a good life does as well. Where I live, housing is cheap. I have a condo where principal + interest + taxes + insurance + HOA fees is less than $1000/month. Obviously you can live pretty cheap here. Rentals are, of course, less than that. What's more, that's in the city so I can (and do) bike to work, saving on transportation costs. Now compare that to when my cousin went to school in California. His parents rented him a pla

      • by dintech ( 998802 ) on Monday June 29, 2009 @05:09PM (#28519881)

        Programming has become more of a commodity and so thankfully Computer Science isn't just about programming.

        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.

        What exactly does this mean? If you want to learn about business, do an MBA. If you want to be a computer programmer, learn it yourself because it's not difficult enough to warrant an entire university degree devoted to it.

        Computer Science gives you a deep understanding not just HOW to use computers but something deeper than that. It's a mixture of the maths, physics and philosophy that underpins the whole concept of computing. Knowing what is possible and how to get there helps create the engineers of tomorrow, not some desk jockeys that solve transient problems and are equally interchangable with counterparts from any country. Most blue chip graduate programmes look for thinkers and creatives - not spare parts for the corporate machine that can be 'sourced' at commodity rates.

        • by PeanutButterBreath ( 1224570 ) on Monday June 29, 2009 @05:49PM (#28520501)

          Knowing what is possible and how to get there helps create the engineers of tomorrow, not some desk jockeys that solve transient problems and are equally interchangable with counterparts from any country.

          "Solving transient problems" is not necessarily a trivial or commodity skill. Its may not be something that someone with a Computer Science degree wants to spend time on, but it probably isn't something that an MBA or a marginal coder is going to do well either (whether they are trying to come up with a solution or even effectively define the problem). It still takes talent and specific skills that can't necessarily be taught to just anyone who happens to want a desk job with a decent paycheck.

          If you are fascinated by "maths, physics and philosophy that underpins the whole concept of computing", well those are valuable things, but they are not enough anymore. Software has become too broad to be left to either Computer Scientists or cube drones.

        • What branch of physics do Computer Science graduates work in? Where does philosophy fit in?

          I suspect that most CS graduates can be divided into 3 groups: 1) Those who debase themselves in the eyes of their professors by "merely" performing software development. 2) Those who preserve their purity by staying in academia and thus propagate the meme that CS isn't about programming. 3) Those who are unemployed.

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


      The next words in that quote you left unfinished were "is overblown."

      • Right, because that's what I wanted to debunk. The Slashdotter-friendly summary says that his words are "overblown" but TFA goes on to elaborate independently the bad stereotypes of Vineet Nayar. I am responding to them, not to the submitter.
    • 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 [wikipedia.org] doesn't make it sound too bad.

      • by cowscows ( 103644 ) on Monday June 29, 2009 @06:07PM (#28520727) Journal

        I'm not a programmer, but in my field we've got the same basic issue, which can be boiled down to something like this:

        In a given project, for every hour of fun/interesting/challenging work, there's ten hours(at least) of tedious/drone work that needs to be completed.

        It's not an issue specific to programming, or computers, or even technology. It's just a fact of life that will never change.

      • Re: (Score:3, Insightful)

        by Yvanhoe ( 564877 )
        I may sound a bit of an anarchist but here I go...
        There is a lot of differences between a hacker and a cowboy. The cowboy want to save the day, the hacker wants to make a shiny piece of thingie that works and does awesome. Not only does he want that, but he alwo wants to get recognition for that. He wants others to use his shiny piece of awesome. Documentations and protocols are a part of the process that is very natural (awesomeness points are awarded for auto-generated usable documentations). The hacker
      • by PeanutButterBreath ( 1224570 ) on Monday June 29, 2009 @06:23PM (#28520895)

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

  • Summary error (Score:5, Informative)

    by IamTheRealMike ( 537420 ) on Monday June 29, 2009 @04:40PM (#28519355)
    HTC is a Taiwanese electronics firm. The CEO in question is (according to the previous summary) running HCL Technologies. Of course if the previous summary is inaccurate as well, this is also wrong. But that's slashdot - they should replace the /. logo with a box of chocolates ...
    • Re:Summary error (Score:5, Insightful)

      by digitalgiblet ( 530309 ) on Monday June 29, 2009 @04:47PM (#28519475) Homepage Journal

      American Blog Editors are UNEMPLOYABLE!!

      In other news... Non-American Person who is CEO of Non-American company who wants to win contracts in America says Americans are not as good as his workers. Not saying he is wrong, but sometimes it is helpful to consider the source and evaluate any potential gain they have from the pronouncement in question.

  • Let me make this as clear as I can make it: Neil McAllister is an idiot. Stop posting his "stories".

    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 yet no evidence is offered as to why that's true. It simply is. Accept it on face value.


    As a "self-taught coder" (remove the "cowboy", because that has completely different implications) I am regularly frustrated by the coding practices of my more learned colleagues. Or more precisely, my colleagues who have more college backing behind their code.

    Bull^H^H^Hachlor's Degrees, Masters Degrees, PhDs, it doesn't matter. At the end of the day they still cram code into an editor with little regard for the reasoning behind the coding practices they follow. In result, those practices become useless as they overarchitect the system into a corner. (Or at a lower level, smoosh so much code into view that it becomes unreadable.)

    In my experience, if they don't have years of experience under their belt to understand the purpose behind coding practices, then all the practices they teach you in college are for naught. A more senior individual still needs to guide the code in the right direction, regardless of education.

    There you go. My anecdotal evidence that disproves your unfounded assertions. Are we all happy now?

    • by hedwards ( 940851 ) on Monday June 29, 2009 @04:53PM (#28519581)
      I have to admit, that I'm skeptical that coders now are any more cowboyish than they used to be. I mean I've read stories about how Bill Gates and Paul Allen used to handle Micro Soft's products early on before they changed the name and locale. Somebody will have to explain to me how today's coders can be any worse than they were.
      • 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.

        • by gbjbaanb ( 229885 ) on Monday June 29, 2009 @06:40PM (#28521091)

          That part of the 'cowboy' insult is quite valid, a cowboy coder can get things done that a more regimented,unimaginative coder will not be able to do. However, after hacking together a fix, does the cowboy sit down and document it? update the readmes, change logs, even update the bug ticket or put in lots of relevant comments?

          No. And that's the insult - not the technical skill, the enthusiasm, the keenness to fix things. Its the lack of polish that is the true problem with the cowboys. Fix that and you become a professional programmer, and that is when you've learnt to be a true master.

          • by networkBoy ( 774728 ) on Monday June 29, 2009 @07:33PM (#28521705) Journal

            The way we dealt with that was simple (if a bit patronizing). We have a couple "cowboys", myself included. We blaze proof of concept code in whatever the heck language suits our needs for a task at hand. The task is defined as we have these constraints, these goals, and need this data to sift out (this is machine test code). One of us will hack it up in a quarter or two*. Then it is handed off to the test engineering team to make a polished product out of it (usually in C/C++). During this transition we are answerable to the test devs at their leisure and whims, thus if you didn't doc things you'll be in more meetings (and who wants that, when you could be hacking the next shiny thing together).

            It works exceptionally well, as we can react quickly to somewhat amorphous changes to the initial spec, that usually come about as the prototype code is actually run and people realize that "hey it'd be nice to have this", or "that does what I said, but not what I want". We've all encountered this before and it's horribly frustrating when changes like this have to go through committee after committee, and ECOs and all that assorted crap. By doing it as a one man hacker get-er-done these changes become less problematic, some get pushed to the formal re-write, others get implemented quickly. The best part is it basically forces the almost universally needed refactor every product could use, but never gets. The stuff that shows up on The Daily WTF.


            *yes, we get about 6 months to produce properly working code. My last project was about 8 months, 60K lines of perl, 5K lines of C++, and about 4 major changes in architecture, 2 of which were ultimately reverted. In fact this latest one is good enough as prototype that they are not re-writing it and are simply running with it. Downside there is now I have to write _real_ documentation, not just code notes.
            so another couple months writing about 200 pages of usage docs, and 400 pages of API docs...

        • Re: (Score:3, Interesting)

          by dakameleon ( 1126377 )

          Don't blame the caste system, blame the education system - Indian education emphasizes rote learning, while American education has an element of creative thinking to it. The problem is that many equate the ability to perform in exams with the ability to perform at work in situations that are never out of the textbook.

          This can equally occur in the US, where aptitude in maths and sciences is no guarantee of methodical problem solving. Cowboy coders are good in many ways because they work out how to solve prob

    • by computational super ( 740265 ) on Monday June 29, 2009 @05:04PM (#28519795)

      Well, in college's defense - college doesn't even try to teach you the things that you need to learn by experience (although four years of college under a computer science major does equate to probably one or two years of real-world experience), but instead teach you all the things that you might never come across in "real life" but that are actually useful (such as NP completeness, Turing's halting problem, push-down automata, queuing theory, red-black trees, binary searches, "big O" notation, etc. - plus, you know, calculus, linear algebra, statistics and maybe even a smattering of history, literature, sociology, hard science, and so on) The things you need to learn by experience can only be learned by experience - I've never heard anybody suggest that a college education is a substitute for experience. I'm not familiar with any college curriculum that covers things like source control, makefiles, modularization, making sense of a program that was written ten years ago, reverse-engineering code that you no longer have source for, effective use of a debugger etc. etc. - the idea is that you're supposed to go to college and then get experience and then finally become a well-rounded programmer.

      If you know how to code, you're a self-taught coder... college is too busy teaching all the other stuff to waste it's time teaching you how to actually code.

      • Re: (Score:3, Interesting)

        by dballanc ( 100332 )

        This is the approach that my college took, and I have to say I find it a horrifyingly bad one. One or two courses could easily extend education to cover actual use of tools, and common practices in industry at the time.

        Having personally graduated from a 4 year college with a CS degree with very little real experience is something I found extremely frustrating. I finally came to the conclusion that the lack was primarily due to the educators themselves lacking real-world experience, and happily living in th

      • Re: (Score:3, Interesting)

        by Lord Ender ( 156273 )

        Sure--and mechanical engineers should just learn the mathematical models of bridge design in school. It's not the school's job to each them case studies and practical skills. They can learn that from experience after the first few bridges collapse.

        (If you missed my point: it is horribly horribly stupid for schools to excuse themselves from teaching things simply because they could be theoretically be discerned through "experience.")

        • Re: (Score:3, Insightful)

          No, they should give you small, non-lethal assignments that force you to learn (the rudiments of) those things on your own. That's why I say four years of college probably = one (maybe two, depending on the student) years of "real" experience, because you're cutting your teeth on spoon-fed, "toy", didactic projects. College is not, and should not be, vocational training. That's what vocational training is for.

          "I hear, and I forget. I see, and I remember. I do, and I understand" - ancient Chinese prover

        • Re: (Score:3, Informative)

          by HornWumpus ( 783565 )

          In point of fact mechanical engineers graduate college ready to take the E.I.T. (in the USA all 'real' engineers can take the test)

          That's the Engineer In Training (E.I.T.) test.

          Only after a number of years working under the supervision of a professional engineer (P.E.) can you take the PE test.

          I believe being a structural engineer is a further certification beyond PE. I could be remembering incorrectly.

          (If you missed the point of this: it is horribly horribly stupid for Lord Ender to think all thin

    • Let me make this as clear as I can make it: Neil McAllister is an idiot. Stop posting his "stories".

      He is an idiot. Confusing "HTL Technologies" with "HTC" is a serious mistake [infoworld.com] (here [informationweek.com] is the original article he misquoted). It's cowboyish and sloppy. Such a blatant mistake couldn't have survived the watchful eyes of a fact-checker/editor. That being said, it speaks volume about Infoworld, and the kind of process it has for reviewing articles submitted to it.

    • by MarcoAtWork ( 28889 ) on Monday June 29, 2009 @05:34PM (#28520281)

      I think you forget one thing, there are no college courses about

      - what to do if a task you scheduled for 6 weeks gets cut to 2 due to somebody in management arbitrarily deciding that 6 weeks "is way too long"
      - what to do if you are asked for a detailed estimate of a 2-3 month long task in an area you are not familiar with 'by the end of today' and that estimate will be binding
      - what to do if your technologically sound solution is shot down 'because this would cost too much to implement, can't you hack something for the next release next week'

      etc. etc. etc.

      If put in a job that rewards creating good quality code, good developers will flourish, if put in a job that rewards 'just hacking something together' then the 'self-taught coder' usually will do better because they won't even have to waste time architecting or really thinking, they'll just take the requirements and run with it, whether or not the requirements make sense and whether or not the resulting product will be mantainable, documented, working, or any combination of the above.

      What the US needs, rather than better schools/programs, is better companies focused on creating quality products, not companies that just because there is a perception that 'coding/coders are cheap, we can also outsource' get by with the absolute minimum of quality the market will tolerate.

  • tigers vs lions (Score:5, Insightful)

    by MeatBag PussRocket ( 1475317 ) on Monday June 29, 2009 @04:44PM (#28519417)

    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.

  • by outsider007 ( 115534 ) on Monday June 29, 2009 @04:46PM (#28519459)

    I thought our messy unmaintainable code made us unfireable.

  • Says who? (Score:5, Interesting)

    by seebs ( 15766 ) on Monday June 29, 2009 @04:46PM (#28519465) Homepage

    Hi, I'm a self-taught cowboy programmer. Never took a single CS course.

    I spent ten years on the ISO C committee. My coworkers like my code reviews because I'm thorough and careful. While my code isn't as good as I'd like it to be, the big hunk of my code that we put into our last product release has one known outstanding bug, and it's considered "cosmetic" -- it never impacts the actual output. (And that's for five thousand lines of code I produced in three weeks...)

    I don't buy it. I am a big fan of the "hacker ethic" -- and I see maintainability and code quality as *central* to it. Sloppy work is habit forming. The reason I can type ten-line shell scripts in at the prompt and have them work is that I have worked really hard to be good at what I do.

    So, basically, I don't accept the premise. We used to have offshore coworkers from India, and they were useless. They'd reopen bug reports because the same package failed to build for TOTALLY unrelated reasons. ("TeX is not installed" and "linker error due to frame table full" are not the same bug.) Since then, we started hiring people in China, and actually hiring them as full-time staff, and it works a lot better. They're not all hugely experienced, but they're solid, and they learn. (They even argue with us sometimes, which I'm really enthused about. That's how you get good.)

    • Re: (Score:3, Insightful)

      by Anonymous Coward

      Maintaining a program is always going to be a problem.
      I have limited experience between the realms of self taught hacker and say a typical Indian programmer but here's what I've seen.

      My current boss is a prime example of the self taught hacker.
      Our business uses 80%+ in house software.
      The documentation is low, though some key comments are there that actually hold the hint as to what that code segment is after.
      The programs are fairly quirky as they have been added to and edited for at least 10 years now.

    • by RingDev ( 879105 )

      I'm a self-taught cowboy programmer.


      My coworkers like my code reviews because I'm thorough and careful.

      You are not a cowboy programmer.

      Cowboys do not do code reviews. Cowboys do not question their own code. Cowboys just throw code at any and all situations. Cowboys don't test. Cowboys treat users like idiots. Cowboys don't document.


    • Re:Says who? (Score:5, Insightful)

      by hey! ( 33014 ) on Monday June 29, 2009 @06:14PM (#28520799) Homepage Journal

      Well, one thing that's important to remember is that most non-trivial systems are produced by organizations, not individuals. Doesn't it make sense that the quality of the institution is a factor in code quality? Take a talented individual, put him in a good organization and he will learn to work in a way that the organization rewards.

      Computer science is like anything other kind of academic discipline. It is very valuable, but it's not magic.

      Consider this thought experiment. Alice likes to read poetry, and tries her hand at writing. She regularly shares her poems with other people interested in reading and writing poetry. Bob likes poetry, so he gets a degree in English and takes as many poetry classes as he can. Then he starts writing poetry and tries submitting it to the New Yorker. It seems to me Alice is more likely to become an accomplished poet than Bob, although you can never know for sure. On the other hand, consider Charlie who like Alice workshops his poems all the time, but who also gets the same formal education as Bob. Again there's no guarantees, but unless something is seriously wrong with the school he's going to he should have the best shot of all.

      What I'm saying is that the Computer Science and the craft aspects of programming are complementary precisely because they aren't the same thing.

      Without a computer science background, Larry Page and Sergei Brin would never have been able to make Google a success. Google is very much a company founded on algorithms and grown through architecture. Without programming craft, the products would not have been able to be maintained and scaled.to success.

    • by Chuck Chunder ( 21021 ) on Monday June 29, 2009 @07:13PM (#28521467) Homepage Journal

      Hi, I'm a self-taught cowboy programmer.

      Not any more, now you're an anecdote.

  • by Quasar1999 ( 520073 ) on Monday June 29, 2009 @04:48PM (#28519507) Journal
    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)
    • by seebs ( 15766 ) on Monday June 29, 2009 @04:57PM (#28519663) Homepage

      What makes you think creative thinking can't be taught?

      • by Spazmania ( 174582 ) on Monday June 29, 2009 @05:13PM (#28519939) Homepage

        The absence of evidence to the contrary.

      • Sure, it can be taught. The question is, can it be learned?

      • by Quasar1999 ( 520073 ) on Monday June 29, 2009 @05:17PM (#28520011) Journal
        What makes you think creative thinking can't be taught?

        If it could be taught, it would be a multi-billion dollar industry. I know I certainly would love to attend courses that taught me to be more creative... I always wanted to write music, or create artwork... too bad all I've ever learned from the classes offered has been how to identify what sucks about what I created, but they never taught me how to actually create something good. That's always left to your 'creativity'... how convenient...

        For example, almost everyone knows how to use photoshop if they play with it long enough, right? Can you show me a school that will teach any average person to be artistic? Probably not, but I'm sure you can show me lots of art schools that can teach artistic people how to use photoshop with amazing results.
        • Re: (Score:3, Interesting)

          by Sta7ic ( 819090 )

          That's when you apply this odd thing called "experimentation". Just take a look at Thomas Edison. He sure as hell didn't sit around waiting for brilliant ideas, he put together a bunch of things, figured out what was wrong with the ones that didn't work, and adapted his next effort based on what he learned.

          If you've always wanted to write music or make art, get off your butt and do it! Re-evaluate what you've done after you've done it. And realize that an "artist" is always their own worst critic, makin

      • by Maxo-Texas ( 864189 ) on Monday June 29, 2009 @05:38PM (#28520341)

        It's not so much that it can't be taught as it can be completely squeezed out of the children by the time they reach college age.
        The bar is *very* high in india-- you either pass or you are screwed and may as well kill yourself (as about 3,000 a year do).

        Who wants to be "creative" in that kind of environment- you want to master the material and get the best possible grade. Creativity has no value until you are a grad student anyway.

        Americans tend to overvalue creativity from an early age-- wasting a lot of opportunities to be good worker bees. The result is poorly trained but creative individuals.

        I saw it this way once...

        American tries a thousand ways to draw a fish and finally masters drawing a fish. All along the way they are creatively making variations of the fish.
        Chinese are taught the one perfect way to draw a fish. Once drawing a fish that way is mastered, then they start creatively varying on the mastered fish.

        The sub-masters in China would be less creative while the sub-masters in America would be more creative.

        The masters in both cases are basically equally creative.


        I don't know for sure about Indians. Mainly- they just seem less bright and more "yes men" than they were in 2002-2003. I think the bright ones were promoted and the tremendous demand means that we now have bachelors degree types competing against our bachelors degree types where we used to have their masters degree and doctorate candidates competing against our bachelors degree types.

        So now they are average decent coders-- who are not as creative (because the creative types were filtered out by their culture, schooling system and national exams), more prone to agree to things which are impossible, and (slightly) lacking in communication skills.

  • "Programmers" (Score:3, Insightful)

    by PeanutButterBreath ( 1224570 ) on Monday June 29, 2009 @04:52PM (#28519567)

    "Developers", what have you. These names are overly generic, causing needless bickering about what they mean to various people. For a project of any size or consequence, you are likely going to need a spectrum of skills and perspectives to achieve anything worthwhile. If you are whining to the wold at large that every "programmer" doesn't fit the role you want someone to fill, you probably don't have such a project, or *you* are the problem.

  • opposite of observed (Score:3, Interesting)

    by treat ( 84622 ) on Monday June 29, 2009 @04:55PM (#28519609)

    My observation is that good American programmers can produce software that is -vastly- more maintainable, efficient, understandable. Easier to modify or extend.

    Mostly this is because they're combining a lifelong passion for programming with some education (formal or not) about software design practices. Foreign programmers on work visas are primarily concerned with making a better life for their family, altering their condition from one of near-poverty to significant wealth. They rarely have a passion for the work, and their only requirement is that they can accomplish enough to get and keep a job, not to excel.

    Foreign programmers who could not get a work visa to come to the US, but work for US businesses remotely for a reduced rate due to the discrepancy in cost of living are usually of the same mindset. But usually they weren't good enough to get a job in the US! More recently, their standard of living can be equal or greater by staying in their country.

    I simply don't know where the Indian or Chinese workers are that have significant skill or a real passion for programming, or computers in general. I have never met ONE in my life, despite working with countless dozens of foreign works on work visas. I have met some from other countries, but usually it is not places that are so poor that huge numbers of people are coming to the US to get a job that changes their standard of living. The exception is the former Soviet states. People from the former Soviet states often bring a passion for computing with them. Probably because they weren't poor in the same sense as someone of comparable income in India.

    • by Ixitar ( 153040 ) on Monday June 29, 2009 @05:36PM (#28520313) Homepage

      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.

  • by tnk1 ( 899206 ) on Monday June 29, 2009 @04:56PM (#28519629)

    Today's Real Life Business Environment was created by the Hacker Ethic. Basically, the enterprise is defined as stuff that hackers create that is standardized into something that drones can operate cheaply, consistently and effectively. The limitations that exist are based on the lack of most worker's skills, rather than the "obtuseness" of so-called hackers.

    I'm well aware that there are head cases out there who can't cooperate with anyone, but who created the original standards for computing and the Internet? Academics and hacker-types, which are not mutually exclusive groups. The Hacker mentality is very cooperative... just not social in the sense of physical connection. As long as they are safe in their bastions, hackers tend to work together on topics of mutual interest, and very effectively at that.

    The problem is not the developer to developer interface, unless you insist on hiring literally minded drones, it is the business to hacker interface... which can be an issue. Business people like drones because they are cheap and predictable, even in their failures. The management of these Indian development groups smooths over the issues that hackers would bring straight to them. If the code isn't working, drone computing means you throw more developers and more time at it as long as it makes the deadline. Even quality can suffer a little. The hacker mentality means finding a better way of looking at the problem that isn't in the book or even telling the business that they are full of shit.

    The interface problem is real. Business has a right to be able to make goals. However, their problems are not with turning hackers into drones, it is how they can work to interface with the hackers, perhaps with support staff such as better testers and technical writers. I have never been at a company that could use drone developers more than it could simply use some good tech writers, but for some reason the business hires the drones and leaves the people with the communication skills in the dark.

  • I think this person has a point.
    Let's re-evaluate. But in doing so, let's be fair.

    A programmer is only as good or as bad as the direction he gets.
    I propose creating a new kind of middle manager.

    You know... someone competent who has a basic understanding of process and why it's important to spend the time to put it in place, lol.

    Or am I asking too much?

    • A programmer is only as good or as bad as the direction he gets.

      Nonsense. If he's any good, he won't wait for direction. He'll proactively evaluate the big picture and start tackling it. That's called "initiative."

  • against the concept of genius

    in other words, not a very useful argument

  • Really? (Score:4, Interesting)

    by qoncept ( 599709 ) on Monday June 29, 2009 @04:57PM (#28519669) Homepage

    'American software development managers often complain that Indian programmers are too literal-minded,

    Really? I think we've all seen this thing [thingsdesigner.com]. If you aren't beign literal minded, you're making assumptions. When you make assumptions, at least some of them are going to be wrong. I spend a lot of time fighting for better defined requirements, because it means I'll spend less time doing rework when what I give my customer isn't what they wanted. The example I always give them is this:

    You tell me college football, if you have possession of the ball and your knee touches the ground, the ball is down, whether or not the player was tackled. I give you a college football game, and the first time you try to kick a field goal, the ball is downed 7 yards behind the line of scrimmage because the holder's knee is touching the ground.

    If you want something, your requirements better document it. Developers with "better practices" understand this. Unfortunately the people who write requirements usually don't.

  • by travdaddy ( 527149 ) <travo@nosPAM.linuxmail.org> on Monday June 29, 2009 @04:58PM (#28519685)
    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
  • Not just developers (Score:5, Interesting)

    by dave562 ( 969951 ) on Monday June 29, 2009 @04:59PM (#28519689) Journal

    The technology industry has moved beyond its infancy and become a fundamental part of most businesses. I'm a systems administrator and I started working in IT (MIS at the time) when I graduated from high school in 1996. In my childhood, I spent a lot of time hacking phone systems, hanging out at 2600 meetings, and doing all sorts of other not so legit activities with computers. I was interested in whatever systems I could get my hands on, whether it was a System 75 running Audix, a 5ESS/SS7 switch, Linux, Cisco routers, whatever. I read Internetworking with TCP/IP by Comer not because I was in college and had to, but because I wanted to understand what those around me were talking about. All of that development left me with a broad skillset that lacked focus. I developed a very high level understanding of how systems interconnect, and by working for some very good bosses, I developed an understanding of how the systems support the business processes of the organizations I worked for. I'm very much a stereotypical "Jack of all trades, master of none." sort of administrator.

    When there weren't many people out there with an interest in or hands on aptitude with computer systems, people with my skillsets were in high demand. In the small business sector, where companies can't afford separate DBAs, system admins, network engineers and so on, I fit in quite well. In the corporate world, I can't even get a job interview because they are looking for individuals who are highly focused on a single aspect of the overall network. The same thing holds true for developers.

    "Back in the day", being able to write code to get the job done was a mystical science for management types. Skilled coders were in short supply, so people who could hack programs together were employable. In this day and age, anybody can go to any number of colleges or trade schools and learn how to write decent code. Anybody can go to college or trade school and get an MCSE, or a CCIE, or any number of system/network specific certifications. Managers and employers want known quantities. They want developers who are going to deliver predictable code. They want system admins who are going to follow industry best practices.

    The technology industry has grown up. We aren't in the days of "Just make it work" anymore. We're in the days of refining how things work. Best practices have been established. Frameworks for doing things have been established. Companies are just looking for people who can "Make application X do A and B." reliably.

  • Apples to Oranges? (Score:2, Insightful)

    by lie2me ( 1504525 )

    "hacker ethic" as in "getting things done", versus "professional ethic" as in "cheating your way through school and career"? Let me see...

    • Actually it's those with the hacker ethic that cheat their way through life with "hacks" rather than doing things right and professional.

  • No (Score:5, Insightful)

    by MBCook ( 132727 ) <foobarsoft@foobarsoft.com> on Monday June 29, 2009 @04:59PM (#28519699) Homepage

    It's actively helpful.

    Besides occasionally helping to solve an "unsolvable" problem, there is distinct difference between people who like figuring things out and coding, and people who just code.

    People with the "hacker ethic" often have experience with a wide range of languages or disciplines, since they are interesting in knowing many things. This gives this a wide array of knowledge to draw on. The Mythbusters, in their RSA speech, said that they don't know a lot about any subject, but they don't know a lot about a lot of subjects, helping them succeed where others run into stumbling blocks. Same thing for hackers.

    Of course businesses, at least at some point, like the hacker ethic. Many businesses, at least initially, would rather have the hacked up system that works and they can make money off of than the "correct" answer of "it's too complicated" or "it can't be done". Sure this code can become a headache later (a very big one), but that's really because people didn't invest enough in paying off the technical debt in the code. If they had improved it over time it wouldn't be a large headache later.

    The people I've run into who don't have at least a little of the hacker ethic aren't good programmers. They may be able to program, but they don't move outside their little world of what they know how to do and what they use. The only improve when forced to (by being given a new assignment, etc) and they only do what is necessary to finish that assignment. Any knowledge they gained that they didn't need, they gained because they didn't realize they didn't need it.

    But if they were the kind of person who wanted to learn that kind of thing, they'd have the hacker ethic.

    It's a good thing. It keeps programmers sharp and interested. It helps them have more of the necessary skills when a new challenge arrives... or at least be able to pick up that skill faster/easier.

  • Horse Pucky (Score:5, Interesting)

    by Greyfox ( 87712 ) on Monday June 29, 2009 @05:00PM (#28519727) Homepage Journal
    There are just a bunch of really bad programmers out there. Degrees and nationality are largely irrelevant to skill at it. Don't blame "kids these days" or whatever because you're not good at filtering out the bad ones. It's not particularly difficult to spot the good ones, they're pretty enthusiastic about the questions you ask them and the problems you give them when you're interviewing.
  • software engineering (Score:3, Interesting)

    by Deanalator ( 806515 ) <pierce403@gmail.com> on Monday June 29, 2009 @05:02PM (#28519759) Homepage

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

    Which is why many universities offer software engineering degrees as a more practical alternative to computer science degrees. Software engineering degrees were offered at many of the schools I was looking at back when I started my undergrad in 2002. I was actually annoyed at how many software engineering classes my university crammed into my computer science curriculum since I had no intention of becoming a cube monkey.

  • by cromar ( 1103585 ) on Monday June 29, 2009 @05:06PM (#28519825)

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

    If only we were more in love! The thing is... the "cowboys" who can't shoot straight (e.g. write scalable, maintainable code) aren't real hackers anyway. It's a lot easier to be able to bang something together with glue and nails than it is to truly hack development. Any responsible hacker is going to know all about best practices, when to break them, and when to find new ones. There is beauty in simplicity as well as in obscure complexity. Whatever. Let the next generation all take classes in SharePoint or some crap like that and the good programmers among us may have even better job security than we had hoped for!

  • I MUST post this story on every developer forum on the web. Start with:

    Ubuntu forums
    Suse forums
    Debian forums
    Redhat forums
    Mozilla forums

    Ohhhh, I better get busy, I can fill in the list as I go.........

  • Cowboy Up. (Score:5, Interesting)

    by SoupIsGood Food ( 1179 ) on Monday June 29, 2009 @05:27PM (#28520189)

    When Indian companies come up with globally game-changing software on the same timetable as a Silicon Valley start-up like Facebook or Google, we'll talk. When a Chinese company has the long-term track record of quality and maturity that IBM and Oracle exhibit, we'll talk.

    Until then, the cowboy coder makes better software in less time at the beginning of their career, and matures into a more competent team player as the years roll by and experience piles up. This isn't a weakness, this is why we have an IT industry at all. H1B coders are generally useless until they learn to Cowboy Up... and once they do, there's not really much difference between them and the locals. (I wish more of them would apply for permanent residence and bring their families over. I like immigrants who want a better life, I don't like scabs.)

    Engineers at Honda start out their career working for the racing division, designing high-performance parts. Engineers at the end of their careers are assigned to subcompacts and mini-vans. This is because Honda needs fresh insights and youthful eagerness and excitement, and if the engineer flubs it, the only ones who know are the racing team. More importantly, Honda needs experienced hands who know their craft inside-out and upside-down to engineer the components millions of their customers will be using everyday, and their senior engineers generally appreciate the stability and predictability of a long-term ongoing project.

  • I think that opinions generalizing talent along lines of nationality is usually a load of bullshit fueled by the prejudices of the one doing the opining. This sounds like hubris to me. Perhaps they should consider developer productivity to be as much a function of management and empowerment rather than some innate ability of the people of some nation.

    Wake me up when HTC makes their own handheld OS.

  • Speaking from a perspective of 23 years experience in IT I can honestly say that the single biggest impediment to the successful delivery of any IT project is the failure of management to understand the nature of what it is we do.
    I am currently working as an Integration Architect in a rather large IT programme within which numerous separate-but-connected projects are being run. I find myself having to explain again and again to the PHB's what re-use means. Why we're concerned with maintainability. Why havin
  • by consonant ( 896763 ) <shrikant.n@g m a i l . com> on Monday June 29, 2009 @05:39PM (#28520359) Homepage
    Vineet Nayar does not 'belong' to HTC. he is the CEO of HCL Technologies. HTC is a Taiwan-based mobile handset manufacturer (among other things), and a pretty good one at that.
  • by Bob9113 ( 14996 ) on Tuesday June 30, 2009 @02:31AM (#28524905) Homepage

    Does research generate more or less long-run ROI in the corporation than rigor? Is there a place for both approaches? Assuming you have a proficient software engineer of each type, how does the corporation maximize shareholder value with each skill set?

    If he had posed those questions, and maybe troubled himself to make a passing attempt at exploring the answer space, this article might be interesting. As it is, it is a mindless hit piece. Corporations need a balance of free-running and rigorous direction. This is particularly true in the high tech sector, which is far from a done deal. This stuff is evolving at lightning pace; exploration has solid value, as does mechanism. Consider what happens when you rigidly apply best practices in our field; you wind up with a system that is heavily coupled to CORBA, RUP, EJB, MDA, SOAP, and a dozen other zombie acronyms.

    The problem is not research versus rigor, it is knowing how to apply each to appropriate problems. That is supposed to be a management task, but they don't understand our field and so don't know how to let a good horse run. They also do not know how to distinguish a good horse from a gluepot, so they do not trust either. And so management tends to prefer the rigorous engineer -- not because he generates more ROI, but because they understand him better. I must cut this short as I am starting to spin off topic, but I highly recommend reading Peter Drucker's exploration of the knowledge worker [wikipedia.org] to see where my point was about to wander.

To write good code is a worthy challenge, and a source of civilized delight. -- stolen and paraphrased from William Safire