技术“领导力”
技术重要吗?
尊重技术的公司和不尊重技术的公司在初期可能还不能显现,而长期来看,差距就很明显了。前期只需要“野蛮开采”,而到了后期只能“精耕细作”。
看到一个观点:底层竞争激烈往上走人烟稀少。
1、核心技术技术
2、自动化
3、可以重用的技术组件。
“技术领导力”特质:
- 能够发现问题。能够发现现有方案的问题。
- 能够提供解决问题的思路和方案,并能比较这些方案的优缺点。
- 能够做出正确的技术决定。用什么样的技术、什么解决方案、怎样实现来完成一个项目。
- 能够用更优雅,更简单,更容易的方式来解决问题。
- 能够提高代码或软件的扩展性、重用性和可维护性。
- 能够用正确的方式管理团队。所谓正确的方式,一方面是,让正确的人做正确的事,并发挥每个人的潜力;另一方面是,可以提高团队的生产力和人效,找到最有价值的需求,用最少的成本实现之。并且,可以不断地提高自身和团队的标准。
- 创新能力。能够使用新的方法新的方式解决问题,追逐新的工具和技术。
在任何一个团队中,大多数人都是在提问题,而只有少数人在回答这些人的问题,或是在提供解决问题的思路和方案。
📌一句话,总是在提供解决问题的思路和方案的人才是有技术领导力的人。
怎么让自己拥有技术领导力呢?
扎实的基础技术;
1、基础知识越扎实,走得就会越远。
2、一通百通,更快地学习和使用各种新技术
3、哪些才是基础技术呢?
- 编程
- 编程范式
- 数据结构与算法
- 系统
- 计算机系统原理
- 操作系统原理和基础
- 网络基础
- 数据库原理
- 编程
非同一般的学习能力;
快速学习的能力,又能在关键技术上深入的能力。
提升学习能力的一些做法:
- 学习的信息源。
- 如果今天使用中文搜索就可以满足你的知识需求,那么你就远远落后于这个时代了
- 如果用英文搜索才能找到你想要的知识,那么你才能算跟得上这个时代
- 如果说有的问题你连用英文搜索都找不到,只能到社区里去找作者或者其他人交流,那么可以说你已真正和时代同频了。
- 与高手交流
- 通过技术社区以及参加技术会议
- 参加开源项目来和高手切磋
- 举一反三的思考
- 不怕困难的态度
- 开放的心态
- 实现一个目的通常有多种办法。带有开放的心态,不拘泥于一个平台、一种语言,往往能带来更多思考,也能得到更好的结果。
- 能在不同的方法和方案间做比较,比较它们的优缺点,那么你会知道在什么样的场景下用什么样的方案,你就会比一般人能够有更全面和更完整的思路。
- 学习的信息源。
坚持做正确的事;
做正确的事,比用正确的方式做事更重要。
- 时间管理
- 自动化
- 掌握前沿技术的事
- 知识密集型的事
- 技术驱动的事
不断提高对自己的要求标准;(永远不要待在舒适区;重复工作尽量自动化;工匠精神;
- Google 的自我评分卡。
- 敏锐的技术嗅觉
- 强调实践,学以致用
- 永远在编程。不写代码,你就对技术细节不敏感,你无法做出可以实践的技术决策和方案。
Google评分卡
这个评分卡是面试Google前需要候选人对自己的各种技术进行自评,也算是一种技术人员的等级的度量尺,其把技术的能分成11个等级,我用颜色把其它成四大层级,希望这个评份卡能够给你一个能力提升的参考标准。https://coolshell.me/articles/google-sre-101.html
0:you are unfamiliar with the subject area.不熟悉的领域。也就是说对相关的领域几乎一无所知。
1:you can read/understand the most fundamental aspects of the subject area.可以读懂或理解相关领域的大多数基础知识。
2:ability to implement small changes,understand basic principles and able to figure out additional details with minimal help.能够实现一些小的改动,理解基本原理,能够在简单的帮助下找出更多的细节。
3:basic proficiency in a subject area without relying on help.基本精通相关技术领域,完全不需要别人的帮助。
4:you are comfortable with the subject area and all routine work on it.对相关技术领域非常熟悉和舒适,可以应对和完成所有的日常工作。
For software areas - ability to develop medium programs using all basic language features w/o book, awareness of more esoteric features (with 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.对参考资料的依赖程度更低。在某一领域或某一特定技术领域有较深的技能。
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.能够从零开发大型程序和系统。掌握底层细节和内在原理。能够设计和部署大多数大型分布式系统。
7:you understand and make use of most lesser known language features, technologies, and associated internals. Ability to automate significant amounts of systems administration.理解并利用高级语言特性、技术和相关的内在原理,可以从根本上实现大量系统管理和运维工作的自动化。
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.对于一些边角和晦涩的技术、协议和系统工作原理有深入的理解和经验。能够设计、部署并负责非常关键、规模很大的基础设施,并能够构建相应的自动化设施。
9:could have written the book about the subject area but didn't; works with standards committees on defining new standards and methodologies.能够在该技术领域出一本经典的书。并和标准委员会的人一起制定相关的技术标准和方法。
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.在该领域写过一本书,被业内尊为专家,并是该技术的发明人。