views:

339

answers:

4

I couple of months ago I was jobhunting. Since my resume is still out there I'm getting an average to two phone calls and four e-mailed messsages per day inquiring if I'm still on the market.

Most of these are calling for Linux kernel developers. However I've found that the term seems to be over-used; or at least that it covers a somewhat more vague range of skill sets then one would expect of a requirement that sounds so specific.

In my case I've written one device driver (a trivial little watchdog driver for a Quanta motherboard), occasionally helped with a few others (mostly MTD/flash ROM), done a few minor patches to init.c and wrangled lots and lots of patches from one tree into another.

I don't consider myself to be a kernel developer.

These days the vast majority of the recruiters who are calling me have just about zero technical acumen ... they are apparently doing simple key word searches and blindly calling anyone whose resume matches >n of their req's keys.

However, it feels like the term: "kernel developer" (which in modern recruiting parlance seems to be synonymous with "Linux kernel developer") can mean any of the following:

  • Someone whose primary job responsibilities would be to develop and maintain a set of kernel patches (probably out-of-tree) for some proprietary hardware, or specialized application. (Probably what most of us, as engineers would think the phrase would mean)
  • Someone whose primary responsibilities would be focused on merging patches from the community and possibly other sources into an "in-house" or distribution-specific code base (which most of us would likely describe as a configuration manager)
  • Someone who's going to develop new network protocols, new filesystems, new security features (or LSM modules), new instrumentation, etc. (Isn't the community already doing that all the time?)
  • Someone who knows C sans C++ and the difference between a system call and a library function
  • Someone who knows how to rebuild a kernel and change some settings
  • Someone who knwos how to use the sysctl command

So my questions:

  • What does "kernel developer" really mean?
  • How could we, as a community, promote a clear standard for what the term means?
  • What would you consider the minimum requirements for putting "kernel developer" on your own resume?
+6  A: 

Regardless of what the recruiters know or don't know, the definition will vary from company to company. It means whatever the employer wants it to mean.

A "technical" definition would certainly be useful, but getting the industry to actually use it in hiring practices is a long shot. Same goes for all types of development. Job seekers have to filter and cull as much as employers.

Dave Swersky
As Humpty Dumpty said to Alice: "When I use a word, it means just what I choose it to mean -- neither more nor less."
NealB
A: 

As you correctly state, the HR droids don't have the faintest idea of what a "Kernel developer" is. In all probability, I would guess that what they're looking for is bullets 1,2,4,5 and 6 from your list. Someone who develops new protocols is more likely to be called "architect" than "kernel dev".

Guessing, again, your prospective employers are companies who build some kind of product that uses Linux in some way, most likely embedded, and need it tweaked to perform something it doesn't do in the off-the-shelf variety. You could be hacking mods for router software, or toaster ovens with LCD menus, or TV set tops... that kinda thing. Or drivers for some kind of new card.

Carl Smotricz
A: 

The recruiter should be able to either read or send you the formal job listing, although it would be missing the company identifying information, and you can go from there. If the job description doesn't provide enough information about what a "kernel developer" means to them, then I'd pass it by.

I've worked as a kernel developer, both in filesystems and in the network stack, for a few companies. When we hired, we were always very specific about what we wanted. We also had one of the developers do an initial phone screen and they would ask some very specific questions. Tell me what the exact sequence of events are to initiate and tear down a communications link, for example.

jfawcett
A: 

HR's goal - especially third party headhunters - is to fit a person into a job, and get paid. If their person was to find a job for a person, it might be a little better setup for everyone... except their commissions, of course.

Dean J