View Sidebar
Computer Science vs. The Real World

Computer Science vs. The Real World

October 28, 2009 9:49 am4 comments

As usual, Joel Spolsky hits the nail square on the head in his Oct 26, 2009 piece on the discrepancy between what Computer Science programs teach and what software developers need to know in the real world:

It is amazing how easy it is to sail through a Computer Science degree from a top university without ever learning the basic tools of software developers, without ever working on a team, and without ever taking a course for which you don’t get an automatic F for collaborating. Many CS departments are trapped in the 1980s, teaching the same old curriculum that has by now become completely divorced from the reality of modern software development.

Where are students supposed to learn about version control, bug tracking, working on teams, scheduling, estimating, debugging, usability testing, and documentation? Where do they learn to write a program longer than 20 lines?


  • The problem is that employers still have this notion that a University degree is somehow better than a college diploma. I took my schooling at a “community” college (they’ve since dropped that part of their name to avoid the negative connatations), and guess what I learned there?

    – Software dev tools as well as theory
    – Requiring to collaborate on a team project to get an A
    – Project Management in software development

    All the things that Joel brings up as missing from “University” programs.

    The frustration is that there *are* college graduates that are coming out of schools with these skills. Unfortunately the industry seems to think that filling 4 years of courses (some of which don’t have to be computer related at all) makes a better jr. developer than someone who takes a condensed 2 year one.


  • derek

    I’ve found that some of my best hires have been community college graduates, though in my experience having some previous post-secondary education or work experience before community college makes a huge difference. Most (not all) of the best community college grads I’ve worked with didn’t go straight from high school to community college.

    There is a lot of value in a computer science degree, it just doesn’t map directly to real world skills. In general I’ve found comp sci grads can learn just about any dev tool, technique, framework, etc., but they don’t come out of school with that knowledge.

    Don’t discount the value of those non-computer courses taken by comp sci students. It’s part of developing a broader outlook by exploring other disciplines and examining the world from different perspectives.

    Given exposure to the same types of tools and some collaborative working environments, I would expect 4 year comp sci grads to be better developers overall than 2 year community college grads for the first year or two of employment. But that is a moot point since curriculum is so varied and comp sci programs don’t encourage collaboration.

    Personally I would like to see schools introduce a formal apprenticeship system that would be a mandatory requirement before receiving a degree / diploma that implies readiness to work in the industry.

  • My brother in law would love this website. We were not too long ago discussing about this. hehe

  • Just got here tru my mobile browser. Can’t read your post that much coz it wasn’t properly formatted on mobile browsing.