Slashdot Mirror


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

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

22 of 836 comments (clear)

  1. Slaves wear collars by Anonymous Coward · · Score: 5, Insightful

    I wear a T-shirt.

  2. It's about social status... by blahplusplus · · Score: 4, Insightful

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

    1. Re:It's about social status... by jcr · · Score: 4, Insightful

      Sounds like you're confusing education with schooling.

      -jcr

      --
      The only title of honor that a tyrant can grant is "Enemy of the State."
    2. Re:It's about social status... by mbkennel · · Score: 5, Insightful

      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.

    3. Re:It's about social status... by assert(0) · · Score: 4, Insightful

      Cute, the old "they laughed at galileo" adage... Every crackpots favorite.

      Folks, we all know about Wegener, Semmelweis etc. How they were ridiculed and later vindicated. Now, why do we remember these guys? Because they were the exception. They happened to be right. They were not your ordinary crackpot.

      Remember they also laughed at Bozo the clown.

      --
      (founded 95,000,000 yrs ago, very space opera)
    4. Re:It's about social status... by Blakey+Rat · · Score: 4, Insightful

      The longer you spend time in school (2, 4, or 6-year degrees), the greater value you have to the employer.

      Only because the Employer *thinks so*. That's a self-fulfilling prophecy.

      In the real world, I've seen no correlation between education and programming ability, or communication skills, or planning skills. Absolutely none whatsoever. Despite that, I've worked at companies that require candidates to have a 4-year degree, a policy I thought was grossly unfair.

      Why don't I have a degree? For some reason I've never understood, a CS degree that my University required calculus. I can't hack calculus... my failing that class multiple times destroyed my self-esteem to the point where I dropped out of school rather than try again.

      What does calculus have to do with programming? From my experience, nothing. Absolutely nothing.

      I don't have a degree because the degree program required a difficult, pointless, and utterly useless class. After a few years, I realized it wasn't me who was dumb. And that was confirmed when I entered the industry and began interviewing candidates who had calculus degrees, but couldn't code worth crap.

      Obviously, maybe I'm a weird and special case, but you can see that I really don't care whether a job seeker has a degree or not, I'll give them a shot either way. If they can hack it, they can hack it.

      (Oh, sure, there's going to be someone who stands up and goes, "well what about programming video and audio compressors?" But that's not using calculus as a *programming* concept, that's using calculus because it just happens to be relevant to that problem domain. Just like you'd be better off knowing the GAAP if you're writing an accounting application.)

    5. Re:It's about social status... by joss · · Score: 4, Insightful

      > I can't hack calculus...

      Sure you can be a great programmer (in most areas) without knowing calculus, but still.. there is the fact that you just couldnt figure out something that a lot of people can cope with. As an employer I would have to wonder what else you couldnt figure out. Unless there was something pretty damn significant in your favour to counterbalance this, I would hire the person capable of jumping over the (somewhat arbitrary) hoops necessary to get the degree

      --
      http://rareformnewmedia.com/
    6. Re:It's about social status... by shimage · · Score: 4, Insightful

      Lets calibrate your experience. Have you, or people that you know, been admitted to, attend, or have attended PhD programs in technical subjects in top 25 universities?

      I do. Most of my friends either have PhDs or are working on one. You don't need to be smart to get a PhD. Most people I know with PhDs, are not, in fact, what I would consider smart. Importantly, however, they aren't stupid. I haven't met any idiot PhDs yet. The most important factor in getting that PhD is motivation (or persistence, call it what you will), and that is what the PhD signifies. It shows you have what it takes to finish the job. If you can show that you can get the job done without getting a PhD (and I know some of those too), you can still be successful (though perhaps somewhat less so in research). Like you said, the degree only helps you on that first job.

    7. Re:It's about social status... by Homburg · · Score: 4, Insightful

      Only if "Computer Science" is a vocational degree about teaching students how to be computer programmers. Teaching computer science majors source control is kind of like teaching English majors how to use Word - it may be an important tool in making practical use of what one has learnt, but it's not relevant to the theoretical underpinnings of the subject, and university degrees are usually about the latter, not the former.

      Which is why calculus is a reasonable prerequisite for a Computer Science degree. Calculus is a fairly important part of higher-level maths, so, first, if you can't do calculus there's a good chance you won't be able to do the non-calculus math that a CS degree needs, and, second, calculus is actually used in a fair amount of Computer Science - I would think some calculus was important in understanding complexity proofs, for instance.

      Calculus isn't a good prerequisite for a vocational qualification in software development, but a BA or BSc in Computer Science probably isn't that kind of vocational qualification.

    8. Re:It's about social status... by PaladinAlpha · · Score: 4, Insightful

      He didn't say anything about being a programmer. CS is not about programming. Let me repeat it again for you. CS is not about programming. The job you are in has little to do with Computer Science. Computers are not little pocket calculators. They are hugely complex and adaptable devices, and software written for them is developed in several layers. The very state-space the software is developed in is complex enough to be analyzed. Programming is not solving problems, and solving problems is not programming, for anything more complex than projects a student might undertake on their own. Ad hoc development practices might work for a nifty web app or that cool shell utility you wrote in the dorm. It does NOT work for real-world problems.

      One more time: CS is not about programming. You took a theoretical degree in an applied field and then went to apply vocational training. Your success has nothing to do with your education or your inability to succeed in calculus. If anything, you argue strongly FOR formalized education.

  3. Algorithms by moo083 · · Score: 5, Insightful

    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.

    1. Re:Algorithms by JustShootMe · · Score: 4, Insightful

      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.

      --
      For linux tips: http://www.linuxtipsblog.com
    2. Re:Algorithms by ceoyoyo · · Score: 5, Insightful

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

    3. Re:Algorithms by Sir_Sri · · Score: 5, Insightful

      yes, the trick with the advance degree is that you learn in advance about them and when to know how to use them. It also depends very much on what you end up doing at the end of it all,if you end up in a job where traditional search and sorting are your bread and butter you'll pick that up quickly, but not all jobs are like that. Linked lists and sorting is a first and second year problem, Greedy algorithms, graph theory, (shortest path stuff), linear programming are 3rd year and so on.

      I'm taking a grad course in machine learning, where we learn about the backpropogation algorithm (the first algorithm we talked about in class, in I think the first real lecture or maybe second). If in highschool someone had told me go look up and use the backpropogation algorithm for something I could have. But the guy with the degree is supposed to know which to use. Oh and you know all those big O notations... well we have a grad course in algorithms which is all about trying to calculate the numerical coefficients in front of the n^2 or whatever. In that case when they adverted the course to us, the prof gave this sample of two different implementations of the same O(n^2) sort, one had a coefficient of 1.7 the other was 2.something. Maybe important, maybe not. Maybe more education in this case is diminishing returns, but then you don't offer more education to that many people.

      All things that of course you can learn on your own, if it's important, if you have time. The point of having the advanced degree person is they have taken the time, and may know other algorithms as well, and can direct the learning of the other people, who didn't have the time or if at the time it wasn't important. Just the same when you're actually at a company not everyone has time to read the literature, someone has to read, and understand a lot of literature and filter down to the important stuff which is then sent off the relevant people.

    4. Re:Algorithms by ceoyoyo · · Score: 4, Insightful

      Certainly. Experience is good. However, if you're going to hire someone who is fresh out of school and you don't have time to exhaustively test all the applicants, do you prefer someone who has taken and passed courses that are relevant to the skills you want, or someone who has not (but MIGHT have read a book on it once)?

      Also, who is more likely to actually DO that "life long learning" thing? Someone who went to school for a year or two or someone who invested four years? Not to say that there aren't two year diploma holders who take professional development very seriously, but the degree holders have demonstrated that they both respect knowledge and are able and willing to invest their time in obtaining it.

  4. Wow, That's a Loaded Summary by Comatose51 · · Score: 5, Insightful

    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.

    --
    EvilCON - Made Famous by /.
  5. Please no... by QuoteMstr · · Score: 5, Insightful

    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.

  6. No, it's not. by KingSkippus · · Score: 5, Insightful

    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.

  7. It's a trick question by Colin+Smith · · Score: 5, Insightful

    All developers are blue collar. Programming is the IT equivalent of brick laying, it's a trade, not a profession.

    Professions have legal status; Doctors, lawyers, accountants have to be certified and approved.

     

    --
    Deleted
    1. Re:It's a trick question by ale_ryu · · Score: 5, Insightful

      Nowadays plain programmers only exist in highly bureaucratic organizations, most of us do much more than just code according to certain specs, that's why I prefer the term DEVELOPER. You are given a problem and it's up to you to think of a proper solution.
      Plain programmers became obsolete with structured analysis and design. The reason they still exist at banks and other huge bureaucratic organizations is that they have to maintain ancient systems that are both too risky and expensive to replace.
      Most modern design techniques focus less on details and more on interactions and flexibility, giving the developers much more liberty to make important decisions.
      Truth is, if you're just a code monkey with absolutely no imagination and problem solving skills you're useless for the modern software industry.
      Sorry for the lengthy response, but I'm in systems engineering and I get the same 'programmers are brick layers' from all the useless guys that have absolutely no skills and feel the need to bash on good developers to increase their ego. Somehow everyone incompetent enough to code thinks he is above a developer. It makes me rage a little.

    2. Re:It's a trick question by Colin+Smith · · Score: 5, Insightful

      phd. certified and approved.

      Programming is a trade, not a profession.

      Now... *Engineering*, is a profession. But you can be a developer/programmer without being an engineer and the number of programmers/developers who pretend they are engineers (without actually following any engineering practices) is astounding.

       

      --
      Deleted
    3. Re:It's a trick question by Mr.+Slippery · · Score: 5, Insightful

      phd. certified and approved.

      A PhD has no more legal status than an MS or BS or even an AA degree.

      If you're going to claim that government certification is the distinguishing mark of a "professional", then Einstein was just a "tradesman", while the teenager with the shears at the Hair Cuttery is a "professional". I don't think this fits with the usage of educated native speakers of English. (It may conform to some legal definition, but those often have nothing to do with the linguistic meanings of words -- for example, cocaine is not a "narcotic", but that doesn't stop the law from classifying it as such.)

      --
      Tom Swiss | the infamous tms | my blog
      You cannot wash away blood with blood