Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

One of the problems that I see is that perhaps "Computer Science" is too broad. MIT has been mocked by some for having a "humanities" department, where Theater, Foreign Languages, Literature, etc., are all combined together, but given how complex the world has become in the world of computer science disciplines, I'd argue that a "Computer Science" degree is almost as broad.

Consider the different sorts of work that a CS undergraduate might pursue: Alice could become a CPU architect, working at Intel or AMD on the next micro-archtecture for the next generation of x86_64 chips. Bobby could work on creating a new secure PHP framework that makes security exposures much less likely. Candice could on writing J2EE applets for Ford. David could become a GUI engineer. Elaine could be writing the engine for an amazing new MMORPG. Frank could be working on new compiler optimizations for the Go language. Gerald could be a product manager for an amazing new consumer electronic device that's actually not derivative of other products. Hermione might be a webmaven who can create a website using Drupal, Wordpress, or what ever else is appropriate/demanded by her clients. You get the idea.

All of these require radically different preparation for a successful career, and one interesting question is where should that preparation take place? On the job? At a trade school? At an undergraduate CS program?

Some CS programs focus heavily on Java programming these days. Others still have a very heavy Systems bias (although I lament that MIT is no longer requiring undergraduates to build a CPU out of TTL chips :-). Some try to spread themselves super-thin, and have a peanut-butter coverage of all of these topics, and assume that if student needs to learn the intricacies of the Java standard libraries, they can do that on the job. Others will assume the same about what Virtual Memory is. (No kidding, I was sitting in 1st year introductory CS graduate class at MIT when a student raised her hand, and asked in lecture, "I'm sorry, what is Virtual Memory?". My jaw dropped.)

Similarly I think there's going to be a huge variety in salaries based on both the very wide range of talent available --- both in terms of quality, and their scope of training/skills/experience. If a company only wants the very best and brightest, asking for $100k/year even for a recent college graduate isn't insane. I've done phone screens for people who have been out in the industry for years, and they flubbed amazingly basic questions --- so much so that I wondered how/why their previous employers had hired them. My personal conclusion is that the market is extremely tight for certain classes of software engineers (for example, really good Linux Kernel engineers), and some companies react by hiring anyone they can get, and other companies react by holding the line, only hiring competent engineers, and paying more if that's what it takes.



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: