- 论坛徽章:
- 0
|
翻译自“CareerAdvice”, 翻译者 fqh, 修正网址http://cnkernel.org/blog/
* #kernelnewbies这个irc频道的访客通常是那些希望寻找一份内核相关的工作但是还不知道如何获取这样一个工作的人。你要记住,你可以从事很多的事情,它们可以带给你某些能力。这些能力很可能是你找到内核相关工作所必需的。你需要记住的最重要的东西是,你需要经验–但是,不像其他工作经验,你可以利用业余时间来锻炼自己。事实上,多数内核开发员起初只是把内核开发当作一种爱好,到后来他们才变成了专家。
*去玩弄linux,尝试配置新的令人感到兴奋的驱动程序,或者就是从事系统管理员的工作。当前的linux内核开发员有很多是曾经担任过系统管理员的工作,并依此生活。在这个工作中,你必须尝试多种方式去解决很多问题,比如尝试安装新的软件,查找和修正臭虫,在新的特性可用后试验它们(比如,LVM)。这些使得你熟悉linux内核的很多方面以及linux系统的其他部分。最重要的是,通过它你能得到一些解决问题的能力,还有耐心。而这两者是从事内核开发所必需的。
* 订阅linux内核邮件列表,留意linux内核开发社区当前在讨论什么。
*在你的系统中运行最新的内核。试着编译最新的内核snapshot,通过内核邮件列表报告遇到的bugs。当新的bugfix出来了,应用bugfix补丁到你系统中,确认那个bug是否真的被修正了。如果你真正地投入到这个游戏,你就会在linux内核邮件列表中找到很多有趣的补丁,并把它们应用到你的内核中。解决多个补丁的冲突问题将带给你继续前进所必须的经验。当你在自己的补丁库里面积累了一大把的内核补丁,并不断得从一个内核版本玩到另一个版本时,可能你就有能力发布你自己的内核补丁和尝试修补其他人发现的bug了。
* 帮助内核守卫员工程,和其他人一起对内核源码进行简单的修改和清理工作,那些人可以向你解释为什么这些修改是必需的。这项工作有助于你熟悉linux内核源码,同时也对linux社区做出了贡献。
* 在linux内核邮件列表或内核bug tracker中寻找bug报告,并帮助修正它们。开始的时候,你可能会局限于重现那些bug,和追踪出bug的大概原因,但很快,你就可以熟悉内核源码和有能力独立去修正bug。
* 在你成长为熟练的bug修正员后,可能你已经熟悉了一个或多个linux内核子系统。你就有能力在某个内核子系统中帮助其他的开发员新手,人们也将开始记得了你的名字。在这个时候,就是一个绝佳的时机去开始适应内核开发员的工作了,因为人们已经在运行着你的代码。
实际上,这个过程要花去几年的时间。不要灰心。这些能让你获取必需经验的步骤是有趣和有用的,在这条道路上你甚至可以做出一个或许更加有趣的职业选择。
持续修正,更新的译文请访问http://cnkernel.org/blog/
附英文原文如下
The #kernelnewbies irc channel gets visited regularly by people whowould like to get a job as a kernel hacker, but are not sure how to getsuch a job. There are a number of things to keep in mind and a numberof things you can do to give yourself the skills you need to be morelikely to get such a job. The most important thing to remember is thatyou need experience - but unlike other job experience, you can trainyourself in your spare time. In fact, most kernel hackers started outworking on the kernel as a hobby, and only later became professionals.
* Play around with Linux, try configuring new and exciting drivers,maybe get a job as a system administrator. Many of the current Linuxkernel hackers have once made their living as a system administrator.In that job, you get to fix problems by trying out new software,finding and fixing bugs and trying out new features (eg. LVM) when theybecome available. This makes you familiar with many aspects of theLinux kernel and other parts of the Linux system. More important still,it gives you some of the problem solving skills, and patience, neededto be a kernel hacker.
* Read the linux-kernel mailing list and stay aware of what is going on in the Linux kernel development community.
* Run the very latest kernel on one of your systems. Try to compile thelatest kernel snapshot and reports bugs with it to the linux-kernelmailing list. When a bugfix is created, apply the bugfix patch to yoursystem and confirm that the bug is indeed fixed. If you really get intothis game, you will find a number of fun patches on the linux-kernelmailing list and apply those to your kernel. Working out the patchconflicts between multiple patches gives you the experience needed tomove on. Once you have a handful of patches in your own patch set, tocarry around from kernel to kernel, you could publish your own kernelpatchset and try to fix bugs in it that other people find.
* Help the Kernel janitors project, making easy modifications andcleanups to the Linux kernel source code, together with people who canexplain you why those changes are needed. This helps you get familiarwith the Linux kernel source code, and at the same time you dosomething useful for the Linux community.
* Find bug reports on the linux-kernel mailing list or the Kernel BugTracker and help fix them. In the beginning you may be restricted tohelping reproduce the bug and tracking down what is roughly the causeof a bug, but after a while you will become familiar with the sourcecode and will be able to fix bugs yourself.
* Once you are a proficient bug fixer, chances are you have becomefamiliar with one or more of the Linux kernel subsystems. You will beable to help with new developments in this kernel subsystem and peoplewill start recognizing your name. This would be a good time to startapplying for that kernel hacker job, since people are already runningyour source code.
Don’t be disappointed by the fact that this process can take severalyears - all the steps involved with getting the needed experience arefun and useful, and you may even run into an even more fun careerchoice along the way!
[ 本帖最后由 sniper01 于 2007-12-27 10:54 编辑 ] |
|