吃透基礎技術
- 學好基礎知識,能一通百通
- 高緯度的技術,是基礎知識的拓展,學好基礎技術,能更好掌握高緯度的技術
- 具體分爲編程和系統兩部分
編程
- C語言:更接近底層,更能理解程序怎麼精細地控制底層資源,推薦《C程序設計語言》(K&R)
- 編程範式
- 算法和數據結構
系統
- 計算機系統原理:CPU體系結構、緩存結構、分支預測等,推薦《深刻了解計算機系統》
- 操做系統原理和基礎:理解程序怎麼被管理的,推薦《UNIX 環境高級編程》、《UNIX網絡編程》
- 網絡基礎,推薦《TCP/IP詳解》
- 數據庫原理
- 分佈式架構
提升學習能力
- 提升英文搜索能力
- 與高手交流
- 觸類旁通的思考
- 不怕困難的態度
- 開放的心態
堅持作正確的事
- 提升效率,學習時間管理
- 儘可能自動化
- 掌握前沿技術的事
- 技術密集型和知識驅動型的事
高標準的要求本身
- 谷歌的自我評分卡,提升對本身的要求
- 敏銳的技術嗅覺
- 多編程,學以至用
谷歌評分卡
0 - you are unfamiliar with the subject area.(0 -你不熟悉主題領域。)
1 - you can read / understand the most fundamental aspects of the subject area.(1 -你能夠閱讀/瞭解主題領域最基本的方面。)
2 - ability to implement small changes, understand basic principles and able to figure out additional details with minimal help.(2 -可以實現小的變化,理解基本原理,並能在最小的幫助下找出更多的細節。)
3 - basic proficiency in a subject area without relying on help.(3 -在不依賴幫助的狀況下,熟練掌握某一科目。)
4 - you are comfortable with the subject area and all routine work on it: (4 -你對主題領域和全部平常工做都很熟悉:)
For software areas - ability to develop medium programs using all basic language features w/o book, awareness of more esoteric features (with book).(對於軟件領域來講,可以使用全部基本的語言來開發中等的程序,使用w/o book,瞭解更深奧的特性(帶書)。)
For systems areas - understanding of many fundamentals of networking and systems administration, ability to run a small network of systems including recovery, debugging and nontrivial troubleshooting that relies on the knowledge of internals.(對於系統領域——瞭解網絡和系統管理的許多基礎知識,可以運行一個小型的系統網絡,包括恢復、調試和依賴於內部知識的重要故障排除。)
5 - an even lower degree of reliance on reference materials. Deeper skills in a field or specific technology in the subject area.(5 -對參考資料的依賴程度更低。在某一領域或某一特定技術領域有較深的技能。)
6 - ability to develop large programs and systems from scratch. Understanding of low level details and internals. Ability to design / deploy most large, distributed systems from scratch.(6 -可以從頭開始開發大型程序和系統。瞭解低層次的細節和內部信息。可以設計/部署大多數大型的分佈式系統。)
7 - you understand and make use of most lesser known language features, technologies, and associated internals. Ability to automate significant amounts of systems administration.(7 -你理解並利用最不知名的語言特徵、技術和相關的內部信息。可以自動化大量的系統管理。)
8 - deep understanding of corner cases, esoteric features, protocols and systems including "theory of operation". Demonstrated ability to design, deploy and own very critical or large infrastructure, build accompanying automation.(8 -深入理解角落案例,深奧的特色,協議和系統,包括「操做理論」。演示了設計、部署和擁有很是關鍵或大型基礎設施的能力,並創建了相應的自動化。)
9 - could have written the book about the subject area but didn't; works with standards committees on defining new standards and methodologies.(9 -本能夠寫關於主題領域的書,但沒有;與標準委員會一塊兒制定新的標準和方法。)
10 - wrote the book on the subject area (there actually has to be a book). Recognized industry expert in the field, might have invented it.(10 -寫在主題領域的書(實際上必須有一本書)。業內公認的業內專家,可能已經發明瞭它。)
Subject Areas:
TCP/IP Networking (OSI stack, DNS etc)
Unix/Linux internals
Unix/Linux Systems administration
Algorithms and Data Structures
C
C++
Python
Java
Perl
Go
Shell Scripting (sh, Bash, ksh, csh)
SQL and/or Database Admin
Scripting language of your choice (not already mentioned) _
People Management
Project Management