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!

Are You a Blue-Collar Or White-Collar Developer?

Soulskill posted more than 4 years ago | from the what-about-three-moon-wolf-collar dept.

Businesses 836

jammag writes "Some developers have gone to four-year universities, where they've also studied subjects like history and sociology, while other coders go to vocational schools and focus purely on writing great software. So why, asks a longtime developer, is there a stigma attached to not having a four-year degree, when 'blue collar' coders might be better trained? Why does the software industry keep emphasizing this difference — and generally giving better pay to four-year grads? Isn't being a developer about real skill level, not the piece of paper on the wall?"

cancel ×

836 comments

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

Slaves wear collars (5, Insightful)

Anonymous Coward | more than 4 years ago | (#30107180)

I wear a T-shirt.

Re:Slaves wear collars (0)

Anonymous Coward | more than 4 years ago | (#30107226)

Not into BSDM I see!

Re:Slaves wear collars (1, Funny)

Anonymous Coward | more than 4 years ago | (#30107468)

I prefer Linux.

It's about social status... (4, Insightful)

blahplusplus (757119) | more than 4 years ago | (#30107188)

"Isn't being a developer about real skill level, not the piece of paper on the wall?"'

It's really a game of social status, education does NOT ensure someone is smarter or more skilled, it only ensures that, that person had the persistance or was a very good cheater.

Persistance and skill are often confused, the education system is really about handing out status to attempt to justify who gets jobs over who doesn't merit be damned. Anyone who believes education is not mostly about social status is not very bright.

Re:It's about social status... (4, Insightful)

jcr (53032) | more than 4 years ago | (#30107228)

Sounds like you're confusing education with schooling.

-jcr

Re:It's about social status... (2, Insightful)

blahplusplus (757119) | more than 4 years ago | (#30107336)

"Sounds like you're confusing education with schooling."

We all know dumb people with degree's, my point is just because someone went through school does not guarantee they are any good at what they do or that they learned much of anything while they were there.

The degree is about handing out marks of status, in my experience with people someone with a masters is not really better then someone with a bachelors. One simply had more persistance, endurance/ability to cheat amd money to pursue a mark of higher status.

Re:It's about social status... (5, Funny)

Anonymous Coward | more than 4 years ago | (#30107584)

"Sounds like you're confusing education with schooling."

We all know dumb people with degree's, my point is just because someone went through school does not guarantee they are any good at what they do or that they learned much of anything while they were there.

The degree is about handing out marks of status, in my experience with people someone with a masters is not really better then someone with a bachelors. One simply had more persistance, endurance/ability to cheat amd money to pursue a mark of higher status.

Indeed. Do you happen to have one?

Re:It's about social status... (1, Interesting)

Anonymous Coward | more than 4 years ago | (#30107432)

No, education is about education. Education is not always what happens at schools, but that's not to say it doesn't happen there or can't. It depends largely on the individual's desire to be educated and the available resources. Take these two examples:

  My education was broad based and exposed me to all of the different schools of thought in nearly every serious academic endeavor. I soaked it up like a sponge, attending every special lecture given by every department I could cram into my schedule. I mixed it up in my classes writing software for my Intro to music class, applying physics to the study of musical instruments in my independent research, Economics in my ethics class. its not surprising that I'm addicted to wikipedia.

My coworker has an even more advanced degree from a premier school in CS. Its pretty clear that's all he's ever studied, and all he ever did was the class work. He sucks. He has never written a real useful program before being hired for us. Has no freaking clue how to do anything he hasn't already done, and has no idea how to figure out how to do anything remotely new or different. His time and money spent in college was a complete waste. All it did was get him this current job, which he won't have for much longer. He will not get a good reference from us.

Re:It's about social status... (5, Insightful)

mbkennel (97636) | more than 4 years ago | (#30107514)

It's really a game of social status, education does NOT ensure someone is smarter or more skilled, it only ensures that, that person had the persistance or was a very good cheater.

And who exactly were they cheating off of? You think everybody in Caltech is cheating off of the guy going to DeVry?

Persistance and skill are often confused, the education system is really about handing out status to attempt to justify who gets jobs over who doesn't merit be damned. Anyone who believes education is not mostly about social status is not very bright.

Somebody who believes educational success is all about social status in technical subjects is probably somebody who was lazy and prefers to say stuff like "Persistance and skill are often confused."

In the real world, persistence multiplied by skill gets stuff done. And yes those students who had the social maturity to recognize that even though they may be smart they also have to put in their labor too are the ones who get ahead. As they should.

What level education are you thinking about anyway? My experience is that the level of intelligence and skill at the top level universities is truly very high. Moreover, people from that environment tend to be (mostly) pretty well adjusted and agreeable, especially since they've had enough experience with other very smart people that they realize they're no longer the only sharp fork in the drawer by any means. People who may have been bright but always surrounded by mediocrities can have a pretty arrogant attitude, like "the education system is really about handing out status to attempt to justify who gets jobs over who doesn't merit be damned".

I've now been on the other side interviewing for open positions in my company. In my group we typically take MS and PhD graduates in serious quantitative subjects from major research universities---that works quite well. However I have done some interviews with others who didn't fit that, but tried to convince us that they had the get-it-done-skill. It became apparent quite quickly that they didn't have the fundamental insight and intelligence that we want.

No, it's not. (5, Insightful)

KingSkippus (799657) | more than 4 years ago | (#30107528)

education does NOT ensure someone is smarter or more skilled

People who have a university degree are generally more likely to be smarter and more skilled. No, it's not a guarantee; there are plenty of stupid people with degrees out there and there are plenty of really smart people out there without degrees. But what is a guarantee is that if you get a roomful of people with degrees and compare their skill and ability to a roomful of people without degrees, all other things being equal, the people with degress will do a better job.

Also, keep in mind that rare is the job that is only about coding. When I was a developer, my job also entailed things such as writing documentation, holding training sessions for other developers and users, basic accounting and budgeting, and so on. Non-coding things I learned in college while earning my degree are useful skills that I do use today, not just how to write some subroutine. Yes, even social skills you seem to have disdain for come in useful, because I actually work with other people, not just holed up with a computer.

Persistance and skill are often confused...

Persistence is a skill. By completing your degree, you have demonstrated that you are willing and able to achieve success with long-term projects, including handling things that, at the time, you might not be overjoyed in having to do. You've also demonstrated the ability to learn new things to at least some minimal degree (no pun intended) of competence that might be outside of your familiar bubble of knowledge.

A college degree doesn't just demonstrate what you've learned, it demonstrates the ability to learn. If I'm hiring someone, I certainly want them to be able to do the job I hire them for, but I also want them to be able to quickly and effectively pick up new things that I might have to throw at them someday.

I'm not saying that a college degree is the most important factor in hiring. Personally, I'll value experience any day. Given a choice between hiring a 10-year veteran of something versus someone who has only been doing it a year or two, I'll take the veteran any day no matter who has a college degree. But a college degree is important. If experience is more-or-less equal, I'd take the college graduate over the non-graduate every time.

proofreading for the college graduate? (4, Interesting)

acidfast7 (551610) | more than 4 years ago | (#30107194)

Stopped reading here: "I noticed one of the guys who was all over the tech conversation was all of a sudden very quite." Quite what? Please put some effort in! Seriously ... ugh :( I went to college, then to graduate school for a PhD, then did a postdoc, now run a research group. Maybe I'm too picky :(

Re:proofreading for the college graduate? (1, Insightful)

maxume (22995) | more than 4 years ago | (#30107238)

Seriously ... ugh :( I went to college, then to graduate school for a PhD, then did a postdoc, now run a research group. Maybe I'm too picky :(

Re:proofreading for the college graduate? (0)

Anonymous Coward | more than 4 years ago | (#30107316)

naw your just a jackass grammer nazi

Re:proofreading for the college graduate? (0, Offtopic)

ceoyoyo (59147) | more than 4 years ago | (#30107356)

The sentence is badly constructed anyway. My brain hurt reading it. The spelling mistake at the end was just icing.

Re:proofreading for the college graduate? (5, Interesting)

SupplyMission (1005737) | more than 4 years ago | (#30107390)

I agree with acidfast.

Furthermore, Mr. Spiegel, you are keen to use cliche phrases without even putting in the effort to understand their meaning, or know their correct spelling. This helps you come across as a pompous idiot.

For example: "Queue awkward silence."

The correct spelling is "cue awkward silence." It comes from stage and movie production, where the producer will "cue" actors, lights, or special effects. How does one "queue" awkward silence?

I almost stopped reading there. But I kept going, hoping to find some redeeming value.

It was hard to finish your article, as your tone makes it clear that you are a cocky, holier-than-thou ladder climber. You provoke a regular guy eating his lunch into a pissing match, and then you claim to have said things like, "Everyone is making valid points," in actual conversation. Who does that?

God help any of us who may have to work with you, or even worse, for you. I don't care if you have Asperger's or not. You are a douchebag, period.

Re:proofreading for the college graduate? (1)

SupplyMission (1005737) | more than 4 years ago | (#30107612)

Pardon me if this seems like flamebait to some moderators.

Please point out why I'm wrong, rather than just painting it flamebait. I think I am well justified in taking my position.

Algorithms (5, Insightful)

moo083 (716213) | more than 4 years ago | (#30107196)

In my experience people who have gone to vocational schools do not have the same background in algorithms than do people who have gone to four year schools. They do not have as expansive of knowledge in data structures and sorting algorithms and the like. There are many jobs where optimizing is important and knowing which algorithm has the best run time in O() notation can be important. They may know Java, but that doesn't mean that they can code just as well. Just because someone knows how to use a typewriter doesn't mean they can write a book just as well as an English major.

Re:Algorithms (1, Troll)

ultrabot (200914) | more than 4 years ago | (#30107232)

They do not have as expansive of knowledge in data structures and sorting algorithms and the like. There are many jobs where optimizing is important and knowing which algorithm has the best run time in O() notation can be important.

That's something you learn by reading a book. No need for a "degree".

Re:Algorithms (5, Insightful)

ceoyoyo (59147) | more than 4 years ago | (#30107378)

A degree certifies that you've read and to some degree understood, the book.

Re:Algorithms (4, Insightful)

JustShootMe (122551) | more than 4 years ago | (#30107234)

The really good "untrained" programmers know where to look for the algorithms. I don't have a degree, but I can use doubly linked lists, sort algorithms, mandelbrot, etc., because when I needed them I learned how to use them.

You're not talking about trained vs. untrained, you're talking about stupid vs. intelligent, and not only do you not need a degree to be intelligent, you can be stupid while still having a degree.

Which I think was the OPs point, masked in a thinly veiled class warfare reference.

Re:Algorithms (1)

moo083 (716213) | more than 4 years ago | (#30107290)

I was making a generalization. There are certainly exceptions, such as yourself. I can only go on the experience I have. I was more talking about what you learn at a vocational school, not what you learn yourself later.

Re:Algorithms (0)

Anonymous Coward | more than 4 years ago | (#30107476)

With all due respect...

People try to use degrees as a way to sort intelligence versus lack thereof. All else equal, I'll say with confidence that higher degrees are correlated with higher intelligence.

Of course, I've had *many* better educated developers tell me I'm prematurely optimizing when I've asked language specific questions before--failing to understand that I know my application, and understand that a particular function call is going to be executed a 5e6-1e7 times in a loop for every webpage being loaded in our application.

Bottom line is--some people don't get it. All else being equal, I want to work with GOOD experienced programmers. It's not class warfare if I tailor my interview process to try to find a qualified, skilled applicant in a minimal amount of time--instead of trying to find THE most qualified applicant.

I have finite time in a work day--I go home after 7-12 hours. If I spend half my day in managerial overhead, and 8 hours a week in interviews--I don't WANT to wait 12 months to find a programmer good enough to work in our application. If tailoring my search to people with 4 year degrees appears to improve the odds, I'll do that. People without them are welcome to submit a resume--but without good experience to back it, are going to be tossed into the trash bin.

I've had PhDs come in for an interview who claimed they'd used SQL for ten years that couldn't write a select statement when asked--and a professor of EE at the local university apply for a part time position who couldn't correctly write a hello world in C. They were shown to the door politely.

And yes--my average programmer does need to understand algorithms, O(N) and a lot of other things. I've started using bits of chaos theory in my application (and REALLY wish my background was strong enough to thoroughly understand what I was implementing). Again--it comes to wanting intelligent people. And with time so scarce, I'll do anything legal to try to filter my applicants down to ...intelligent ones.

Re:Algorithms (2, Insightful)

jcr (53032) | more than 4 years ago | (#30107264)

Just because someone knows how to use a typewriter doesn't mean they can write a book just as well as an English major.

Nor does an English degree mean that someone can write a book worth reading.

-jcr

Re:Algorithms (2, Insightful)

moo083 (716213) | more than 4 years ago | (#30107344)

Agreed. But it all comes down to probabilities. An English Major is more likely to write a successful book, but then there are many with no degree who have gone on to do great things...

Re:Algorithms (4, Interesting)

Planesdragon (210349) | more than 4 years ago | (#30107298)

Just because someone knows how to use a typewriter doesn't mean they can write a book just as well as an English major.

An english degree helps you write in the same way that a history degree helps you change the world.

Unless, of course, you meant edit, or perhaps write a book review.

Re:Algorithms (1)

moo083 (716213) | more than 4 years ago | (#30107374)

Oh, you know what I'm trying to say. No need to spend time picking apart an analogy... :P

Re:Algorithms (0)

Anonymous Coward | more than 4 years ago | (#30107370)

There are also software engineers who spend so much time continually optimizing and perfecting and refactoring their code that they never end up producing a usable product. Or they make the client suffer through multiple incompatible changes in the name of "correctness" in an abstract sense. The point of writing code is not to have great code. It's to produce something that benefits the end user. The users don't care about the code or how cool it is. It's a tool they have to use in order to accomplish whatever their real goals are.

Re:Algorithms (1, Interesting)

Anonymous Coward | more than 4 years ago | (#30107442)

I think this is too broad a generalization.

- I've seen CS programmers do fantastic work.
- I've seen 'programmers' with degrees fired for spending eight months doing what should have taken 3 weeks
- I've seen non-degree programmers create monstrosities
- I've also seen amazing programming work from very intelligent people whose degrees weren't even CS

The one thing I've observed is to take with a grain of salt those who present their CS degree as proof of competence. Take each case on it's own. What carries more weight is what work one has accomplished and how well it was done.

Re:Algorithms (2, Interesting)

Savage-Rabbit (308260) | more than 4 years ago | (#30107462)

Just because someone knows how to use a typewriter doesn't mean they can write a book just as well as an English major.

I don't think that being an English major is going to make you a good writer, either you have talent for it or you don't. An English degree may improve your writing style and open your eyes to different schools of literature but it won't increase your ability to write good books that people want to read. Much the same applies to programming. I have met people with CS degrees from very respectable schools who wrote very naive code and others who were brilliant developers. Much the same goes for people from less snobby schools, there are people who can code and ones who don't. When hiring I'd take a second look people who display an enthusiasm for development and see it as a fun thing to do rather than a chore they have to perform to get a good salary. Education matters, but just blindly going by what academic titles people have picked up is no guarantee that you will get somebody who can code worth a damn.

Re:Algorithms (0)

Anonymous Coward | more than 4 years ago | (#30107464)

So a four-year degree gives you the advantage of... a Wikipedia article on algorithm O(n)? Seriously?

I learned about O(n) by the age of fifteen. Anyone with a modicum of programming ability learns about O(n) within their first year of serious programming. O(n) is an easy concept to learn and understand.

Data structures are even easier to learn and understand. I'd expect high-school interns to be able to handle most data structure related programming tasks.

The primary purpose of an American four-year degree in a computer related field is to demonstrate that you can finish a task. There are very few schools that teach anything beyond basic programming techniques. And even less that teach team concepts, revision control, documentation, or planning.

Re:Algorithms (1)

Comatose51 (687974) | more than 4 years ago | (#30107474)

"There are many jobs where optimizing is important and knowing which algorithm has the best run time in O() notation can be important."

To add to that, it's not just optimizing. I've interview candidate (who came from a four year college but majored in EE and got his majors in CS) who didn't know what a NP-complete problem was nor could he calculate time complexity that well. So when I gave him a problem to solve, he kept trying these solutions that were overly complex and had exponential time. You have to be able to recognize a bad algorithm quickly so you don't keep trying to fix what's fundamentally broken.

Re:Algorithms (1)

Comatose51 (687974) | more than 4 years ago | (#30107492)

Really butchered my sentences.

"I've interview candidate (who came from a four year college but majored in EE and got his majors in CS) "

is meant to say

"I've interviewed a candidate (who came from a four year college but majored in EE and got his Masters in CS) ..."

Re:Algorithms (4, Interesting)

Omnifarious (11933) | more than 4 years ago | (#30107504)

When I was 15 someone recommended the second book in "The Art of Computer Programming" series by Knuth. It was "Searching and Sorting". I read it.

I knew more about the common algorithms their order, and other details of when they were and weren't useful than your average college graduate before I even got to college. I wrote my own b-tree indexing system when I was 18.

When I was in and/or hanging around college I ended up helping a graduate level student with their AI homework. He didn't understand what a heap was or why it would be useful in an A* search. He didn't know how to code a linked list.

That stupid piece of paper is nearly meaningless. And when I've interviewed people it was only a minor data point. I usually used their time at college to probe how much they remembered about the stuff they did work on and whether or not they had a fine grasp of the details. I could care less about their degree or their grades.

Re:Algorithms (0)

Anonymous Coward | more than 4 years ago | (#30107570)

Yes, and although this post is about "coding" it is not the only topic of importance. Many programmers either require or would very much benefit from (additional) domain knowledge.

Code is written for a purpose. The more an individual understands about the ultimate purpose of the code (e.g.; financial trading rules, procedures, & jargon; the math and physics of inertial guidance systems; etc...) then the more likely they are to understand how they fit into the big picture and what they can do to help.

Advanced degrees do not guarantee that that their holders will be more capable of understanding the bigger picture. In the same vein, there are plenty of brilliant and capable people who do not have BS, MS, or PHD degrees. However, if you are trying to staff a position which would benefit from domain knowledge and you may choose between a so-called "blue collar" coder and someone with a BS or MS degree, then (all else assumed to be equal), who would you rather bet on?

Depends what your job is (2, Insightful)

Krakadoom (1407635) | more than 4 years ago | (#30107200)

If you're a hardcore code monkey, sure, the university experience might not help you that much - but it's my experience, that it's a good idea for a coder to be able to relate better to other areas of a business, and this is where the general knowledge of the longer education might come in handy.

Stigma (1)

ultrabot (200914) | more than 4 years ago | (#30107202)

It's about the stigma about the other degree being harder to get, and subsequent implication that people carrying the longer degree could be smarter.

There really needs to be a standardized & respected degree for programming, and programming alone - with zero bullshit. Something that you can't even *apply to* until you know at least 3 programming languages fluently.

Re:Stigma (1)

maxume (22995) | more than 4 years ago | (#30107276)

If you are correct, you should be able to start such an institute and make a mountain of money.

Re:Stigma (1)

ultrabot (200914) | more than 4 years ago | (#30107392)

If you are correct, you should be able to start such an institute and make a mountain of money.

It's not quite so simple as I don't have the heap of money to get started, nor the political lobbying power.

Re:Stigma (1)

rebot777 (765163) | more than 4 years ago | (#30107328)

You mean grad school?

Re:Stigma (1)

ultrabot (200914) | more than 4 years ago | (#30107360)

You mean grad school?

No, I mean something you can go directly after high school (or local equivalent).

I'd like to think theres a method to the madness. (2, Interesting)

sundru (709023) | more than 4 years ago | (#30107210)

and yeah if u did your job properly in a good school , 4 years does matter in the way u approach a problem. not neccessarily coding skills or the best way to hack a one liner, the approach and bigger picture is as important or if not more -S

Re:I'd like to think theres a method to the madnes (1)

ultrabot (200914) | more than 4 years ago | (#30107346)

and yeah if u did your job properly in a good school , 4 years does matter in the way u approach a problem.

Are you using "u" as sarcasm in this context?

Re:I'd like to think theres a method to the madnes (1)

BitZtream (692029) | more than 4 years ago | (#30107408)

As opposed to the additional 4 years of experience someone can get by working rather than going to school. Either way, I'm pretty sure that no where teaches you to type u instead of you. Being able to form a proper sentence would be a good start as well.

Oh come on... (2, Insightful)

JustShootMe (122551) | more than 4 years ago | (#30107212)

Oh come on, since when did blue collar ANYTHING get paid more than the white collars?

Re:Oh come on... (2, Insightful)

Anonymous Coward | more than 4 years ago | (#30107348)

Uhhh, trades? electricians (trade) regularly make more than electrical engineers (university) and electrical technicians (vocational).

Re:Oh come on... (4, Informative)

Ironsides (739422) | more than 4 years ago | (#30107364)

You ever see how much a master plumber, electrician, carpenter or welder get paid?

Re:Oh come on... (0)

Anonymous Coward | more than 4 years ago | (#30107422)

no, but you could tell us.

in New York City ... or everywhere else? (0)

Anonymous Coward | more than 4 years ago | (#30107488)

in NYC where there is a blurry line between the unions and the mob(s) they do pretty well (although it can be disconcerting the first time you hear the Chinese electricians speaking fluent Russian...)

in most other places their pay has to gone to shit because most people don't care how qualified the person building their house/addition is just so long as they are cheap so more and more of that work (according to the EX-master plumber I was talking to recently) is being given to illegal immigrants whether or not they actually know what they're doing.

No. (3, Interesting)

Manip (656104) | more than 4 years ago | (#30107218)

The short answer is "no." But by the very nature of asking if there is a stigma attached to something you're suggesting that there is.

Like - "Do you find that there is a stigma about work ethic attached to young men with mohawks?" I have just implied I believe there is and are asking for corroboration.

I don't care what experience someone has as long as they can write great code. Google on the other hand however won't hire you unless you have a Masters or PhD.

Re:No. (1)

JustShootMe (122551) | more than 4 years ago | (#30107310)

That's why google comes up with lots of great stuff they can't charge for.

Re:No. (1)

ceoyoyo (59147) | more than 4 years ago | (#30107404)

Google charges plenty. They're just sneaky about it.

Re:No. (2, Insightful)

nathan.fulton (1160807) | more than 4 years ago | (#30107500)

no, that's why google comes up with lots of great stuff that you don't even know you're paying for.

Re:No. (0)

Anonymous Coward | more than 4 years ago | (#30107388)

Google offered me a $130k/yr job and I have a BA in Computer Science with a GPA of 2.7. Of course, I'm a really good software engineer.

I turned the offer down though as I didn't want to move to Mountain View.

Re:No. (2, Informative)

Omnifarious (11933) | more than 4 years ago | (#30107558)

Google was all set to offer me a job and it fouled on a bit of bureaucratic stupidity. But I passed their technical interview. I have no degree, and my lack of degree didn't figure into the bureaucratic stupidity.

It took a lot of people inside the company recommending me for them to give me a serious interview. But it happened. So the idea that they only hire people with graduate level degrees is a myth.

Re:No. (1)

Sir_Sri (199544) | more than 4 years ago | (#30107600)

Google also values experience or demonstrable skills. Raw recruits they and microsoft take the bulk of private sector PhD grads in north america. (Last I checked, which admittedly was before I started my PhD which is not yet done, google and MS each took about 25% of the 900 or so north american PhD's in comp sci). Clearly both of them need a lot more than 250 ish new hires every year, so they have their pick of competent other people.

I'm what you could call a "blue collar" coder (5, Interesting)

Anonymous Coward | more than 4 years ago | (#30107222)

.. but have somehow managed to break through the stigma, now working in an environment where most people have at a minimum a bachelors degree...

And as much as I hate to admit it.. I really regret going the vocational school route. While I always felt I could code as well or better than most uni grads (mainly because I got into it as a hobby long before making a career of it) I've found myself deficient in the algorithm and math stuff.

Now, in most programming jobs this isn't going to matter.. I just happened to land in one of the few jobs that is heavy in the maths. I've managed to "bring myself up" to the required level and found success.. but I think it would have been a lot easier if I'd gone the uni route.

Good coding is more than being a technician (1, Insightful)

Anonymous Coward | more than 4 years ago | (#30107224)

I think it's because there's more to being a developer than just the technicals. Sure, if you want to be a monkey at the keyboard churning out cookie cutter websites, that's one thing. But we live in an integrated world, and you get a wealth of intangible skills in university that help you in other areas, be it interpersonal, writing, or whatever. And studying a broad range of topics trains the brain to think in different ways. Again, intangible, but definately real.

Who do they interface with? (1)

wytcld (179112) | more than 4 years ago | (#30107244)

A good coder has to understand the context they're coding for. Generally that context is use in the course of a business. Generally that requires being able to integrate concepts about the business that are beyond the scope of coding.

There are exceptions. If you're a lower-level programmer, part of a larger team, and the team is run by people who can comprehend and integrate concepts beyond the scope of the code into the system design, then a two-year degree (or four-year degree focused solely on coding without a traditional liberal arts mix) will do you fine. But that's a lower pay grade than the person who is able to grasp larger concepts, and even more importantly communicate and coordinate with people handling aspects of whatever business it is who are in a position to leverage the code being created for real profit. Even if that person, likely with the broader educational and life experiences, isn't as good a coder by some technical measure, she or he is of far more value to the bottom line of the operation.

Maybe ... (2, Insightful)

smoker2 (750216) | more than 4 years ago | (#30107254)

Maybe the job requires more insight into the everyday world and it's origins than just that which can be gained from frequenting Second Life ? There are benefits to understanding the situation in which the software will be used that are only possible with experience. We all hear about how user participation is vital to making good software, but we are users too. Maybe having a good grounding in other subjects gives an insight in how to program for them. It is possible to be a good "blue collar" programmer, but only if you've got the life experience as well as the leet coding skillz.

PS. I am a blue collar programmer.

Somebody did a 2 year degree? (0)

Anonymous Coward | more than 4 years ago | (#30107258)

My university had a four year bachelors program, a two year degree program and a one year certificate program. The four year guys had to do a few more options, but they also did a lot more CS courses, including more specialized ones such as algorithm analysis and optimization. A lot of the "options" were things like physics, math and management courses.

Plus there's the old degree of sticking to it - a significant portion of the one and two year guys bailed when the course material started getting harder and the lure of easy money beckoned.

A "longtime developer" likely has a lot of experience which can certainly make up for the extra education, but if you're comparing fresh graduates from a school with a decent curriculum it's very unlikely like that the degree holders have spent the extra two years considering about medieval basket weaving practices.

From an adjacent industry... (5, Interesting)

chrysrobyn (106763) | more than 4 years ago | (#30107266)

I'm a hardware engineer. You want a real engineer for some design and most analysis tasks. History and sociology don't play a part, but dedication to the profession and experience with the underlying principles behind observations are key. A two year grad, or technician, is typically very good for a subset of design, along with a whole bunch of data acquisition.

I imagine code to be the same. If you want high level stuff, architectures, in depth analysis, a full discussion of repercussions of coding choices, a 4 year computer scientist or software engineer is called for. If all that stuff is already laid out and you just need someone to type in a pile of code to do a well defined task, a 2 year would be great.

It's not necessarily the stuff learned in the extra 2 years, but the level of person it takes to invest in their future like that. The 4 year colleges provide a different group of people to "run with" and compete against. College is rarely about the classes, although they're necessary and grades are the common barometer, but it's about the friends made and the level of competition -- you need to compete with people to learn better practices.

Of course, there are prodigies who can do excellent work with self teaching, but separating them from the chaff (and overcoming their egos) is rarely worth the time in my experience.

Re:From an adjacent industry... (4, Interesting)

DustyShadow (691635) | more than 4 years ago | (#30107536)

Of course, there are prodigies who can do excellent work with self teaching, but separating them from the chaff (and overcoming their egos) is rarely worth the time in my experience.

This is basically what it all comes down to. There are risks that come with hiring employees. Narrowing your selection to those with 4 year degrees or more minimizes that risk as much as possible.

Re:From an adjacent industry... (1)

Nerdfest (867930) | more than 4 years ago | (#30107572)

In general, I'd rather work with a person who has the knowledge but had to work it out for themselves than someone who memorized it in school ... all else being equal, they will usually have a deeper understanding of the knowledge.

Design patterns and architecture (0)

Anonymous Coward | more than 4 years ago | (#30107272)

I work with a lot of guys without degrees and they are great coders, but when it comes to designing software for the long-term, they need a lot of pushes in other directions. Initially when I started working at my current company, I was ridiculed for my academic approach to designing software using design patterns and architectural expertise, but I've become the go-to guy and that is because I write very stable software that survives huge design changes and iteration.

Academics counts and frankly, most of that is not learned in school but in self-study. If you read and learn the theory of engineering, then you are a bigger benefit to your employer, you'll interview better, and in the end, you'll earn more.

Perfect price setting requires perfect information (1)

pschmied (5648) | more than 4 years ago | (#30107286)

In a free market, we would expect better coders to make more money than less good coders. The problem is that this is predicated on having perfect information (i.e. being able to actually rank coders by quality). In the marketplace, it's actually quite hard to know how good coders are relative to their peers. Sure, you could test everyone, but then that assumes your test is correct and that you have the time and money to administer it.

Therefore, employers look for discriminators. One of those discriminators is a four year degree. Though we anecdotally hear about impractical academic CS majors who can't code, most four year CS grads have a modicum of understanding.

Additionally, a friend of mine was recently in the position to hire. I asked him about the four year degree issue because my friend usually belongs to the school of "put up or shut up." His opinion was that a four year degree was important not just because of coding chops, but *because* of all the other classes that are typically required in a four year program. For him, having someone who could code and also write coherent sentences and speak somewhat intelligently with people who might be inclined to invest in the company.

Re:Perfect price setting requires perfect informat (1)

pschmied (5648) | more than 4 years ago | (#30107454)

For him, having someone who could code and also write coherent sentences and speak somewhat intelligently with people who might be inclined to invest in the company.

Edit: For him, it was important to have someone who could code and also write coherent sentences and speak somewhat intelligently with people who might be inclined to invest in the company.

Jeez, talk about an ironic lapse in grammar.

Degree, or four years of experience? (1)

jcr (53032) | more than 4 years ago | (#30107302)

Back when I started out, I chose the latter. If I interview a developer today, I want to see their code, not their paper credentials.

-jcr

Re:Degree, or four years of experience? (0)

Anonymous Coward | more than 4 years ago | (#30107458)

I want to see their code

Do you mean typical interview code (which is useless)? Or actual production work... because I'm pretty sure no one's going to let you see the latter.

Re:Degree, or four years of experience? (1)

jcr (53032) | more than 4 years ago | (#30107614)

I'm pretty sure no one's going to let you see the latter.

What I typically see is code that the candidate wrote for their own enjoyment, or in several cases, for their own products.

-jcr

Getting in over your head (1)

chrisreedy (127131) | more than 4 years ago | (#30107304)

As someone who spent a lot of years observing software projects gone bad ... I prefer someone with a four year degree because they have a better chance of knowing when they are in over their head. Some examples: Trying to build a mini-compiler without understanding anything about parsing, yacc, lex, etc. Trying to build a special purpose DBMS without understanding DB theory.

Some guy.. (0)

Anonymous Coward | more than 4 years ago | (#30107320)

Well its not just about the paper on the wall, there are much more factors that do differentiate a selfgrown developer from the degree one.

Some are historical as usual a degree was a sign of competence or at least in europe a sign of ability to learn and prioritize on your own. (In the times where univeristy was not that kind of crappy school like institiution it has become by adopting to the US like model of BA and MA).

Some "geeks" might be better coders, but lets face it: What is a good coder? The guy who is all about the newest language and the freakiest code or is it the persone who understands business and who is able to deliver quality and contribution to a team?

So at the end the decision about payment and hirement is a really different one than paper vs. no paper. Paper might only be the first filter factor if the resonation is just too high to a position. The decision is based on (priority)

- Team and social competence (Thats why it is so important to have the interview, guys)
- Experience. What has been achieved? In which field? What were the targets of the achievement?
- Brain. No matter what youvde done and studied you will never be a 100% match for the company to hire you. Prove that you are able to learn, understand, adept quickly.(Maybe here the 4y shows some weight, as those people managed to educate themselves for 4 years and to learn, adept and understand new things though not always useful and meaningful)

Why they make a difference? (3, Insightful)

Kjella (173770) | more than 4 years ago | (#30107322)

Well, probably because computer science is one of the few places where you really go from build to design. Sure it happens that a construction worker becomes a civil engineer or architect, but it's not something that happens by itself. In most lines of work you'll often end up with people doing it some weird way because they've never learned that sort of thing, you can see it in computers too with people that never learned any design patterns and decided to invent their own - mostly poorly. Sure, proven experience beats all but if I was choosing between someone that's learned the theory and has a little experience versus someone that's been busy writing low level procedures all that time it'd be a tough call. If I could have both I'd probably ask the guy with the academic background to draft it and ask the other to sanity check it. Code can be "ugly but works" and it's not really important, people don't touch it much unless they're changing functionality. There's no such as "ugly but works" design, then it IS an ugly design that'll come back to haunt you again and again.

you get theory (0)

Anonymous Coward | more than 4 years ago | (#30107326)

I'm a CS major at gatech and I have to disagree with you. Most of the experience you get at university is not vocational skill--what you get is foundational theory. I'll definitely never have a chance in the commercial sector to create a computer from the transistor level up, and I probably won't have any professional opportunities to write in assembly, lisp or smalltalk--let alone work on nontrivial group projects in those languages.

Sure you can do those things in your spare time, but why not do it in a guided fashion, and get a piece of paper that proves it?

Not to mention, there are plenty of algorithms and paradigms that I simply would not have come up with on my own/with the internet.

Important difference (2, Informative)

MSesow (1256108) | more than 4 years ago | (#30107332)

I think the difference in the words "developer" and "coder" are important to any argument made - If all you need is someone who's job is only to write code, then yeah, a coder is a coder. However, if you need someone who is familiar with algorithms, theory, life cycle management, requirements engineering, etc., then you probably would want someone with a four year degree. Granted, even then there is no promise that the person knows more if they are a coder/degree holder, but generally the person looking at a stack of resumes will see that one extra accomplishment, and it very well might make their decision that much easier.

Re:Important difference (1)

dkleinsc (563838) | more than 4 years ago | (#30107604)

First off, be aware that many graduates of 4-year colleges are also treated pretty badly due to the economy, possibilities of outsourcing, and so on. Because software developers actually produce new stuff, they are often seen as an annoyingly overpaid and slow set of bricklayers by areas of the business that focus on sales and statistical analysis. Admins of various stripes are often in the same place on the corporate hierarchy as janitors, regardless of what they're paid, and it shows.

What 4-year graduates often have that 2-year vocational graduates often don't:
- Theory. They tend to know not only how to use a data structure, but how to make one from scratch, and why they are better under certain circumstances. They can build effective parsers and interpreters, know what data formats and algorithms will make things faster and easier, and can see and remove bottlenecks easily.
- Exposure to lots of different styles of language and design ideas. A lot of 2-year schools will focus solely on one language (typically Java or C#), whereas a graduate of a good 4-year program has worked in those languages, but also in C, C++, a LISP variant or two, some scripting languages such as Perl or Python, and a few other things.
- Database design. They're typically trained in E-R diagrams, normalization, indexing, and so on in a way that a lot of the 2-year schools skim over.
- Strong English writing and speaking skills. Yes, those matter for developers, because a developer who can communicate well can explain their work to other developers, users, managers, and anyone else. That's a big part of why they get the perks: their bosses understand what they do.

It's not universal, there are exceptions, but that's the norm. And frankly, a good number of the 2-year private institutions are a bit disingenuous about what they're really selling you, trying to convince you that once you graduate you will be able to hold your own with MIT grads, which simply is untrue.

who cares? (1)

brausch (51013) | more than 4 years ago | (#30107352)

I don't care where a co-worker went to school, I just want to see his or her code and documentation and talk with them about the thought process that went into their work. Results matter. I've worked with PhDs from hot shot schools (CMU, MIT, etc) and I've worked with self taught folks. Both have been good and not good. The bottom line is who gets the work done, not who knows more theory.

The question cancells itself out (1)

Potor (658520) | more than 4 years ago | (#30107354)

You say that at university, one learns more than programming. If this is true, then the difference cannot just be a piece of paper.

Don't you see that the (hopefully) liberal education one gets at university offers a different skill-set and broader world-view than one gets just simply learning to program?

I think back to Madoff's programmers. Code monkeys were all he needed. This is not to say that these programmers were vocationally trained. But a good liberal education would have enabled them - and anybody who pays attention - to ask the kind of questions that go past algorithms and enter into wider categories.

University is not for everyone - but for the right people, the intellectual and theoretical challenges of university opens minds, before it opens doors.

Because training is only part of it (1)

MaliciousSmurf (960366) | more than 4 years ago | (#30107358)

Law school loves people who have degrees like theater, psych, etc. Why? Because they can teach you all the law crap, it's your background that makes you interesting.

My brother (straight out of a liberal arts college) got a job at a competitive company that used a language he'd never touched before. Why? Because they were willing to take the time to train him. It seems to be less about being trained in the field than it is about having the essential skills to work in the kind of environment that a 4 year degree institute provides (presumably more pressure, more varied, and, yes, the culture/social status aspects are definitely a factor.) Teaching programming languages is useful, yeah, but programming languages go away. They want someone who is versatile. The presumption is that someone who didn't go to college doesn't have the basic degree of mental training that a college grad does.

My comments are talking about people straight out of whatever program, not after they've been in the field a while.

Education Happens Outside the Classroom (0)

Anonymous Coward | more than 4 years ago | (#30107384)

There's nothing that can be learned in the classroom that can't be learned outside the classroom. Most high quality developers started teaching themselves before they were old enough to go to college. However, many people don't have the discipline to really push themselves to learn new important concepts without a teacher directing them.

One of the reasons that a degree is required is that the employer knows that you have learned the important concepts. Otherwise you need to fill your resume with very complex projects to prove your knowledge. The alternative to a formal education is doing projects on your own time that you can talk about on your resume. If it's not worth putting on your resume you're not trying hard enough.

Another reason is simply elitism. Play the education game or prove yourself with resume quality projects. Or even better, do both.

Multilateral development (1)

gr8dude (832945) | more than 4 years ago | (#30107400)

By exposing one's brain to information from different fields you teach them to see a problem from more than one perspective. They can understand the problem better that way. This gives them the advantage of being able to apply knowledge from other fields when designing their software.

It may not be obvious, or easy to measure, but I believe that my exposure to psychology, philosophy, and foreign languages results in the generation of pretty interesting ideas and solutions in the world of software. In the same manner, my technical background gives me advantages (or at least it gives my work a unique touch) when dealing with "humanistic things".

Of course, you don't necessarily have to go to a university to achieve the same effect, you can read books, talk to people, participate in discussions, and so on.

p.s. the summary is biased: "focus purely on writing _great_ software". The focus is on writing software, whether it is great or not - that's a different question.

White collar coders make better sheep (1)

grapeape (137008) | more than 4 years ago | (#30107402)

For some reason in my experience the degreed developers tend to be more "disciplined" which at least in the companies I have worked for means they are more likely to allow themselves to be pushed around and are less likely to question methods and proceeders. I am not sure if its the massive debt hanging over their heads or simply the years of being a dedicated student, but they just tend on average to be more willing to keep their mouth shut and keep typing while complaining less about things like overtime, workload, etc.

School? (1)

Talisman (39902) | more than 4 years ago | (#30107414)

The best coders I know didn't go to college, at all.

Wow, That's a Loaded Summary (5, Insightful)

Comatose51 (687974) | more than 4 years ago | (#30107430)

Seriously, those aren't questions in the summary. It's a bunch of statements. When you frame your "questions" the way the summary did, there's not a whole lot for anyone to say. There's nothing else for me to say except to refute the basic premise of what the summary laid out.

I went to a four year college and got my degree in CS. My college is actually very prestigious but for its humanities, economics, and other non-CS related fields. I went there knowing that because I wasn't sure what I wanted to do when I started college. With that said, I did studied a lot of humanities and non-CS subjects because they interested me and my college encouraged me to explore. Nonetheless, I did study computer science rigorously, especially in the more theoretical areas such as graph algorithms and triangulation/localization algorithms. The way the summary is written, it made it sound like people like me don't know what a big-O notation means or what a pointer is. That's really unfair. If someone mistreats you because of your two year degree, the right approach isn't to denigrate people with four year degrees.

I've been in the industry for a while. The times when the degree matters is when the recruiter go searching for candidates. They search for skill sets but also for specific groups of schools when hiring interns or new college grads. Why? It's based on the perception that those who go to prestigious schools tend to be fairly intelligent because the schools themselves do a good job of weeding out bad students. It doesn't mean all students from those schools are good nor does it mean people who go to two year schools are bad. You have to think of it in terms of probability and inference. With that said, schools pay a role mostly when hiring for NCGs and interns. For experienced candidates, we usually don't even bother look at that. In fact, most candidates put that information last on their resume and we glance at it at most. The most important part is the ability to solve problems and write good code.

BTW, the article itself is pretty horrible. It doesn't even say anything of value. It's just a bunch of guys arguing and being judgmental. Grow up.

Problem solving and novel approches (0)

Anonymous Coward | more than 4 years ago | (#30107438)

I'm an ex-physicist turned finance quant. Most of my time is spent coding. I learned to code because I had to simulate my experiments in grad school. My first and only programming course was Fortran in freshman year.

But I and others in my group often find ourselves explaining the technical aspect of a process to the ones who are supposed to be the computer experts.

My conclusion is that, although they have been taught many things about many different systems, they haven't been taught how to really solve problems. Hard problems, whose solution may not even exist. It's a cliche that I never thought I'd hear myself say, but they really don't know how to think outside the box. And there probably isn't a shortcut to teaching someone that kind of ability. It just takes time and well-rounded experiences, that can come from years of varied (i.e. not just comp sci) classwork or, in my case, years of frustration in a lab. Cookie-cutter comp sci coursework won't get someone the skills they need to do my job.

4 years of college not about piece of paper either (3, Insightful)

noidentity (188756) | more than 4 years ago | (#30107444)

Why does the software industry keep emphasizing this difference -- and generally giving better pay to four-year grads? Isn't being a developer about real skill level, not the piece of paper on the wall?

Isn't being a four-year grad about having gone to college for four years, not the piece of paper on the wall? Like you said, they study other things like history and sociology.

Real skill is about applying real knowledge (1, Interesting)

Anonymous Coward | more than 4 years ago | (#30107450)

I'm a college computer science professor at a 4-year liberal arts school, so there's my bias, but in my experience, it's the difference between knowing how a tool works and how the science behind a tool works. If the tool breaks, or isn't right for the job, a background in algorithmic theory, software engineering, maths, perhaps graphics, and yes, programming languages (as in, how to build a compiler, not how to compile Ruby) is what makes the difference between someone who knows how to do their job, and someone who knows how to do their job by google-cut-and-pasting code.

I hate to say it like this, but the majority of students coming from 2-year schools simply aren't as prepared as their colleagues in the four-year universities. It's not just about the other education that comes with liberal arts schools... it's because you do 4 years of study in computer science... you just formally learn fundamentally different things at deeper levels by more qualified people. (Our department has 12 PhDs in a staff of 12 versus 1 guy with an MS at the local vocational college.)

Add to that 4 years of maths (which we require) 3 years of physics/chemistry (which we require), one full year of software engineering (which we require) and oh yeah, the history of world literature, studies of music, art, and history, etc. and what you get - grade for grade - is a better applicant.

-Clio

gotta filter the applicants somehow (2, Funny)

petes_PoV (912422) | more than 4 years ago | (#30107460)

When you get dozens of applications for a single position there's got to be some pre-interview filtering - otherwise people would waste all their time (no matter which side of the desk you sit on) interviewing. After you've discarded the poorly spelt and punctuated offerings and before throwing the pile into the air[1] you might as well try one more layer of objective selection. What could be better than preferring people who've got more education?

[1] once observed: the best way to select a candidate is to throw all the CVs (american: resumes) into the air. The one(s) that stick to the ceiling get hired. After all we want "lucky" people working here.

Please no... (5, Insightful)

QuoteMstr (55051) | more than 4 years ago | (#30107486)

This is the kind of story that will bring out the worst in Slashdot. It has it all:

  • provocation for pragmatic and the elegant schools of programming
  • bringing the know-nothing anti-intellectuals out of the woodwork (Durr! I just need to know dem PHP!)
  • bringing all the hyper-sensitive academics out of the woodwork (E Gahds! I can't let the PHP guy go uncorrected! *typetypetype*)
  • inflaming emotions over an issue that can't possibly be resolved objectively
  • a complete lack of substantive merit; nobody will walk away smarter
  • setting up a divisive us-versus-them mentality that's practically purpose-built for flamewars

Slashdot, what the hell happened to you? You used to be interesting and hot, but you gained 400 lbs and started smoking crack. You've really let yourself go. I don't think I can do this anymore. It's hard to say, but I don't love you anymore.

Doing things you don't enjoy under stress (1)

roman_mir (125474) | more than 4 years ago | (#30107498)

I loved programming since a very young age and did it on paper before even having access to a computer, so when I applied to a few universities it was only because it probably was expected that I should do so. By the end of the first year I got a job putting bills online for a telco site, just a bit over minimum wage, but I only was able to land that position because I was at the university (there were about 60 people trying to get that position and the reason I got it was only because I came to the interview with a magazine, sharing my excitement over some new development in an Intel CPU with the interviewer).

Now I gave some thought - did it really matter, going to a university, would it have been different if I just took vocational training? The answer is yes. It was a correct decision going with a university even though it was so expensive (I paid for all tuition, living, books myself by working all the way through the 5 years, which I did instead of 4, because I decided to go slower but around the year, summer and all.)

It was better for me - I was already able to code in more than one language, I built my own software similar to lotus/excel without ever even seeing something like that before in my life. Built games, word processors, tools, drivers etc. for myself just because it was interesting. So from point of view of a trade I could do it without any further training.

However the university gave me something I didn't have: 1. Doing things I didn't like anyway while under stress (all of those extra courses that TFA is complaining about). 2. Finding out about the math of the subject, which I would not have otherwise done myself, because it's not that crazy fun (for me at least), but since I had to pay for my education I had no choice but to do what was needed or lose the money with nothing to show for it. 3. I got myself 2 educations to get the B.Sc. , a major and a minor, and my minor was actually interesting to me as well - astronomy. 4. I was forced to study all by myself, while my university has a good enough reputation, it's not a school where you are just given stuff to do and you are good as long as you do it. There we had to push ourselves, the profs really hated teaching and most were terrible at it, while the exams were a bitch.

It was worth it, would do again if given a choice but would definitely change a few things, like not trying to overload myself that much in the first year, there should be time for some fun while doing all that.

Communication (1)

SuperKendall (25149) | more than 4 years ago | (#30107524)

Someone already covered algorithms, and that is an important aspect. I've run into a lot of coders that didn't really understand why you would use a hash table over other forms of storage for instance...

But another important factor is that someone who has gone through a traditional four-year degree has had to write a number of papers on different topics, hopefully learning in the process to communicate ideas better. Communication is really the crucial factor for working within companies, because you are dealing with so many people that don't understand the technically stuff fully and the better you are able to clearly communicate the implications of complex technical choices the better off everyone is.

A degree is something that helps you get a job right out of college because of the likelihood that you can communicate well, as you progress interviewers take much more into account what kinds of projects you have worked on (not even necessarily where you have worked). But again being able to communicate well is a key factor not because they know you can or are looking for that directly, but because it helps *YOU* describe what you have done succinctly, in understandable terms, and highlighting what you want to get across about your areas of expertise. Someone better at writing and getting ideas across will naturally have an edge in seeking jobs.

Why...a stigma attached to no 4-year degree? (1)

ibsteve2u (1184603) | more than 4 years ago | (#30107526)

'Cuz the first thing a company does upon being formed is hire people for the personnel department...who have four-year degrees, at least.

They don't know squat about what is happening in the company's core business, which feeds their own insecurity and drives them to set a minimum standard - the four-year degree - that they can relate to because it reinforces their own value.

Is school the be all end all of education anyway? (1)

bigsexyjoe (581721) | more than 4 years ago | (#30107532)

I have an engineering degree, C++, assembly, theoretical CS, and lots of math in school. Now I do Java web stuff. It's all Eclipse, servers, html, javascript, proper software engineering practices, and of course Java.

So, I finished college knowing almost nothing that I need for my present job (above basic programming). How am I able do things that on the job that I didn't learn in school? It's almost as if I somehow learned things outside of school...

I think any developer learns a lot on the job. The guy with the prestigious degree even more-so. CS degrees usually give you more theory than anything. The stuff you actually use on the job, is usually learned on the job.

Oh, and I barely took any non-technical classes. But I learned to be a slightly better writer by debating people one the Internet, using social media, and needing to use written communication at work. My knowledge of world events, social sciences and the like is also superior to about 90% of people who have liberal arts degrees. This is because I read books, look things up on the Internet, and pay attention to the news.

All I care about... (1)

Zarf (5735) | more than 4 years ago | (#30107542)

"Did you take Data Structures?" if the answer is yes then we're cool.

2 Year students are NOT better coders (1, Interesting)

Anonymous Coward | more than 4 years ago | (#30107556)

I am a lead programmer for a marketing company and we have had many 2 and 4 year temps come through our company. I can tell you from experience that all of the 2 year programming college grads were always running into problems, causing more bugs, and needed more guidance than the 4 year computer science grads. At least all of the ones we have had never took a data structures and algorithms class.. they learned a little of that within their specialized curriculum but none of it stuck so any time they would have to do anything outside of the box, they would get confused and would need their hand held through the process. I ended up building a test to weed out the many bad programmers.

This is perhaps an isolated experience due to the local 2 year programming colleges in this area.. I have actually written letters to their universities stating that they need to rethink their curriculum as their students are not ready for real programming jobs once they have graduated.

Do the math... (1)

konohitowa (220547) | more than 4 years ago | (#30107562)

It's mostly the lack of mathematics. Even the 4-year programs at places like ITT-Tech & Devry are incredibly lacking in math. And with Devry (for example) available at the "bargain" price of $330/credit-hour -- the appearance that you bought your degree because you couldn't handle earning a university degree is a bit difficult to overlook.

It's better if you like what you do... (0)

Anonymous Coward | more than 4 years ago | (#30107578)

The main advantage of hiring people with Masters degree instead of vocational degree is due to the fact that most people actually do not like to do computer science a lot.
Including people that choose to "learn it"...
So at the beginning you get a lot of people that would really like to be sure that they get a well paid job without programming too much, and preferably not having too much to do with computers.

If you force them to stay for 4 to 5 years you get a greater chance that they get bored and leave (do an MBA or some equally brain damaged stuff...)
2 to 3 year is too often bellow the pain treshold...

Moreover writting great code is one thing, writting relevant code another, so having some clue about economics, sociology, art, philosophy etc... is really useful.

So in conclusion, a good IT person can have: a vocational degree, a masters degree or be self taught... but if you look at the general numbers..
Then probably the best are self taught, then people with masters, phd, etc... and vocational students are last...

On the other hand, nobody stops you from being the exception that confirm any rule of your choice...

A real C/S education is priceless. (5, Informative)

tjstork (137384) | more than 4 years ago | (#30107580)

I'm a blue collar developer but I had some CS in college pursuing a degree in English. Somehow I managed to BS my way into a graduate class on computing theory which I have to say was the most valuable education I've gotten in my life. Even if you do not get a degree, you will be richly rewarded if you make an effort to educate yourself.

I would recommend:

a) learn classic data structures. learn binary trees, learn hash tables. throw away the pre-built collections you get and try building them yourself. You'll gain a better appreciation of what your libraries do and a real sense of which might be appropriate.

b) learn some formal information theory. Learn what Big O notation means and understand the difference between O(1) O(n) O(logN), and so on. If you want to be a real snob, try and learn some set theory, at least relational algebra, and then you'll really get a grip on how to use a relational database effectively, and understand why things are the way they are.

c) I would highly recommend dabbling in assembly language. Writing snippets of code in assembly language is not that hard. You just have to be organized about what you do and keep track of things yourself.

d) If you want to get into it a bit more, it would not hurt to read Turing's classic paper where he defines the Turing machine. The thing about Turing and indeed, a lot of the foundational papers by the greats in computer science, is that they are remarkably readable.

e) Have a crack at an NP complete problem, just write a code to solve one, then ask yourself why, it is so ridiculous, and then read up on that.

f) Try and do a little bit with fractals. Write a mandelbrot set generator... Everyone does it.

All of those things are great things for any developer to do. Indeed, whether you finish college or not, your education in computer science should be a lifelong thing. Like any field, challenging yourself with problems solved and unsolved will not only make you a better programmer, but also, to some degree, a better human being. Your formal training is only the beginning of your obligation to educate yourself, lifelong.

School is a filter (1)

stokessd (89903) | more than 4 years ago | (#30107598)

In my limited decades of experience, the diploma gets you in the door for an interview. The perspective employer has an idea of what sort of person he wants and what qualifications are needed for that job at hand. He also has limited time and money to hunt for applicants, and thus leverages the secondary education process to act as a filter for him.

There are still a lot of old-school companies that require degrees because they always have, not because it's smart. There's also a lot of degreed folks who aren't qualified to pet my dog. But in general using the established education system to act as a filter works pretty well. Blindly using it also filters out lots of qualified individuals that got their qualifications in a less traditional way. But those folks may not be best served by working for an "old-school" company in the first place. So this blind school based filtering actually does them a favor as well in some cases.

I am a PhD research scientist not a coder, but I do a LOT of coding in my research (that's why I love this place). I see the same phenomenon when hiring new scientists and engineers. It's not just the IT world.

Sheldon

Oh god, CLASSIC!!! (1)

keepper (24317) | more than 4 years ago | (#30107602)

So I wanted to find out more about this author....

Eric Spiegel is CEO and co-founder of XTS, which provides software for planning, managing and auditing Citrix and other virtualization platforms.

This web site at www.xtsinc.com has been reported as an attack site and has been blocked based on your security preferences.

CLASSIC, so much for "smarter white collared developers" ;)

But I digress...

Look, plain and simple, in the field of software development, education means NOTHING. Why you ask? because unlike true engineering, there are no globally studied curriculums. Now, you may argue about this all you want, but these are facts. CS programs vary so wildly, it's amazing.

Secondly, since most developers don't do any actually engineering, those core CS principles rarely come to play.

That being said, what matters is the individual. There are huge differences from people that went to a tech school 'cause it was cool, someone that went to a top tier school, someone that dropped out ( for any of the reasons ), someone that went to a mediocre schoo, and someone that skipped college and just wanted to speed up their career.

But usually, those differences boil down more so to "candidate pools", and who they "mostly attract".

The good developers, come from all walks. They are the people that go beyond the taught knowledge ( wherever this knowledge may have come from ), and actually understand things from a raw, as close to true engineering perspective as possible, view.

But what do i know, I'm one of those that went to a top tier ivy, EE btw, and then decided to leave on his third year because it was too boring.

There's a stigma attached to that? (0)

Anonymous Coward | more than 4 years ago | (#30107620)

Really?

Load More Comments
Slashdot Login

Need an Account?

Forgot your password?
or Connect with...

Don't worry, we never post anything without your permission.

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>