02.13 Day 60 - 如何才能拥有技术领导力?

大家好,我是 Snow Hide,作为《左耳听风》这个专栏的学员之一,这是我打卡的第 60 天,也是我第 84 次进行这种操作。

今天我温习了该专栏里一篇叫《如何才能拥有技术领导力?》的文章。

关键词总结:吃透基础技术(编程部分:C 语言、编程范式、算法和数据结构。系统部分:计算机系统原理、操作系统原理和基础、网络基础、数据库原理、分布式技术架构)、提升学习能力(学习的信息源、与高手交流、举一反三的思考、不怕困难的态度、开放的心态)、坚持做正确的事(提高效率的事、自动化的事、掌握前沿技术的事、知识密集型的事、技术驱动的事)、高标准要求自己(Google 的自我评分卡、敏锐的技术嗅觉、强调实践,学以致用、Lead by Example)。

所学总结:

吃透基础技术

  • 对于技术人员来说,基础知识越扎实,走得就会更远;
  • 学好基础技术,能让你一通百通,更快地使用各种新技术,从而可以更轻松地与时代同行;
  • 学习基础技术能让你更好地掌握更高维度的技术。

编程部分

C 语言

  • 它的内存管理更为直接,可以让我们直接和内存地址打交道。它还能让你更清楚地知道程序是怎么精细控制底层资源的,比如内存管理、文件操作、网络通信;
  • 如果你需要写一些如 lock free 之类高并发的功能,那么了解汇编语言,就能有助于你更好地理解和思考。

编程范式

  • 面向对象编程:C++、Java;
  • 泛型编程:C++、Go、C#;
  • 函数式编程:JavaScript、Python、Lisp、Haskell、Erlang;
  • 学好编程范式,有助于培养你的抽象思维,同时也可以提高编程效率,提高程序的结构合理性、可读性和可维护性,降低代码的冗余度,进而提高代码的运行效率。

算法和数据结构

  • 学习算法不仅是为了写出运转更为高效的代码,更是为了能够写出可以覆盖更多场景的正确代码。

系统部分

计算机系统原理

  • CPU 的体系结构、内存的原理与性能特点、磁盘的原理、固态硬盘、GPU 的原理。

操作系统原理和基础

进程、进程管理、线程、线程调度、多核的缓存一致性、信号量、物理内存管理、虚拟内存管理、内存分配、文件系统、磁盘管理。

网络基础

  • 网络层系结构、底层的 ARP 协议、中间的 TCP/UDP 协议、高层的 HTTP 协议、TCP 的滑动窗口限流。

数据库原理

  • SQL(B+ 树、强一致性)、NoSQL(较弱的一致性、较高的存取效率、哈希表或其他技术)。

分布式技术架构

  • 负载均衡、DNS 解析、多子域名、无状态应用层、缓存层、数据库分片、容错和恢复机制、Paxos、Map/Reduce 操作、分布式 SQL 数据库一致性。
     

提升学习能力

学习的信息源

  • Google、Stack Overflow、Quora、图书、API 文档、论文、博客。

与高手交流

  • 不仅有助于了解热门的技术方向及关键的技术点,更可以通过观察和学习高手的技术思维及解决问题的方式,提高自己的技术前瞻性和技术决策力。

举一反三的思考

  • 了解操作系统的缓存和网页缓存以后,你要思考其相同点和不同点。

不怕困难的态度

  • 绝大多数人是害怕困难的,所以,如果你能够不怕困难,并可以找到解决困难的方法和路径,时间一长,你就能拥有别人所不能拥有的能力。

开放的心态

  • 能在不同的方法和方案间做比较,比较它们的优缺点,那么你会知道在什么样的场景下用什么样的方案,你就会比一般人拥有更全面和更完整的思路。
     

坚持做正确的事

提高效率的事

  • 你要学习和掌握良好的时间管理方式,管理好自己的时间,能显著提高自己的效率。

自动化的事

  • 程序员要充分利用自己的职业特质,当看见有可以自动化的步骤时,编写程序来自动化操作,可以显著提高效率。

掌握前沿技术的事

  • 由于学习一门技术需要花费不少时间,你应该选择自己最感兴趣的,有的放矢地去学习。

知识密集型的事

  • 知识密集型的事仍需要人来完成,所以人的价值此时就显现出来了。

技术驱动的事

  • 不仅是指用程序驱动的事,还包括一切技术改变生活的事。
     

高标准要求自己

Google 的自我评分卡

  • 在面试 Google 时,要求应聘人对自己的技能做出评估的工具,它可以看出应聘人在各个领域的技术水平。

敏锐的技术嗅觉

  • 你需要充分利用信息源,GET 到新的技术动态,并通过参与技术社区的讨论,丰富自己了解技术的角度。

强调实践,学以致用

  • 一定要实际用一用,可以是工作中的项目,也可以是自己的项目,不仅有利于吸收理解,更有利于深入到技术的本质。

Lead by Example

  • 不写代码,你就对技术细节不敏感,就无法做出可以实践的技术决策和方案。
     

末了

文中还提到了技术领导者需要有良好的沟通能力、组织能力、驱动力、团队协作能力等等。

发布了151 篇原创文章 · 获赞 10 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/stevenchen1989/article/details/104290075
60