{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
回答