views:

507

answers:

6

I'm currently taking a class in operating system development. I really enjoy the course work and find myself doing extra credit on every assignment. I have also been working on some open source OS projects in my free time. I can't really find anyone on Monster.com looking for OS programmers though.

  1. Has anyone out there gone down this road?
  2. Are there jobs out there for OS programmers?
  3. How do you find them?

P.S. I m looking anywhere in the US

+11  A: 

You should look into embedded systems development. A lot of major OS work (Windows, Linux, OSX, etc) is done be a very few high level engineers because the kernel itself needs to change rarely in any significant way, and tweaks are performed very carefully.

However, a lot of devices are being developed in the embedded space (PDAs, Cell phones, media players, etc).

They have custom hardware, and therefore need to modify the kernel for specific tasks.

Check out listings for "Software Engineers" that are attached to hardware companies.

Adam Davis
+1  A: 

There are definitely jobs out there that require systems programming expertise.

Companies that need people to do this kind of development will tend to be large, heavy-duty technology firms (IBM, Microsoft, and Google are obvious examples). These companies may be somewhat less likely to advertise jobs on Monster.com, and somewhat more likely to recruit directly from top tech schools.

It's also fairly unlikely (except possibly in Microsoft's case) that you would see job titles like "OS Programmer." Rather, you'd probably just be looking for a "software engineer"-type job at a company that does a lot of systems programming. You could gravitate towards systems-heavy projects once you're in.

Also worth considering is that a lot of (probably the majority of) commercial systems development nowadays is being done for mobile devices (e.g., PalmOS, Google's Android system).

In any case, systems programming skills are a great thing to have in your tool chest. Even if you don't end up spending your professional life working on that stuff, you'll benefit from understanding it. If you're into it, stick with it.

chrisk
A: 

Edit: This is intended as an aside. This book gave me an excellent basis of OS knowledge.

To get an interesting perpective on OS design, buy copy of the OS course book from when I did CS at UNSW.

It's called "Lions' Commentary on Unix 6th Edition". It consists of two halves, a full listing of the C code from that early version of Unix and a matching, line-for-line commentary of the source code.

BTW It was a fun course.

To answer your question, there are lots of jobs out there that require kernel debugging prowess which a deep OS knowledge would help with.

cheers, Rob

Rob Wells
And when you're done with that, definitely pick up "Linux Kernel Development".
smo
I second Linux Kernel Development - great book.
unforgiven3
+1  A: 

Short answer: yes.

Long answer: there are a few system developement jobs out there. It may not be listed as OS developer jobs, but if you're into doing work with the system, you can find some. Symbian OS is one of these. Some companies are looking for Linux developers. I'm currently working at a company (Hungarian, but still) that makes (mostly) Linux/UNIX-based products for logging, proxying, etc.

You'll probably also find (if you look hard enough) small companies looking for people with system programing knowledge. But most of these require a few years of experience.

Hope all the best: terminus

terminus
+1  A: 

For fairly obvious reasons, new operating system development is something that's not done very often. Try to look for a job doing something like driver development. There's a good deal of crossover in skillset between OS kernel work and drivers... it's certainly not as mind blowingly tedious as your average end-user app dev grind, and offers slightly better job security.

My first professional programming gig was developing the scheduler for a real-time OS. That kind of luck doesn't happen every day. Expect some fairly sticky interview questions :-)

Bob Moore
+2  A: 

I think you're just looking in the wrong place. You'd need to find a position at an OS supplier: Microsoft and Apple are two obvious companies to check. For Linux work you'd probably focus on Red Hat or Novell. For embedded work you'd want to check Montavista, Wind River, QNX, Symbian, and probably a bunch of other companies.

Make sure to set expectations correctly: you will not go directly from college student to highly specialized OS development engineer. Expect to spend some years developing relevant experience, working on device drivers or QA.

DGentry