怎样才能拥有技术领导力.
第一, 你要吃透基础技术. 技术技术是各种上层技术共同的基础. 吃透基础技术是为了更好地理解程序的运行原理, 并基于这些基础技术进化出更优化的产品.
吃透基础技术, 有很多好处:
- 万丈高楼平地起. 一栋楼能盖多高, 重要的是它们的基地. 同样对于技术人员来说, 基础知识越扎实, 走得就会越远.
- 计算机技术太多了, 但仔细分析你会发现, 只是表现形式很多, 而基础技术并不多. 学好基础技术, 能让你一通百通, 更快地使用各种新技术, 从而可以与时代同行.
- 很多分布式系统架构, 以及高可用、高性能、高并发的解决方案基本都可以在基础技术上找到它们的身影. 学习技术技术能够让你更好地掌握更高维度的技术.
哪些才是技术技术能, 具体来说, 可以分为两个部分: 编程和系统.
编程部分
- C语言
- 编程范式: 各种编程语言都有它们各自的范式, 用于解决各种问题.比如面向对象编程、范型编程、函数式编程等. 序号编程范式, 有助于培养你的抽象思维, 同时也可以提高编程效率, 提高程序的结构合理性、可读性和可维护性, 降低代码的冗余性, 从而提高代码的运行效率.
- 算法和数据结构. 学习算法不仅是为了写出运转更为高效的代码, 而且更是为了能够写出可以覆盖更多场景的正确代码.
系统部分
- 计算机系统原理
- 操作系统原理和基础
- 网络基础
- 数据库原理
- 分布式技术架构
注意, 上面这些基础知识通常不是可以速成的. 这些基础技术是需要你用一生的时间来学习的, 因为基础上的技术和知识, 会随着阅历和经验的增加而有不同的感悟.
第二, 提高学习能力. 所谓学习能力, 就是能够很快地学习新技术, 又能在关键技术上深入的能力.
下面是让你提升学习能力的一些做法.
- 学习的信息源.
- 与高手交流.
- 举一反三的思考.
- 不怕困难的态度.
- 开放的心态. 实现一个目的通常有多种方法. 带有开放的心态, 不拘泥于一个平台、一种语言. 往往能带来更多思考, 也能得到更好的结果. 而且, 能在不同的方法和方案间做比较, 比较它们的优缺点, 那么你会知道在什么样的场景下用什么样的方案, 你就会比一般人能够有更全面和更完整的思路.
第三, 坚持做正确的事. 做正确的事, 比用正确的方式做事更重要, 因为这样才始终会向目的地靠拢.
- 提高效率的事. 你要学习和掌握良好的时间管理方式, 管理好自己的时间, 能显著提高自己的效率.
- 自动化的事.程序员要充分利用自己的职业特质, 当看见有自动化的步骤时, 编写程序来自动化操作, 可以显著提高效率.
- 掌握前沿技术的事. 掌握前沿的技术, 有利于拓展自己的眼界, 也有利于找到更好的工作.
- 知识密集型的事.
- 技术驱动的事.
第四, 高标准要求自己. 只有不断地提高标准, 你才可能越走越高, 所以, 要以高标准要求自己, 不断地反思、总结和审视自己, 才能够提升自己.
- Google的自我评价.
- 敏锐的技术嗅觉.
- 强调实践, 学以致用.
- Lead by Example.
此文章为3月Day12学习笔记, 内容来源于极客时间《左耳听风》, 强烈推荐该课