闲聊Kernel engineer的境界(全)
作者 陈怀临 | 2012-03-20 21:49 | 类型 专题分析 | 53条用户评论 »
[陈怀临注:这几天在新浪微博乱喷。整理一下,弟兄们提提意见。。。许多观点不一定对。就是闲聊呀。。。] 闲聊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. 牛逼的人从来是留下文字,而非铜臭。 | |
雁过留声
“闲聊Kernel engineer的境界(全)”有53个回复
1,抽象逻辑+具体实现(脑子要清晰)
2,熟能生巧(具体的细节)
1,抽象逻辑+具体实现(脑子要清晰)
2,熟能生巧(细节)
自行车的脚刹有什么问题?
在高速的时候,猛刹脚刹会导致掉链子,结果刹车失效,造成重大交通事故。这是脚刹设计本身不能解决的,是使用者需要知道的:高速下,尽量提前慢刹;紧急刹车时要手刹脚刹一起用。
engineer最大的本钱是通过经验+时间积累起来的宝藏,懂行的老板会知道这些engineer的价值,是掌握多少门编程语言都不能换来的,不懂行的老板当他们是过时的垃圾,而不知道系统engineering带来的成本就在于缺少此类中坚engineer。
知道钱是WBD,但一定也要知道,无论做任何工作,WBD一定要牢记在心,少了不行,否则就是超级大傻。所以许多RD engineer远比雷锋傻
在微博上已读了一遍, 很受启发, 这里再读, 仍然余味缭绕。
能down做芯片;就能up做APP。是一个表达逻辑的过程而已
~~~~~~~~~~~~~~~~~
哈哈哈,首席已经到了最高境界了,原来首席写文的目的是悄悄的自夸自已
能down做芯片;就能up做APP。是一个表达逻辑的过程而已
~~~~~~~~~~~~~~~~~
哈哈哈,首席已经到了最高境界了,原来首席写文的目的是悄悄的自夸自已
+1
做网络的,99%是为了一个工作;做Kernel的,99%是为了一个爱好
看了之后才知道跟首席的差距有多大,哈哈
网络? 惨不忍睹
牛逼的人从来是留下文字,而非铜臭
工作十余年,有点理解首席的一席话。
写程序,简单就是美,思想最重要,先模仿再越越。
解问题,分而治之,工具至上。
看偶像,当目标超越。
看网络,心中有picture,按图索引。
技术就是苦活,无止境,当首席为目标。
做技术的如果忘了WBD就傻了,外面的世界很精彩,甚至比技术还精彩,也不一定非要在技术的树上吊死,群众的眼睛再雪亮,也多半是领袖手里的棋子,朝闻道夕死可矣
能钻进kernel是第一步,能跳回app是第二步.首席现在境界是很高的.我心向往之。
敲PHP的时候总是敲成PHY,看了首席的帖子, 我十分开心。
我才是第一层境界啊。努力努力再努力
在中国认真做技术的,运气不好的,就是大傻。大部分认真做技术的运气不会好到哪里去,因为这些看不起那些技术差的,更看不起那些基本不做技术而瞎指挥的。而现实是那些没技术的瞎指挥的往往决定了你的在一个地方的发展。技术当作爱好,工作的时候别和技术太较真。
我们公司做系统集成的。一四十多岁的工程师,干了这行有10几年了。主要熟悉思科华为的网络设备。主要的工作是将这些设备进行组网。经验特丰富,也有着桀骜不驯的性格。是我们公司众多网络集成工程师的偶像。这种大牛的技术,感情首席竟然没有提到过。
如果不是像首席们那么牛,还是略略收敛一点可以自爽的技术性感的桀骜不驯,多一点心机,职业道路更成熟
16楼的,做系统集成的,不能算是kernel engineer,在kernel engineer眼中,他们是用户。
哥原来只在境界四啊! 好像有五的苗头了.
我的神那! 崇拜中….首席偶像!
如果国内it是江湖的话,
李老师是俺心目中的 王重阳.
首席 是洪七公
胡伟武 算东邪吧.
呵呵!
首席不该从华为出来啊。就算是为了国家吧。吃点亏又算什么 可以熬啊。vxwork是该换成linux了。
kernel就是服务的提供者,一定要活好,不出错。客户什么时候要你干活,是客户的喜好
cracked:首席痛心的是即使换成Linux,也是风河的distribution
闲聊Kernel engineer的境界(十)中的拼写错误:”Memory coruption”==>”Memory corruption”
从微电子器件结构
cpu体系结构
编译器设计
操作系统
app设计
从下到上到能精通或是我们最大追求吧
牛
路可以越走越开,也可以远走越窄,看你怎么走,为什么一定要自我束缚在单纯追求技术的小圈子里
主席的文章是很好的导航塔,前进中……
沉迷于kernel做技术,年轻时可能还挺有成就感的,但实际上路却越走越窄,搞搞应用,搞搞网络,还有机会成为产品经理、某某顾问之类的,甚至凭技术功底转销售。现在互联网风光无限,搞kernel的更是只能干瞪眼了,在中国选择职业方向还是应该尽量离客户近一点,再近一点。
30楼的,搞技术纯粹是for fun!
你这样的人,怎么会懂得其中的乐趣!
估计华为负责OS的,听了首席的意见。也怕万一这事情被搞砸了。自己的高薪饭碗不保。应该顶入董事会来讨论这件事情。然后请首席回去。
求科普,啥是WBD
谁说搞kernel干瞪眼。。网络里性能优化,应用模型,协议深入理解哪个离得开kernel。搞通kernel,做啥都不腰疼。搞熟工具链,内核,外围App,直接就是奔着总工位置去啊。。
34说的对,看首席搞ios没有障碍就知道kernel engineer的功力了。
我学任何一门Programming 语言只需要1天,然后就可以动手[写的好是另外一回事。。。]
“如果国内it是江湖的话,
李老师是俺心目中的 王重阳.
首席 是洪七公
胡伟武 算东邪吧.
呵呵!”
这好像是神雕的最后一段哦!
首席学语言这点很赞,不像我等菜鸟,学个语言都要几月/年。
其实“1天学会语言”也可以算一种方法,用到某些特性时再去查,就像读文章遇到不认识的字去查字典一样,而不是从头开始抱字典去啃,啃的差不多再去动手,这种方法能坚持成功的人太少。
当然了,首席估计连字典都不需要了。
首席的风格是从编程实践中学习编程语言,非传统学习方法,典型实践主义者,这个需要功力的,不适合学院派,初学者。
首席~ 道长那个道指令,你搞懂了吗…. 学obj-c这种不算本事。
“我学任何一门Programming 语言只需要1天”,别夸海口了,去看看Haskell,一年能学会就不错了
Haskell:-)。没听说过。我来看看:-)
是的。首席学习道语言,1天估计不行。
能down做芯片;就能up做APP。是一个表达逻辑的过程而已
~~~~~~~~~~~~~~~~~
哈哈哈,首席已经到了最高境界了,原来首席写文的目的是悄悄的自夸自已
+2
哈哈哈哈,说出了老子的心里话
看完了,不愧首席;千变万化,
这就是微薄,来得快沉得也快,首席上微薄感叹完还转到弯曲来
上微薄还真不能翻旧账,2页之后已经过期变质,可能除了薄主自己还真是没人会看,留下一堆无以名状的数据供出售挖掘
一时手痒还翻出首席的文章,估计首席自己都忘记了:
人生都有初推(twitter)时
美宇航员首次太空实时更新微博客(Twitter)
真是躺着也中枪,太有同感了,
搞kernel才有搞基的乐趣,一天不搞全身难受
拜读了,领教了。
理客给写一个黑话字典吧,GDB,WBD,Brutal Search,priviledge,不知道是什么.
最后一个priviledge(闲聊五)可能是拼写错误privilege.
另:haskell挺牛x的一个语言.perl6搞了好几年没能自举/激活,唐宗汉用haskell(基本)搞定了.
传送门:感谢(chinaunix上的)flw(注:如果你在别的什么地方见到搞编程的flw,很可能是同一个人).
http://bbs.chinaunix.net/thread-507335-1-1.html
kernel是有搞头,不过这年头,大部分搞kernel的同胞,都是修修bug,小写写小模块。
如果能搞应用系统,还是尽量往上面走,下面的水是很深,但是很窄。
一天学会,是说写个hello world吗?
@哈哈
李老师是谁?