闲聊Kernel engineer的境界(全)

Sina WeiboBaiduLinkedInQQGoogle+RedditEvernote分享




[陈怀临注:这几天在新浪微博乱喷。整理一下,弟兄们提提意见。。。许多观点不一定对。就是闲聊呀。。。]

我来瞎谈一下Kernel Engineer的几个境界。瞎谈呀,弟兄们别当真。

闲聊Kernel engineer的境界境界(一):1. 喜欢OS。别的啥也看不上。2. 读kernel代码,每天特来劲。饭桌上特牛逼:-)3. 觉得自己啥也不懂,看了就忘,特沮丧。4. 玩板子,特来劲,饭桌上具牛逼。

闲聊Kernel engineer的境界(二) 1. 开始谁也看不起,觉得做网络的其实就是大傻。 做Driver的其实就是脑残。 (2)喜欢做芯片的,特别是做CPU的。会开始补充体系结构的知识。 (3)发现bus很重要,但大多数人不懂。(4)慢慢往硬件上靠。

闲聊Kernel engineer的境界(三)(1)轻微自闭症倾向开始。会在办公室贴时序图,die图,觉得漂亮。(2)会好奇做编译后端。发现做编译的人其实都不懂编译。(3)发现绝大多数人不会调程序。(4)很奇怪身边的傻子们如何混到工作,而且一个个还不知道自己特傻。(4)很痛苦ing

闲聊Kernel engineer的境界(四)(1)价值观开始改变,Open Source里的大腕才是心目中的Hero。其他的都看不起。自己的老板,老板的老板基本上都不在眼里 (2)天天琢磨如何在Open Source做贡献,而非在自己的公司做贡献。 (3)上班就是混。自己做的东西公司的人基本上不懂。

闲聊Kernel engineer的境界(五)1. 狂喜欢写汇编,而且特意从来不加注释。(2)经常看着2,3行知道有错误的priviledge的代码但不知道哪里有错,感叹网络工程师用GDB还不会抓bug,可见智商有多低 (3)最怕的不是crash,而是板子的LED不闪了,系统死了。

闲聊Kernel engineer的境界(六)1. 当一个晚上去调 5 块板子,每个板子都是不同的CPU的时候,离崩溃已经不远。2. 世界上最难的不是调厂商开发板子+自己的kernel;也不是自己的烂板子+linux;而是自己的烂板子+自己写的烂kernel。没有技术底线就与一个女人没有道德底线一样,不是可怕;而是噩梦。

闲聊Kernel engineer的境界(七) 1. Kernel工程师在某一天突然会害怕。对不确定性(undeterministic)的无法控制(板子不稳定,dram不稳定,kernel不问题) 2. 会开始往上做,看stack。发现网络的精华:代码就是一堆callback指针;实质就是几个Queue。才突然了解为什么大傻都能做网络工程师。

闲聊Kernel engineer的境界(八)1.会发现网络最难的不是转发,而是控制。2. 会特别羡慕能把网络设备config的特溜的Testing工程师。Kernel工程师通常喜欢手快和对设备熟悉的,不喜欢大傻。 3. 总是试图建立一个完整的网络Picture,但感觉不好,很喜欢去数据中心看看。

闲聊Kernel engineer的境界(九)1. 感觉网络不难;Kernel也不难;还是集成最难。2. 似乎有一天还是觉得软件比硬件头绪多,更难处理。3.不知道想干嘛了。

闲聊Kernel engineer的境界(十)1. 会开始喜欢做总结,例如,硬件工程师最喜欢的借口是:估计电源有问题;网络工程师最喜欢的借口是:Memory coruption的问题(内存践踏?);Kernel工程师最喜欢的借口是:不知道什么问题。

闲聊Kernel engineer的境界(十一)1. 认识到简单就是最美的,原因是你永远至少留下一个严重bug。能不做的就坚决不做。把系统做复杂的人只有两种:水平差;骗公司预算。 2. 要从单机系统的kernel/os扩展到分布和并行系统 3. 会试图理解分时系统的调度单位是CPU时间片;但实时系统的调度单位是Packet。

