Hacker News new | comments | ask | show | jobs | submit login

Look for schools that teach primarily in C. At least when I was a student, Santa Clara University (Computer Science and Engineering department, then two departments: "Computer Science/Math" and "Computer Engineering") did that (with the exception of one Haskell-based course and several courses which gave students a choice of language to use). Not sure if it's still the case.

My local community college (where I started) - De Anza College did that as well. I am sure there are many others, just they may not be the most well known ones.

Not all the top graduates will want to go into systems programming, however. Great chunk of user-level systems programming (e.g., network services, distributed systems) is also being done in languages other than C. I suspect, many no longer view having real-world C experience (as opposed to just knowing it) as imperative for their career.

That said, I am not sure exactly what level of C proficiency are you looking for. I am guessing, strong knowledge of UNIX Systems Programming (IPC, interfacing with the VM, etc...) and BSD sockets? You can only learn this through experience and/or working meticulously, through Richard Stevens' books (I _highly_ recommend the former, even if you don't intend to touch C again). You can't expect to hire people with that knowledge straight out of college, but you can hire students with "good C programming ability and strong understanding of operating systems internals, who are interested in learning systems/network programming" (to put in terms of a job description) i.e., they should know what producer/consume problem is, but they may not always know all about UNIX signals, IPC mechanisms and the Linux VM.


Others have suggested to look for students who took an operating systems course. That's likely the best bet.

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