{eval=Array;=+count(Array);}
能,但题主赚不到钱,因为题主大概率是在有意无意的吹牛。真正做到熟读linux内核源码,并达到有自己独特见解的人,是用不着问这种问题的。
题主的问题关键在于:
这世界上见解太多了,其中垃圾见解也很多,你的见解是否有价值?凭什么别人要重视你的见解,而不重视其他人的见解?
一个简单而可行的方法是:用实际产出来证明。如果你的产出质量高,别人自然会重视你的见解。产出的数量容易证明,只要github上开个号,往上推送代码就好了。
关键是:如何证明你的产出质量是过关的?方法也很简单:向Linux内核做贡献(这对于熟读Linux源码很久的人也是不难的)
既然对Linux有自己的见解,那就根据自己的见解来修改Linux好了。只要你的代码确实比Linux原有的好,把你的changeset发给Linux相关模块维护者,告诉维护者你的代码好在哪里,最终让你的代码在Linux内核里安家。
比如,对文件系统有自己的见解,那就设计一个更好的文件系统,并实现它;或者改进一个现有的文件系统,把你测试好的代码拿出来,在内核邮件列表中提出来,说说以前的文件系统差在哪里,你的改进又好在哪里,邀请其它开发者合并你的补丁进行测试。只要你的见解确实好,你的代码也过得了关,顺理成章的,你的代码就会合并到Linux主线内核里。
如果Linux内核中有不少你写的代码,放心,人在家中坐,猎头随时找。
最后用大神的话小结一句:“Talk is cheap, show me your code”
这是题主的基本功。但是如果想要在公司混的好,除了这些基本功以外,你还得知道当今工业界的热点问题,比如虚拟化领域,操作系统领域,网络协议领域他们的热点问题,以及这些问题的解决方案的优缺点,还有在你的实际生产环境里不同方案的优势与不足。在此基础上,你要是再有自己更好的关于解决方案的想法,那么你就比较吃香了。
举个例子,比如你是搞网络的,那你知不知道传统的基于内核的包Io和网络协议栈的问题在哪里?包io基于中断和基于轮询的方法的各自问题是什么?内核的网络协议栈有哪些性能开销?上下文切换系统调用软中断?还是包拷贝?那么现在工业界解决这个问题的方案有哪些?比如,用户态网络协议战。,但用户态协议栈又有很多,不同协议栈解决了什么不同的问题?比如c100k问题?延迟?吞吐量?可扩展性怎么办?锁开销怎么办?而又有人说用户态协议栈安全性很差,那你知道有哪些高性能同时又安全的包处理框架吗?比如IX这个东西你听说过吗?他为什么安全?他的设计思想是什么?如果你是做网络协议栈的,那么这些东西都是你需要知道的,而不仅仅是听别人布置任务再做代码。这样你才可能成为一个小组的leader,决定小组的决策方向。
另外如果你英语口语好,能够参与国际上的一些社区项目,那么恭喜你,你走的路更宽了,还宽了好几倍。凡事都重在交流。特别是和国际社区的交流。因此要记得,即使搞技术,英语也不能丢。不想成为boss的程序员,不是好程序员。
熟读LINUX源码哪几块?内核?设备驱动?文件系统?服务层?桌面系统?桌面应用?移植过Linux没?参与系统开发没?都中的话,在家呆着自然有公司找上门,给做应用的人开课没意义,给资深屌丝开课没市场,你觉得呢?
0
回答0
回答0
回答0
回答0
回答0
回答0
回答0
回答0
回答0
回答