Slashdot Mirror


Becoming a Linux Kernel Programmer?

Young Grasshoopa asks: "In my 6 years of IT life, I've been a sys admin, perl programmer, and a config. mgmt. engineer. I've recently learned programming in C, and somehow ended up learning a bit of Linux Kernel programming as well. I now have developed a strong motivation to become a Linux kernel developer, but given my background, I am not sure how to approach companies or Open Source Project groups. I ask all those who were in a similar situation - how do you become a full-time kernel developer?"

6 of 52 comments (clear)

  1. getting acquanted by bmac · · Score: 5, Interesting

    Your best bet (not that I have done this or have any inclination to do so) may be to be a part of documenting the code area(s) you are interested in working on. This will thoroughly acquaint you with the code and provide a much-needed service that may get your foot in the door.

    Just a thought,
    bmac

    Peace be with you all.
    Manual .sig generator v.1.0.

  2. Re:A word of advice by Anonymous Coward · · Score: 4, Interesting

    Nevertheless - the parent post does have a point. Kernel developing isn't going to be very lucrative. One of my friends had his contributed code accepted into the Linux kernel - for a little bit of fame, glory and geek points. I think the only mainstream OS developers that get any money these days are at Microsoft and Apple (or behind closed doors at IBM, Sun, etc).

    OS design and IT work still solve technical problems - but the deeper ones such as OS design are a lot less visible to the pointy-haired-bosses than the "my printer doesn't work" ones. Therefore they're a lot harder to get $$$ for in general.

    Having written an OS (as a toy back in '96), it's not that amazingly glamorous, there's a lot of painstakingly detailed work.

  3. I'd go for hardware companies by snowtigger · · Score: 4, Interesting

    Assuming you want to get paid, I think there are two "easy" ways of getting to do kernel programming.

    The first one being embedded systems. A few friends have already done that. There are lots of companies making their own hardware devices: firewalls, toasters, gadgets, etc. Linux is a popular OS for that market and you're likely to touch different parts of the kernel.

    The other market is device drivers hardware (Printers, webcams, network cards, joysticks, etc ...) Companies making computer hardware need drivers for them and somebody has to code them.

    Good luck !
    ---
    If you're not living on the edge, you're taking up space in the middle

  4. Do something by kinema · · Score: 3, Interesting

    Find something that you think the kernel needs or that the kernel needs to do better and work on it. Look at areas of the kernel that you specifically use (i.e. networking, NFS, Netfilter, etc.). Work on something that matters to you and nothing bad can come from it. that.

  5. Other kernels by sleepingsquirrel · · Score: 2, Interesting
    If by full-time kernel developer you mean you want to get paid to hack on the kernel, then linux is what you want. But if you are just itching a sratch you might also want to have a look at other free kernels. Besides the BSDs you might want to look into the GNU/Hurd. It has a pretty nifty architecture that hasn't really been done before, and since its not polished like Linux, there's still plenty of non-trivial, non-clean-up stuff that newbs can make a meaningful contribution to. And because we're such a small pond, that means you automatically become a big fish. Here's some sites to get you started...

    The official GNU/Hurd page.

    The help-hurd mailing list archive.

    1. Re:Other kernels by Zachary+Kessin · · Score: 2, Interesting

      BSD represents some fine code, But I personally would stay away from the GNU/Hurd Kernel its been "almost ready" for 10 years or more, and shows no sign of getting much past that point any time soon. There may be some good ideas in there but it seems to be to a day late and a dollar short.

      If you don't want to muck about in the linux kernel you can also look at a lot of the application code that is floating around. Gnumeric, GIMP, perl, MySQL, apache etc. Once again find something that needs doing and start doing it. They probably all could use some documentation somewhere (OK several of those projects have very good docs). Or could use testing or transation to a new language.

      The other thing you could look at doing is start building a test suite for an application. Better tests are always useful.

      --
      Erlang Developer and podcaster