I really don't see anything on the list Dan mentions that most CS graduates (aside from maybe health and nutrition ;)) havent had experience with or exposure too. Perhaps things are different in US University CS programs, but it seems like he is being selective with the list of courses that he deems as irrelevant without mentioning that most of them (AI topics, compiler engineer, etc.) are advanced undergraduate topics that are taken *after* basic core courses are completed. The math, basics of programming, software design and development methodologies, and database principles among others on and off his list are usually taught earlier in a students academic career. The basics learned early on, whether in the form of thinking paradigms or more practical skills are usually applied in these more advanced topics whether we all realize it or not.
As far as particular technologies like XML and JAVA, while there might not be courses with "XML" or "JAVA" in their titles, rest assured most CS graduates I know (myself included) have had to use these languages throughout their academic career whether they were formally taught them or not.
His opinion makes me wonder if the author has graduated from a CS program. When I first finished my undergrad and started looking for a job, I encountered a similar attitude among headhunters, HR-types, business-types, and even some techies who could no longer (or ever) see the forest in spite of the trees. Being a young, "inexperienced" person I actually started to believe them, that I didnt really have any relevant practical skills. But believing *them* didn't help *me* get a job.
After many frustrating experiences and trial-and-error, I realized that it wasnt that I didnt have relevant skills, but that there was a communication disjunct between academia and the professional world. On my resume I took the focus off of general descriptions of coursework I had taken and placed it on the particular skills that I had developed while taking various courses and working on various projects. In the early interviews before I had gotten my first job, I made a concerted effort to make it clear that I did in fact have relevant skills that would be useful to their organization and to explain how and why they were relevant.
Honestly, I don't know about others, but it's been my experience that the difficulty of most real-world technical problems doesn't necessarily lie in understanding the technical details or the various technoligies used, but in navigating organizational politics, communicating with others, and being able to slog through mundane tasks that benefit the bottom line.
Let's be honest -- if someone "knows how to handle three dimensional diffuse lighting vectors," then they will probably be able to "create a customer feedback form for an insurance company."
|