吃透基础技术
- 学好基础知识,能一通百通
- 高纬度的技术,是基础知识的拓展,学好基础技术,能更好掌握高纬度的技术
- 具体分为编程和系统两部分
编程
- 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