How do I become a Linux developer

Kevin Buettner kev@primenet.com
Wed, 17 May 2000 23:56:28 -0700


On May 17,  6:27pm, Roy Oxford wrote:

> My name is Roy and I am just starting school. I am working on my AAS in 
> database Tech. I will be taking the Oracle database developer track up to 
> build form III and all test. I will be also taking C++,java+,XML,VB,Unix 
> single/multi user,unix server adm and programing in unix.  I was just 
> informed that Linux is hot right now and would be a asset. I need to know 
> what software and what class I need to become a Linux developer.I am also 
> looking for a developer to be my mentor.

First, pick an area that interests you.  E.g, suppose you're
interested in the linux kernel.  What you should do then is subscribe
to the linux-kernel mailing list and lurk awhile.  There will be
technical discussions there that you should try to follow.  Patches
will be exchanged.  Examine the patches and the source code that they
apply to.  Try to understand what they're doing.  If something doesn't
make sense to you, ask about it.  (Just don't make a nuisance of
yourself in the process.) Over time, you'll gain some familiarity with
the layout of the kernel source code and you'll be able to try making
changes of your own.  (This is a lot of fun BTW.)

If kernel hacking doesn't strike your fancy, pick some other area. 
E.g, I'm working on a port of gdb for the IA-64 these days (as my
job).  This came about by doing ports of gdb for the m88k running SVR4
and later on for linux/ppc.  Doing these ports weren't really part of
my job description at the time, but certainly made my work easier. 
(In both cases, I needed a debugger with which I could debug
dynamically generated machine code.)

There are plenty of other areas that you could contribute to as
well.  Look around on SourceForge and FreshMeat for some projects that
might interest you.  Avoid small projects that only have one
developer.  (Unless the project really interests you, in which case
you should ask the lead (and only) developer if he'd mind having help. 
I usually do this by finding something wrong with the code, writing a
patch for it and then seeing what the response is.  If you get an icy
cold response, move on to something else.)

Almost all active projects have a mailing list or forum for developers
of some sort.  You just need to pick a small number of areas of interest
and go for it.

With regard to mentors, there are usually one or more senior developers
on a project.  If you ask intelligent questions, these people are usually
more than willing to help you come up to speed.  OTOH, if you ask something
that could be easily determined by reading a FAQ or a man page, they may
be more than a little annoyed with you.

Good luck and happy hacking.

Kevin