02 技术领导力
技术重要吗
公司发展阶段
- 野蛮开采:资源过多,只需要开采。
- 资源整合:资源已经被不同的人占有,需要对资源整合优化,提高利用率。通过管理手段实现。
- 精耕细作:第上一阶段的精细化运作,通过科学的手段达到。
- 发明创造:利用已有不足的资源来创造更好的资源,并替代已有的马上要枯竭的资源。需要采用高科技来达到。
技术领导力
第一次工业革命
人类生产逐渐转向新的制造过程,出现了以机器取代人力、兽力的趋势,以大规模的工厂生产取代个体工厂手工生产的一场生产与科技革命。
第二次工业革命
以电力的大规模应用为代表,以电灯、电报以及无线电通信的发明为标志。
第三次工业革命
计算机和电子数据的普及和推广而在各行各业发生的从机械和模拟电路再到数字电路的变革。使传统工业更加机械化、自动化。
通过自动化解放生产力。
- 尊重技术,追求核心基础技术。
- 追逐自动化的高效率的工具和技术,同时避免无效率的组织架构和管理。
- 解放生产力,追逐人效的提高。
- 开发抽象和高质量的可以重用的技术组件。
- 坚持高于社会主流的技术标准和要求。
如何拥有技术领导力
提供解决问题的思路和方案:
- 能够发现问题。
- 能够提供解决问题的思路和方案,并能比较这些方案的优缺点。
- 能够做出正确的技术决定。
- 能够用更优雅,更简单,更容易的方式来解决问题。
- 能够提高代码或软件的扩展性、重用性和可维护性。能够用正确的方式管理团队。
- 创新能力。
吃透基础技术
编程部分
C 语言
《C 程序设计语言(第 2 版)》
能掌握程序的运行情况,并能进行应用程序和操作系统编程。
编程范式
面向对象编程(C++、Java)、泛型编程(C++、Go、C#)、函数式编程(JavaScript、 Python、Lisp、Haskell、Erlang)等。
有助于培养抽象思维,提高编程效率,提高程序的结构合理性、可读性和可维护性,降低代码的冗余度,提高代码的运行效率。还可以了解各种程序设计语言的功能特性。
算法和数据结构
有效地抽象问题,提高程序的合理性和执行效率。
系统部分
计算机系统原理
《深入理解计算机系统》
了解计算机的原理,反推出高维度的分布式架构和高并发高可用的架构设计。
操作系统原理和基础
《UNIX 环境高级编程》``《UNIX 网络编程》``《Windows 核心编程》
是所有程序运行的物理世界,可以从本质理解各种语言或技术的底层原理,更容易地掌握和使用高阶技术。
网络基础
《TCP/IP 详解》
为高维分布式架构中的一些技术问题提供很多的技术方案。
数据库原理
了解数据库访问性能调优的要点,以及保证并发情况下数据操作原子性的方法。