笔记|让自己更有价值、提升技术领导力

极客时间 [字体···] [宽度···]


如何让自己更有价值

  1. 千里之行,积于跬步。任何一个大的成功,都是通过一个一个小成功达到的。
  2. 关注有价值的东西。
    1. 什么是有价值的东西?供大于求无价值,供不应求就有价值。
    2. 市场的需求。关注各个公司都在做什么,他们面临的难题是什么。真正缺少的是有能力解决技术难题的人,能提高团队人效的人。
    3. 技术趋势。看清技术趋势需要了解技术历史、发展轨迹,将老技术的本质吃透。
  3. 找到能体现价值的地方。
  4. 动手能力。开发人员更像一个手艺人,动手能力很重要,细节更多体现在代码里,只有了解了细节,才能给出更好的方案。
  5. 关注技术付费点。
    1. 一是能帮别人“挣钱”的地方;
    2. 另外是能帮别人“省钱”的地方。
  6. 提升自己的能力和经历。
  7. 找到有价值的信息源。如果你的信息来源于朋友圈、微博、知乎,那么这些渠道有价值的信息不多,有营养的可能只有 1%
  8. 输出观点和价值观。真正伟大的公司或产品都是需要输出价值观的。只有输出了更先进的价值观,才会获得真正的影响力。
  9. 朋友圈很重要。一个人的朋友圈很重要,在什么样的朋友圈,就会被什么所影响。 优质朋友圈的特点:
    1. 这些人都比较有想法、有观点,经验也比较丰富;
    2. 这些人涉猎的面比较广;
    3. 这些人都有或多或少的成功;
    4. 这些人都是喜欢折腾喜欢搞事的人;
    5. 这些人都对现状有些不满,并想做一些改变;
    6. 这些人都有一定的影响力。

总之,会挣钱的人一定是会投资的人。我一直认为,最宝贵的财富并不是钱而是你的时间,时间比钱更宝贵,因为钱你不用还在那里,而时间你不就浪费掉了。你把你的时间投资在哪些地。

技术领导力

技术领导力不是管理能力,而是技术上的领先、技术上的优势。

“野蛮生长” or “精耕细做”?

中国目前处于加速发展中,遍地机会,公司可以通过“野蛮开采”来实自身业务的快速拓展和扩张。而西方发达国家人口少一些,相对成熟一些,竞争比较激烈,所以,更多的是采用“精耕细作”的方式。

技术领导力是什么?

  • 追逐技术,追求核心基础技术。
  • 追逐自动化的高效工具和技术,同时避免无效的组织架构和管理。
  • 解放生产力,追逐人效的提高。
  • 开发抽象和高质量的可重用的技术组件。
  • 坚持高于社会主流技术标准和要求。

作为一名软件工程师,如何拥有技术领导力?

  1. 扎实的基础技术。
  2. 非同一般的学习能力。
  3. 坚持做正确的事。
  4. 不断提高对自己的要求标准。

第一,你要吃透基础技术。基础技术是各种上层技术共同的基础

基础技术可分为两部分:编程和系统。

  • 编程部分
    • C 语言
    • 编程范式。每个语言都有它们各自的编程范式,用于解决各种问题。比如面向对象、泛型编程、函数式编程。
    • 算法和数据结构
  • 系统部分
    • 计算机系统原理。CPU 体系结构(缓存结构、总线、DMA、中断、多任务、虚拟内存、虚拟化)、内存原理、磁盘原理。推荐书籍《深入理解计算机系统》。
    • 操作系统原理和基础。进程、线程的管理和调度,多核缓存一致性、信号量、物理内存管理、虚拟内存管理、内存分配、文件系统、磁盘管理。推荐书籍:《UNIX 环境高级编程》《UNIX 网络编程》《Windows 核心编程》
    • 网络基础。《TCP/IP 详解》
    • 数据库原理。
    • 分布式技术架构。

注意,上面这些基础知识通常不是可以速成的。虽然说,你可以在一两年内看完相关的书籍或论文,但是,我想说的是,这些基础技术是需要你用一生的时间来学习的,因为基础上的技术和知识,会随着阅历和经验的增加而有不同的感悟。

第二,提高学习能力。所谓学习能力,就是能够很快地学习新技术,又能在关键技术上深入的能力

  • 学习的信息源。英文能力很重要。
  • 于高手交流。
  • 举一反三的思考。
  • 不怕困难的态度。
  • 开放的心态。

第三,坚持做正确的事。做正确的事,比用正确的方式做事更重要,因为这样才始终会向目的地靠拢

  • 提高效率的事。学习和掌握良好的时间管理方法,管理好自己的时间。
  • 自动化的事。让简单的事情标准化,标准化的流程化,流程化的自动化。花时间做提高效率的事。
  • 掌握前沿技术的事。
  • 知识密集型的事。
  • 技术驱动的事。

第四,高标准要求自己。只有不断地提高标准 ,你才可能越走越高,所以,要以高标准要求自己,不断地反思、总结和审视自己,才能够提升自己

  • Google 的自我评分卡。
  • 敏锐的技术嗅觉。充分利用信息源,Get 到新技术动态,可以通过参与技术社区讨论,丰富自己了解技术的角度。
  • 强调实践,学以致用。
  • Lead by Example。永远在编程。不写代码,你就对技术细节不敏感,就无法做出可以实践的技术决策方案。

Google 评分卡:

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 comfirtable 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 feature(with book).
For systems areas - understanding of many fundamentals of networking and systems administration, ability to run a small network of system 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
    - 写过领域内的书籍(实际上必须出版了书籍)。领域内公认的专家,也许已经在领域内有所创新。

主要领域:
  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
Top↑