闲聊Kernel engineer的境界(十二)1. 跳出三界外,不在五行中。任何一个技术本身就是为了解决问题。就像一个男人喜欢一个女人。如果爱她,一定希望上床缠绵的。2. kernel engineer最大的忌讳不是不懂复杂和充满细节的细节,而是概念不清,脑袋不好使。3. 写胶片是kernel engineer最厌恶的,傻逼流程。

闲聊Kernel engineer的境界(十三)1. Divide and Conquer,分而治之kernel engineer或者任何engineer唯一需要的工作方法,除了了Brutal Search。但偏偏许多人不会。2. The separation of mechanism and policy,机制与策略的分离就是OS的所有形而上学。但就是老师讲不清;学生听不懂;工程师不会用。

闲聊Kernel engineer的境界(十四)1. 做网络的,99%是为了一个工作;做Kernel的,99%是为了一个爱好。2. Kernel engineer不来钱,但工作的保险系数高。 3. kernel的工作类似与你不爱一个女人,一定无法赤裸相对。

闲聊Kernel engineer的境界(结束语)1.形而下的最高境界就是“得意忘形”-得其意忘其形。2.能down做芯片;就能up做APP。是一个表达逻辑的过程而已。3. 人在江湖飘,焉能不带刀。要做tip of the sword,要的是忍受寂寞。钱是个WBD,多点最好;少点也无所谓。4. 牛逼的人从来是留下文字,而非铜臭。

(22个打分, 平均:4.64 / 5)

雁过留声

