Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

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

ScuttleMonkey posted more than 5 years ago | from the someone-needs-to-be-a-maverick dept.

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

Sorry! There are no comments related to the filter you selected.

First! (-1, Offtopic)

Anonymous Coward | more than 5 years ago | (#28519309)

Now that's hacker ethic!

Software engineering is not a new concept. (5, Informative)

Ethanol-fueled (1125189) | more than 5 years ago | (#28519327)

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.

Re:Software engineering is not a new concept. (5, Insightful)

mutantSushi (950662) | more than 5 years ago | (#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...

Re:Software engineering is not a new concept. (5, Insightful)

dintech (998802) | more than 5 years ago | (#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.

Re:Software engineering is not a new concept. (1)

molafson (716807) | more than 5 years ago | (#28520177)

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.

Re:Software engineering is not a new concept. (1)

treat (84622) | more than 5 years ago | (#28519639)

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.

Re:Software engineering is not a new concept. (4, Insightful)

Anonymous Coward | more than 5 years ago | (#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.

Re:Software engineering is not a new concept. (1)

baap (1585797) | more than 5 years ago | (#28520055)

Yo you can do nada without bling overloading() - CMMMON...

Re:Software engineering is not a new concept. (4, Insightful)

Maxo-Texas (864189) | more than 5 years ago | (#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:Software engineering is not a new concept. (1)

MarcoAtWork (28889) | more than 5 years ago | (#28520183)

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, hence why people tend to unfortunately have to live in certain very defined (and expensive) locations.

Re:Software engineering is not a new concept. (4, Insightful)

dintech (998802) | more than 5 years ago | (#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.

Re:Software engineering is not a new concept. (1)

Geoffrey.landis (926948) | more than 5 years ago | (#28519873)

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

Flamebait.

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

Re:Software engineering is not a new concept. (2)

Ethanol-fueled (1125189) | more than 5 years ago | (#28520073)

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.

Re:Software engineering is not a new concept. (1)

Anonymous Coward | more than 5 years ago | (#28520163)

Plus, you won't have to sweat learning the vector calculus you'll never use outside of school.

The only reason you don't use vector calculus outside of school is you didn't really learn it. If you really understood it, you would use it all the time. Vector calculus is far more than memorizing a few formulas for integration and differentiation. It's about the functions and what the integration and differentiation mean.

This is really a case of when all you have is a hammer everything looks like a nail. A corollary is that if all you've ever seen is a hammer, it might not occur to you that a screwdriver exists.

I've seen lots of people in technical fields, including most DBA's, who think they are at the top of their field. What they don't realize is that there is a universe of things they don't know about their field. These people are totally unable to grow, and I do my best to avoid working with them.

Re:Software engineering is not a new concept. (5, Informative)

nine-times (778537) | more than 5 years ago | (#28520229)

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.

Summary error (4, Informative)

IamTheRealMike (537420) | more than 5 years ago | (#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 (4, Insightful)

digitalgiblet (530309) | more than 5 years ago | (#28519475)

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.

Stop posting McAllister. He's the new Dvorak. (4, Insightful)

AKAImBatman (238306) | more than 5 years ago | (#28519385)

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.

Not.

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?

Re:Stop posting McAllister. He's the new Dvorak. (0)

Anonymous Coward | more than 5 years ago | (#28519571)

If I had mod points, you'd get one.

Re:Stop posting McAllister. He's the new Dvorak. (4, Interesting)

hedwards (940851) | more than 5 years ago | (#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.

Re:Stop posting McAllister. He's the new Dvorak. (4, Insightful)

computational super (740265) | more than 5 years ago | (#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:Stop posting McAllister. He's the new Dvorak. (3, Interesting)

dballanc (100332) | more than 5 years ago | (#28520215)

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 their own little world of academia.

I do believe strongly in the approach of teaching students how to learn over teaching them specifics and the benifits of a broad education. What irks me, is that it should be possible to do both - but where I went they didn't even offer electives that I could have optionally taken to expand my horizons.

Re:Stop posting McAllister. He's the new Dvorak. (1)

stephanruby (542433) | more than 5 years ago | (#28520211)

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.

Re:Stop posting McAllister. He's the new Dvorak. (1)

mrlibertarian (1150979) | more than 5 years ago | (#28520269)

...those practices become useless as they overarchitect the system into a corner.

Can you expand on this? I thought that over-architecture means that your code is very abstract and modular, perhaps to an unnecessary degree. Certainly, there are disadvantages to over-architecting, but how would it force your system "into a corner"? I would think that under-architecture would be the most likely cause of hard-to-change code.

Re:Stop posting McAllister. He's the new Dvorak. (3, Interesting)

MarcoAtWork (28889) | more than 5 years ago | (#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.

for u me (0)

Anonymous Coward | more than 5 years ago | (#28519407)

This has got to be the lamest 5 minutes I have ever lost in my life... I cannot get the 3-5 minutes back you know

Re:for u me (1)

dintech (998802) | more than 5 years ago | (#28519919)

It took you that long to read the summary? :)

tigers vs lions (5, Insightful)

MeatBag PussRocket (1475317) | more than 5 years ago | (#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.

Re:tigers vs lions (1)

al0ha (1262684) | more than 5 years ago | (#28520069)

Excellent synopsis but I must add that a self-learner can be quickly and easily taught clean coding and good comment techniques. The entity hiring them simply has to specify this is mandatory and ask them if they think they can do it.

I know because I speak from my own experience. :-)

What? (0)

Anonymous Coward | more than 5 years ago | (#28519441)

What does the hacker ethic have to do maintainability? The hacker ethic is about testing boundaries, making things because you can, breaking things because you can, and bring out the full potential of technology. It has nothing to do with coding styles and what effect they may or may not have on maintainability.

Re:What? (4, Insightful)

treat (84622) | more than 5 years ago | (#28519719)

What does the hacker ethic have to do maintainability? The hacker ethic is about testing boundaries, making things because you can, breaking things because you can, and bring out the full potential of technology. It has nothing to do with coding styles and what effect they may or may not have on maintainability.

I think the hacker ethic could strongly influence someone involved in software development in their choice of how maintainable to write code. But I think it influences some people to write unmaintainable code thinking that they're being "clever", and other people to write highly maintainable code because they know that it is indeed clever.

Also someone who thinks in terms of such passion for the art will be much more productive than others. So they can write maintainable code simply by having more time available (by being able to solve problems faster). Especially since the influence from management is never to make code maintainable, it's to produce it as fast as possible to satisfy some "business need". Writing maintainable code is an act of rebellion in most environments.

Re:What? (0)

Hatta (162192) | more than 5 years ago | (#28520067)

The hacker ethic is about...breaking things because you can... It has nothing to do with ...maintainability.

Really?

Re:What? (1)

baap (1585797) | more than 5 years ago | (#28520147)

Yeah .. really! To add to that - the hacker ethic involves often tedious and cumbersome ways to do everything to avoid everyday productivity on Windows - now hibernate your computer and go get an Atari...

Unemployable? (5, Funny)

outsider007 (115534) | more than 5 years ago | (#28519459)

I thought our messy unmaintainable code made us unfireable.

Re:Unemployable? (4, Funny)

hedwards (940851) | more than 5 years ago | (#28519605)

No, the program to fix the mess of poorly formated jumbled code, is what makes us unfireable.

Says who? (4, Interesting)

seebs (15766) | more than 5 years ago | (#28519465)

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:Says who? (3, Insightful)

Anonymous Coward | more than 5 years ago | (#28519955)

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.
They continue to work, despite their age, and are still being edited constantly.
A little research is involved for each change to the software or SQL queries which usually include things like being certain exactly what the code is doing and what other programs or sections of the same program will be effected.

My experience with Indian programmers is via a completely different kind of program, in this case a technical support ticketing system designed for a large number of entries per day.
Comments were extremely sparse and the comments that existed were not extremely explicit. 'Do the needful here' does not express what is going on in the code and why it is necessary to do whatever it is you are doing (that particular comment was involved in opening a new IE window and closing the old one... no particular reason could be found for that).
Comments made around error catches read something like 'in case of no joy' that at least let me know it was some kind of error catch but what exactly was being caught took some digging.
The program itself wasn't designed well for the volume it was intended to handle as there was a heavy reliance on javascript which caused long wait times as it hung in places on top of the wait times for data from database returns.

The only other experience I have with either type is a short experience with a self taught hacker type.
I inherited his program with no documentation at all. Actually I only know that the program resided on a particular system, not even where the pertinent files were located.
He used ASP, Access, XML, and Excel. Around that point I decided it was best to rework his program from scratch as his files were scattered everywhere and were completely unusable unless you were already familiar with what he was doing.

So I do not believe it comes down to where your 'training' comes from. I believe it comes down to good form and forethought, which both sides can obviously lack.
For my two cents, self commenting code is not commenting. It makes it more readable but actual comments should be in place to keep someone reading in the know as to what each major portion of code is for and what complicated sections are doing.

You are not a cowboy. (3, Insightful)

RingDev (879105) | more than 5 years ago | (#28520041)

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.

-Rick

Hackers vs Designers - Hackers Loose every time! (1, Interesting)

itsybitsy (149808) | more than 5 years ago | (#28519485)

Hackers are those that take an axe and hack down a tree creating a mess in the process including casualties that offend the beauty of solutions.

Designers go about it systematically applying methods that bring the tree down without a mess or casualties.

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

Hacks usually have to be replaced when discovered in production systems that value scaling and reliability.

Hacks have saved me and I always replace them when possible since they are just so offensive and putrid that shivers evoke pain in my spine.

Design brings the best of software techniques to bear upon problems.

Software needs work. Iterative improvement. Hacks might be in there but in time they tend to get removed with designed systems or redesigned systems.

Hackers are not really programmers as they are to enamored with their hacking skills.

There is nothing redeeming about hacking, all of it is from the dark side.

Re:Hackers vs Designers - Hackers Loose every time (1, Funny)

Anonymous Coward | more than 5 years ago | (#28519543)

Designers can't spell.

Re:Hackers vs Designers - Hackers Loose every time (0, Offtopic)

itsybitsy (149808) | more than 5 years ago | (#28519671)

What you perceive to be spelling errors were intentional typos.

Re:Hackers vs Designers - Hackers Loose every time (1)

amicusNYCL (1538833) | more than 5 years ago | (#28519927)

So you just don't know the difference between "lose" and "loose", and between "to" and "too", correct?

Re:Hackers vs Designers - Hackers Loose every time (3, Funny)

FreonTrip (694097) | more than 5 years ago | (#28519551)

Flame on, you crazy bastard.

Re:Hackers vs Designers - Hackers Loose every time (0)

Anonymous Coward | more than 5 years ago | (#28519565)

Um, it's lose, Mr. Designer.

Re:Hackers vs Designers - Hackers Loose every time (-1, Flamebait)

itsybitsy (149808) | more than 5 years ago | (#28519615)

How can that possibly be flamebait when the frigging posting is asking about how hackers are damaging the software industry!!!! The POSTING ITSELF IS FLAMEBAIT YOU FOOLS!!!

Re:Hackers vs Designers - Hackers Loose every time (1)

sifur (1423871) | more than 5 years ago | (#28519635)

Hackers don't make hacks. I feel that you don't understand the term 'Hacker'. The 'hack' in hacker is not about hacking something together, it is about hacking your way through an unknown to come out the other side with an understanding of a thing.

Re:Hackers vs Designers - Hackers Loose every time (0, Flamebait)

itsybitsy (149808) | more than 5 years ago | (#28519745)

Hacker:

* someone who plays golf poorly.

* a programmer who breaks into computer systems in order to steal or change or destroy information as a form of cyber-terrorism.

* a person who hacks a tree down with an axe.

* a person with too much time on their hands.

* someone who can't design software.

Re:Hackers vs Designers - Hackers Loose every time (1)

baap (1585797) | more than 5 years ago | (#28520197)

Hacker:

* someone who plays golf poorly.

* a programmer who breaks into computer systems in order to steal or change or destroy information as a form of cyber-terrorism.

* a person who hacks a tree down with an axe.

* a person with too much time on their hands.

* someone who can't design software.

...excerpt from "Hacker for Dummies".. /\ \/

Re:Hackers vs Designers - Hackers Loose every time (0)

Anonymous Coward | more than 5 years ago | (#28519851)

Oh noes, we better catch them!

Re:Hackers vs Designers - Hackers Loose every time (5, Insightful)

Spazmania (174582) | more than 5 years ago | (#28519877)

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.

How about we start teaching REAL Programming... (1, Insightful)

SirGeek (120712) | more than 5 years ago | (#28519495)

... instead of how to use a GUI to do 99% of the programming for you ?

I still don't use a GUI, and I understand the guts of the programs better than the people who NEED their Eclipse, etc. to do the "grunt work" for them - (Umm.. if you don't understand the grunt work, how do you know that it is even NEEDED ?). In general the code from IDE Jockeys/Junkies is pretty bad. Their solution when things aren't working right ? Add more memory to the system "It can't be my code malfunctioning, it must be a RAM limitation". Rather than learning how to improve their own code and optimize things.

NOTE: I learned how to program on Punch Cards (this was in the 80s, BTW) and you also had to debug programs from printouts of the failures.(Debugging is ANOTHER lost art , but that's for a different topic) and I've been a software developer for almost 20 years.

I also have programmed in embedded systems with ASM where every BYTE of memory counted. You couldn't waste 1K of garbage code for an IDE developed code base).

Re:How about we start teaching REAL Programming... (5, Insightful)

seebs (15766) | more than 5 years ago | (#28519607)

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.

Re:How about we start teaching REAL Programming... (2, Informative)

zoips (576749) | more than 5 years ago | (#28519835)

So your solution to a made up problem is that everyone should use Notepad? Ok, maybe you'll make an exception for vi, what if I fall on the emacs side of that holy war?

I think you need to think this through again, as you've obviously let something obvious slide by...

Re:How about we start teaching REAL Programming... (1)

mhall119 (1035984) | more than 5 years ago | (#28519841)

How exactly is eclipse any more GUI-centric than VIM or Emacs? What exactly "grunt work" does it insulate you from?

Re:How about we start teaching REAL Programming... (5, Insightful)

qoncept (599709) | more than 5 years ago | (#28519907)

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.

Re:How about we start teaching REAL Programming... (0)

Anonymous Coward | more than 5 years ago | (#28520155)

So if a good programmer uses a GUI he suddenly suck? What you code in doesn't decide the quality of your code. Besides using the right tools to cut down on development time shows more skill than coding in a text editor 'cause "it's cool".

Re:How about we start teaching REAL Programming... (0)

Anonymous Coward | more than 5 years ago | (#28520195)

I sorta agree.... Sometimes the tools lead to bad decisions.... I do use an IDE (ECLIPSE) but mainly for code highlighting, and to handle the svn within the same framework. I rarely find myself using features like snippets, but do use some of the debugging tools. I am by my very nature a hacker... I self taught myself to program in the 80's because it interested me. I have since continued to learn new languages and processes.

I follow at least to a degree development standards...

Anyways to my agreeing with your statement... .NET developers when they do not have much real life development experience seem to rely on drag and drop controls and helpers of the IDE too much... This is great when the product fits the design of those tools but all too often the product will fail because of issues with the way tools are mixed and matched...

I think this comes down to not a gui vs non gui but experience vs not experienced

Structure can be learned creativity cannot (5, Insightful)

Quasar1999 (520073) | more than 5 years ago | (#28519507)

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)

Re:Structure can be learned creativity cannot (4, Interesting)

seebs (15766) | more than 5 years ago | (#28519663)

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

Re:Structure can be learned creativity cannot (4, Insightful)

Spazmania (174582) | more than 5 years ago | (#28519939)

The absence of evidence to the contrary.

Re:Structure can be learned creativity cannot (1, Interesting)

Anonymous Coward | more than 5 years ago | (#28519951)

It's not that it can't be taught - it just takes much more time and patience to teach. With any business, time == money.

Where I work, we hire for creativity. The programming skills come second as they are much easier to teach (and practice) on the job.
Of course, most of what we produce is highly visual. So it's a good thing to have a heavy creative tilt.

Re:Structure can be learned creativity cannot (1)

Joe Mucchiello (1030) | more than 5 years ago | (#28519965)

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

Re:Structure can be learned creativity cannot (3, Insightful)

Quasar1999 (520073) | more than 5 years ago | (#28520011)

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:Structure can be learned creativity cannot (0)

Anonymous Coward | more than 5 years ago | (#28519905)

Creativity is innate to humans.

Re:Structure can be learned creativity cannot (0)

Anonymous Coward | more than 5 years ago | (#28519931)

The creative Indian developers all live here in the US after getting an H1B. Those that were obviously deficient are left in India working as outsourced contractors. We have this stereotype that Indian developers suck primarily because only the dregs are hired for outsourcing.

Synonymous with computer programing (0)

Anonymous Coward | more than 5 years ago | (#28519521)

Perhaps the 'hacker ethic' being synonymous with computer programing only exists in your mind rather than American society. I know generations that have made decent livings programming, and they have nothing to do with hacking.

Making a good living with the "Unemployable" (0)

Anonymous Coward | more than 5 years ago | (#28519547)

Honestly this is not my experience and I'm a manager at a fortune 5 company. In fact, I recruit programmers from the US for other parts of the world as a side line to help fellow managers in other countries. We do have a mix of various backgrounds but it tends be the "american programmer" mind set that we seek regardless of race, nationality, etc. As a practical matter, we compete very nicely with HTC and other similar companies, I hope they hold onto this viewpoint, it's a useful advantage for my company.

"Programmers" (2, Insightful)

PeanutButterBreath (1224570) | more than 5 years ago | (#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.

while cheaper quality { send work overseas } (0)

zerointeger (1587877) | more than 5 years ago | (#28519587)

I feel dumber having read someones this... thanks for taking 3-5 minutes of my life that I cannot get back.

Re:while cheaper quality { send work overseas } (1)

bsDaemon (87307) | more than 5 years ago | (#28520223)

Think how much more time you just sacrificed validating the article's existence with a response?! Fascinating...

opposite of observed (2, Interesting)

treat (84622) | more than 5 years ago | (#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.

Today's Real Life Business Environment... (3, Insightful)

tnk1 (899206) | more than 5 years ago | (#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.

Re:Today's Real Life Business Environment... (0)

Anonymous Coward | more than 5 years ago | (#28519989)

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 former is what I ran into in a specific area of the Windows org at Microsoft. Most, I believe, are not like this. Some are. Hence the post-Win2K org bloat and Vista.

I tried the latter. They thanked me by laying me off. They didn't want to tknow that what they'd promised their VP wasn't the best solution for the customers.

In certain parts of Microsoft today, if you think for yourself, you are into persona non grata territory. The drone "whateveryasayboss", ask-no-questions mindset of programmers of a certain nationality (won't contribute to the flamewar here against specific ones) is considered a feature by those who don't want their decisions and ideas questioned, just implemented so that they can claim credit for them, put them on their review, and... PROFIT.

I agree (1)

cshark (673578) | more than 5 years ago | (#28519643)

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?

Re:I agree (1)

Spazmania (174582) | more than 5 years ago | (#28520027)

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

tha'ts a very well thought out argument (1)

circletimessquare (444983) | more than 5 years ago | (#28519651)

against the concept of genius

in other words, not a very useful argument

Really? (3, Interesting)

qoncept (599709) | more than 5 years ago | (#28519669)

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

But it's green (5, Funny)

travdaddy (527149) | more than 5 years ago | (#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 (4, Interesting)

dave562 (969951) | more than 5 years ago | (#28519689)

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? (2, Insightful)

lie2me (1504525) | more than 5 years ago | (#28519691)

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

Re:Apples to Oranges? (1)

itsybitsy (149808) | more than 5 years ago | (#28519821)

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

mod 0P (-1, Offtopic)

Anonymous Coward | more than 5 years ago | (#28519695)

your s=pare time

No (4, Insightful)

MBCook (132727) | more than 5 years ago | (#28519699)

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 (4, Interesting)

Greyfox (87712) | more than 5 years ago | (#28519727)

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 (2, Interesting)

Deanalator (806515) | more than 5 years ago | (#28519759)

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

Hacker Ethic? (0, Flamebait)

ground.zero.612 (1563557) | more than 5 years ago | (#28519809)

Hacker's don't have ethics. I say this expecting to be taken with a grain of salt. As an example, is there such a thing as "burglar ethics?" One might be quick to point out a TV show with a pair of felons that break into your house to prove a point that your security sucks, but I think that's about as far as they could go.

To break into someone's something, is a violation of that someone's privacy. Whether or not you steal, or steal and extort, is moot.

Now, on the other hand, I think what the author may be confused on, is actually what I would call "Reverse Engineering/Engineering Ethics." A good programmer isn't so much a "hacker" as he is an "engineer." Of course, with our (USA) Federal government what it is (in league with foreign socialists) it is a lot easier to convey a negative connotation to the term "reverse engineer" by using the term "hacker." Please don't misunderstand me. I'm simply trying to state that "hackers" don't really have ethics, and that the author is really talking about "reverse engineers" who actually do have ethics.

Re:Hacker Ethic? (1)

zoips (576749) | more than 5 years ago | (#28520133)

Way to totally buy into the incorrect media usage of the term "hacker." Congratulations.

Hackers who aren't hackers (3, Interesting)

cromar (1103585) | more than 5 years ago | (#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!

Re:Hackers who aren't hackers (1)

sifur (1423871) | more than 5 years ago | (#28520083)

I have to totally agree with this. There is a definite distinction to be made between 'cowboy coder' and 'hacker'. I consider myself a hacker in the traditional sense of the word (pre media buzzword) and I spend many long days and nights studying other people's work, reading books, discovering the latest trends and methodologies in the field of software development, etc. Constantly trying to improve my skills, correct my mistakes, learning better ways of doing things, and keeping an open mind. A cowboy coder has a closed mind and is more in line with the post-media-buzzword meaning of hacker. Someone who dances in code for fame and performing tricks to impress co-workers, not for the pure joy of learning and understanding. For me, the technology industry is like a landscape and I am always excited to see what is around the next bend in the road or over the next hilltop. It is a journey that I often make alone, occasionally meeting fellow travelers to discuss our experiences.

To do list (1)

Runaway1956 (1322357) | more than 5 years ago | (#28519831)

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

the answer is no (1)

uepuejq (1095319) | more than 5 years ago | (#28519837)

there are way more incompetent morons running around with degrees who are proficient in java to state that this is the case. what is the real question here? are intelligent programmers from the united states too individualistic to conform to some management dictum? perhaps instead of considering ourselves innovative and capable of addressing issues as they arise, we could start thinking of ourselves as manufactured commodities designed to steal the business from other national economies in order to make old-fashioned newspaper headlines about how the 'american hacker' mindset doesn't work when compared to some indian bullshit.

Author, author (0)

Anonymous Coward | more than 5 years ago | (#28519903)

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

I take it that McAllister writes books and not code.

w/o theory its gambling (0)

Anonymous Coward | more than 5 years ago | (#28519937)

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

I read this suggestion as meaning colleges should produce engineers that know how to obey by standards but have no idea about the basics of computing?

Really, since when has hacking anything to do with computing theory? Hacking means some rapid prototyping and a style of coding that favors experiments over long winded planning. Usually hackers are the one's throwing computing theory out of the window and just throw something together to demonstrate a concept or some cool modification. In that context it does not matter if it performs in all cases or on large data sets.

So if you want serious engineers that build bridges, I mean software, that work reasonably in all specified contexts, you better don't do it by hacking.

There is a place for hacking and for serious engineering with process and knowing what the end goal is. Good engineers can do both and they certainly don't trade "succeeding in industry" for knowing what others have learned and demonstrated (theory).

HA HA HA so very wrong (1, Insightful)

Anonymous Coward | more than 5 years ago | (#28519949)

I have worked for many years with developers from around the world....

I find this entire discussion funny.....

1. What you forget is that 70% of the time the customer does not even know what they want.
2. Typically the "project manager" does not know how to achieve the desired result

at this point you then hand it to the programmer as a set of "make this work documents"....

If sent to someone without the creative angle.... they will give you 100% what you ask for but that will be 30% of what you really need.
If you take the cowboy hacker developer he will see that the specs do not take into account many items that need to be built. I see lots of holes in customer requests and docs coming from project managers that would not take into account security, or leave out critical data required in later development. In a perfect world every development team would have a design engineer who's job it is to check the PM's work for these sorts of things.... Note this would be a person of high creativity and coding capabilities. Since companies do not have these people give me the hacker style coder every day for real end to end ap development and I will out source the make work stuff.... creative guy builds the ap... step by step programmer from cheap foreign market make me some classes to handle these database transaction.
As to supportability.... again make me laugh...

I have never seen any project that was unsupportable.... some are a bit weird and out of the box... but if you are a developer worth 2 shakes the first thing you should be able to do is dis-assemble code. Something I see largely lacking from the Indian market...

To truely be effective as a developer you need to understand the whole picture... That sometimes takes alot of application experience and often vertical market knowledge.

Ethics are not meant to promote business (1)

pisco_sour (722645) | more than 5 years ago | (#28519967)

The Hacker Ethic is not a set of guiding principles designed or built to promote the adaptation of programmers to development processes and business planning. And it shouldn't have to be.

Very well, you may want to train people within a different mindset prepared to fit into a process, acknowledge the existing rulebook and basically play nicely by it, working with others in developing business-oriented code for business purposes. But the Hacker Ethic is much more a cultural development for what was at its time mostly a subculture, than it is a series of well-defined principles for development. The Hacker Ethic emphasizes a series of value and skills that are perhaps way beyond a business development context - in that they belong much more in the future than they belong in the well-defined production/industrial contexts that we have come to tbe acquainted with.

So to put forth such an argument, that the Hacker Ethic harms developers' possibilities of conforming to market standards, is just that. It means conforming, thinking inside the box, and so on. Such is not the Hacker Ethic, and is not meant to be, and doesn't have to be. Just because there may be other, different objectives than those embodied in the HE, does not mean it needs to be put aside, transformed, or somehow modified. It's just different contexts.

The industry is wrong (0)

Anonymous Coward | more than 5 years ago | (#28520043)

Formalizing everything about programming into tedious red tape is not how to efficiently or properly write code. If the hacker ethic is incompatible with the industry, then it's the industry that is wrong.
 
Innovation, true innovation, comes from giving your programmers and engineers some creative freedom, and some elbow-room to experiment and try things out of curiosity and pure ambition. The Amiga is a perfect example -- it was possible only because the Amiga team was afforded to be creative with their work and make risks that most modern managers today would be too afraid to take. Indians? They're nice people and I love working with them, but they're too much like obedient puppies and not so much like daring inventors.

Cowboy Up. (4, Interesting)

SoupIsGood Food (1179) | more than 5 years ago | (#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.

Learning details is orthogonal to hackerism (1)

caywen (942955) | more than 5 years ago | (#28520241)

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.

2c worth (1)

BlackSabbath (118110) | more than 5 years ago | (#28520257)

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 having a sensible data dictionary is good. Part of the problem is the way the individual projects are being run means that there is no value placed on architectural considerations which have a financial impact (cost saving) over the long term. PM's are focused on their own deliverables/budgets/deadlines and in our specific instance, the team responsible for "integration" does not have any clout - we work by cajoling, wheedling, nagging and stealth. If I had a buck for every time I had to present a "SDLC for dummies" powerpoint to a bunch of PM's and middle-management...

As a non American.... (1)

kaffiene (38781) | more than 5 years ago | (#28520265)

As a non American, allow me to say that I think this article is bullshit. The world needs hackers today every bit as much as it ever did. Creative thinkers lead to creative solutions. It seems to me that arguing that all programmers should be drones is the kind of thing you'd expect from some know-nothing PHB.

Hack on, Yanks!

Load More Comments
Slashdot Login

Need an Account?

Forgot your password?