“闲聊Kernel engineer的境界(全)”有53个回复

  1. 无语 于 2012-03-21 3:20 上午

    1,抽象逻辑+具体实现(脑子要清晰)
    2,熟能生巧(具体的细节)

  2. 无语 于 2012-03-21 3:21 上午

    1,抽象逻辑+具体实现(脑子要清晰)
    2,熟能生巧(细节)

  3. 理客 于 2012-03-21 3:32 上午

    自行车的脚刹有什么问题?
    在高速的时候,猛刹脚刹会导致掉链子,结果刹车失效,造成重大交通事故。这是脚刹设计本身不能解决的,是使用者需要知道的:高速下,尽量提前慢刹;紧急刹车时要手刹脚刹一起用。
    engineer最大的本钱是通过经验+时间积累起来的宝藏,懂行的老板会知道这些engineer的价值,是掌握多少门编程语言都不能换来的,不懂行的老板当他们是过时的垃圾,而不知道系统engineering带来的成本就在于缺少此类中坚engineer。

    知道钱是WBD,但一定也要知道,无论做任何工作,WBD一定要牢记在心,少了不行,否则就是超级大傻。所以许多RD engineer远比雷锋傻

  4. openwrt 于 2012-03-21 6:11 上午

    在微博上已读了一遍, 很受启发, 这里再读, 仍然余味缭绕。

  5. tomqq 于 2012-03-21 7:18 上午

    能down做芯片;就能up做APP。是一个表达逻辑的过程而已
    ~~~~~~~~~~~~~~~~~
    哈哈哈,首席已经到了最高境界了,原来首席写文的目的是悄悄的自夸自已

  6. 一条虫 于 2012-03-21 7:55 上午

    能down做芯片;就能up做APP。是一个表达逻辑的过程而已
    ~~~~~~~~~~~~~~~~~
    哈哈哈,首席已经到了最高境界了,原来首席写文的目的是悄悄的自夸自已

    +1

  7. IP调试民工 于 2012-03-21 8:28 上午

    做网络的,99%是为了一个工作;做Kernel的,99%是为了一个爱好

  8. spike 于 2012-03-21 8:57 上午

    看了之后才知道跟首席的差距有多大,哈哈

  9. igp2bgp 于 2012-03-21 9:21 上午

    网络? 惨不忍睹

  10. foo 于 2012-03-21 9:44 上午

    牛逼的人从来是留下文字,而非铜臭

  11. yunhaid 于 2012-03-21 3:09 下午

    工作十余年,有点理解首席的一席话。
    写程序,简单就是美,思想最重要,先模仿再越越。
    解问题,分而治之,工具至上。
    看偶像,当目标超越。
    看网络,心中有picture,按图索引。

    技术就是苦活,无止境,当首席为目标。

  12. 理客 于 2012-03-21 5:07 下午

    做技术的如果忘了WBD就傻了,外面的世界很精彩,甚至比技术还精彩,也不一定非要在技术的树上吊死,群众的眼睛再雪亮,也多半是领袖手里的棋子,朝闻道夕死可矣

  13. beans 于 2012-03-21 7:49 下午

    能钻进kernel是第一步,能跳回app是第二步.首席现在境界是很高的.我心向往之。

  14. leviathan 于 2012-03-21 8:36 下午

    敲PHP的时候总是敲成PHY,看了首席的帖子, 我十分开心。

  15. prife 于 2012-03-21 10:42 下午

    我才是第一层境界啊。努力努力再努力

  16. 人云亦云 于 2012-03-22 12:54 上午

    在中国认真做技术的,运气不好的,就是大傻。大部分认真做技术的运气不会好到哪里去,因为这些看不起那些技术差的,更看不起那些基本不做技术而瞎指挥的。而现实是那些没技术的瞎指挥的往往决定了你的在一个地方的发展。技术当作爱好,工作的时候别和技术太较真。

  17. ddd 于 2012-03-22 2:01 上午

    我们公司做系统集成的。一四十多岁的工程师,干了这行有10几年了。主要熟悉思科华为的网络设备。主要的工作是将这些设备进行组网。经验特丰富,也有着桀骜不驯的性格。是我们公司众多网络集成工程师的偶像。这种大牛的技术,感情首席竟然没有提到过。

  18. 理客 于 2012-03-22 4:01 上午

    如果不是像首席们那么牛,还是略略收敛一点可以自爽的技术性感的桀骜不驯,多一点心机,职业道路更成熟

  19. dew 于 2012-03-22 4:23 上午

    16楼的,做系统集成的,不能算是kernel engineer,在kernel engineer眼中,他们是用户。

  20. 哈哈 于 2012-03-22 8:28 上午

    哥原来只在境界四啊! 好像有五的苗头了.

    我的神那! 崇拜中….首席偶像!

  21. 哈哈 于 2012-03-22 9:03 上午

    如果国内it是江湖的话,
    李老师是俺心目中的 王重阳.
    首席 是洪七公
    胡伟武 算东邪吧.
    呵呵!

  22. cracked 于 2012-03-23 7:16 上午

    首席不该从华为出来啊。就算是为了国家吧。吃点亏又算什么 可以熬啊。vxwork是该换成linux了。

  23. eistony 于 2012-03-23 7:50 上午

    kernel就是服务的提供者,一定要活好,不出错。客户什么时候要你干活,是客户的喜好

  24. Bay 于 2012-03-23 9:42 上午

    cracked:首席痛心的是即使换成Linux,也是风河的distribution

  25. awp47 于 2012-03-23 9:50 下午

    闲聊Kernel engineer的境界(十)中的拼写错误:”Memory coruption”==>”Memory corruption”

  26. 苦逼研究生 于 2012-03-24 6:28 下午

    从微电子器件结构
    cpu体系结构
    编译器设计
    操作系统
    app设计

    从下到上到能精通或是我们最大追求吧

  27. 孟宁 于 2012-03-25 5:23 上午

  28. 理客 于 2012-03-25 5:44 上午

    路可以越走越开,也可以远走越窄,看你怎么走,为什么一定要自我束缚在单纯追求技术的小圈子里

  29. virlife 于 2012-03-25 6:46 下午

    主席的文章是很好的导航塔,前进中……

  30. 匿名 于 2012-03-26 7:38 下午

    沉迷于kernel做技术,年轻时可能还挺有成就感的,但实际上路却越走越窄,搞搞应用,搞搞网络,还有机会成为产品经理、某某顾问之类的,甚至凭技术功底转销售。现在互联网风光无限,搞kernel的更是只能干瞪眼了,在中国选择职业方向还是应该尽量离客户近一点,再近一点。

  31. 大家都无语 于 2012-03-26 10:29 下午

    30楼的,搞技术纯粹是for fun!
    你这样的人,怎么会懂得其中的乐趣!

  32. cracked 于 2012-03-27 1:13 上午

    估计华为负责OS的,听了首席的意见。也怕万一这事情被搞砸了。自己的高薪饭碗不保。应该顶入董事会来讨论这件事情。然后请首席回去。

  33. WBD 于 2012-03-27 3:03 上午

    求科普,啥是WBD

  34. 一条虫 于 2012-03-27 7:39 上午

    谁说搞kernel干瞪眼。。网络里性能优化,应用模型,协议深入理解哪个离得开kernel。搞通kernel,做啥都不腰疼。搞熟工具链,内核,外围App,直接就是奔着总工位置去啊。。

  35. beans 于 2012-03-27 9:23 下午

    34说的对,看首席搞ios没有障碍就知道kernel engineer的功力了。

  36. 陈怀临 于 2012-03-27 9:49 下午

    我学任何一门Programming 语言只需要1天,然后就可以动手[写的好是另外一回事。。。]

  37. 过客 于 2012-03-27 10:51 下午

    “如果国内it是江湖的话,
    李老师是俺心目中的 王重阳.
    首席 是洪七公
    胡伟武 算东邪吧.
    呵呵!”

    这好像是神雕的最后一段哦!

  38. Red 于 2012-03-28 2:35 上午

    首席学语言这点很赞,不像我等菜鸟,学个语言都要几月/年。
    其实“1天学会语言”也可以算一种方法,用到某些特性时再去查,就像读文章遇到不认识的字去查字典一样,而不是从头开始抱字典去啃,啃的差不多再去动手,这种方法能坚持成功的人太少。
    当然了,首席估计连字典都不需要了。

  39. yunhaid 于 2012-03-28 7:23 上午

    首席的风格是从编程实践中学习编程语言,非传统学习方法,典型实践主义者,这个需要功力的,不适合学院派,初学者。

  40. beans 于 2012-03-28 10:23 下午

    首席~ 道长那个道指令,你搞懂了吗…. 学obj-c这种不算本事。

  41. roy_hu 于 2012-03-30 2:55 上午

    “我学任何一门Programming 语言只需要1天”,别夸海口了,去看看Haskell,一年能学会就不错了

  42. 陈怀临 于 2012-03-30 8:36 上午

    Haskell:-)。没听说过。我来看看:-)

  43. cracked 于 2012-03-30 8:47 下午

    是的。首席学习道语言,1天估计不行。

  44. zhengjia1984 于 2012-04-05 6:38 下午

    能down做芯片;就能up做APP。是一个表达逻辑的过程而已
    ~~~~~~~~~~~~~~~~~
    哈哈哈,首席已经到了最高境界了,原来首席写文的目的是悄悄的自夸自已
    +2

  45. Puppy 于 2012-04-05 9:50 下午

    哈哈哈哈,说出了老子的心里话

  46. haoling 于 2012-04-06 12:51 上午

    看完了,不愧首席;千变万化,

  47. bend,or 于 2012-05-04 7:07 上午

    这就是微薄,来得快沉得也快,首席上微薄感叹完还转到弯曲来
    上微薄还真不能翻旧账,2页之后已经过期变质,可能除了薄主自己还真是没人会看,留下一堆无以名状的数据供出售挖掘

    一时手痒还翻出首席的文章,估计首席自己都忘记了:
    人生都有初推(twitter)时
    美宇航员首次太空实时更新微博客(Twitter)

  48. z_z 于 2012-05-08 11:03 下午

    真是躺着也中枪,太有同感了,
    搞kernel才有搞基的乐趣,一天不搞全身难受

  49. zshhhh 于 2012-07-07 11:29 下午

    拜读了,领教了。

  50. abel 于 2012-07-20 9:14 上午

    理客给写一个黑话字典吧,GDB,WBD,Brutal Search,priviledge,不知道是什么.
    最后一个priviledge(闲聊五)可能是拼写错误privilege.

    另:haskell挺牛x的一个语言.perl6搞了好几年没能自举/激活,唐宗汉用haskell(基本)搞定了.
    传送门:感谢(chinaunix上的)flw(注:如果你在别的什么地方见到搞编程的flw,很可能是同一个人).
    http://bbs.chinaunix.net/thread-507335-1-1.html

  51. yunhaid 于 2012-07-20 5:58 下午

    kernel是有搞头,不过这年头,大部分搞kernel的同胞,都是修修bug,小写写小模块。
    如果能搞应用系统,还是尽量往上面走,下面的水是很深,但是很窄。

  52. 几楼楼长 于 2012-07-20 9:17 下午

    一天学会,是说写个hello world吗?

  53. kit 于 2012-09-20 7:21 上午

    @哈哈
    李老师是谁?