专栏《左耳听风》
专栏《左耳听风》

正文共:5020 字,预计阅读时间: 13 分钟

本文是极客时间专栏《左耳听风》学习笔记第一篇

1.如何让自己的技能变现

第一,千里之行,积于硅步。
任何意见成功的大事,都是通过一个个小的成功达到的。所以你得确保你有一个一个的小成功。

第二,关注有价值的东西。

  • 价值受供需关系影响的,供大于求,就没有什么价值,供不应求,就有价值。
  • 这意味着你不仅要看到市场,还要看到技术的趋势,能够分辨什么是主流技术,什么是过渡式技术
  • 关于市场需求:看看各个公司在做什么,他们的难题是什么
  • 关于技术趋势:了解历史,了解技术发展的轨迹,将一些老的技术的本质吃透

第三,找到能体现价值的地方。

  • 在一家高速发展的公司中技术人员的价值可以达到最大化。
  • 而刚起步的公司,业务还没跑顺,公司主要精力会放在业务拓展上,这个时候也不需要太高精尖的技术,所以,技术人员的价值也体现不出来。
  • 比较好的成长路径是:先进入大公司学习大公司的技术和成功的经验方法,然后找到告诉成长的公司

第四,动手能力很重要。

第五,关注技术付费点。技术付费点体现在两个地方

  • 能帮被人挣钱的地方
  • 能帮别人省钱的地方

第六,提升自己的能力和经历。付费的前提是信任,只有提升自己的能力和经历后别人才会对你有一定的信任。

第七,找到有价值的信息源。

第八,输出观点和价值观。

第九,朋友圈很重要。

2.技术领导力

尊重技术和不尊重技术的公司案例

  • 亚马逊、Facebook这样的公司早期的业务型公司转变为技术型公司,发展的很好。
  • 雅虎、百度这样的公司从技术型公司变成了广告公司,走下坡路。
  • 谷歌当年举公司之力不做技术做社交,很失败;拉里佩奇重新让工程师重新掌权,才有了无人车和AlphaGo这样的惊世之作。
  • 微软在之前由一个做电视购物的销售担任CEO,出现了技术领导力不足的情况,导致走下坡路。
  • 苹果公司之前聘任了一位非技术的CEO后也几近破产。

什么是技术领导力?

  • 直白点说:你还在用大刀长矛的时候,别人已经用上了枪支大炮;你还在用马车的时候,对方已经用上了汽车….
  • 技术领导力不仅仅是呈现出来的技术,而是一种可以获得绝对优势的技术能力。
  • 从工业革命的历史中推导出技术领导力:
    • 尊重技术,追求核心基础技术。
    • 追逐自动化的高效率的工具和技术,同事避免无效率的组织架构和管理。
    • 解放生产力,追逐人效的提高。
    • 开发抽象和高质量的可以重用的技术组件。
    • 坚持高于社会主流的技术标准和要求。

软件工程师怎么才算拥有技术领导力?

  • 能够发现问题。能够发现现有方案的问题。
  • 能够提供解决问题的思路和方案,并能比较这些方案的优缺点。
  • 能够做正确的技术决定。用什么样的技术、什么解决方案、怎样实现来完成一个项目。
  • 能够使用更优雅,更简单,更容易的方式来解决问题。
  • 能够提高代码或软件的扩展性、重用性和可维护性。
  • 能够用正确的方式管理团队。
    • 一方面,让正确的人做正确的事,并发挥每个人的潜力;
    • 另一方面,可以提高团队的生产率和人效,找到最有价值的需求,用最少的成本实现。并且可以不断提高自身和团队的标准。
  • 创新能力。能够使用新的方法新的方式解决问题,追逐新的工具和技术。

怎样让自己拥有技术领导力呢?

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

3.渴望、热情和选择

加班太严重完全没有时间学习,怎么办?

  • 可能并不在于加班和工作强度大到没时间,关键看你对学习有多少的渴望程度和热情
  • 逆人性的事基本上都要付出很多而且还要坚持很久

  • 为什么你能够写出这么多东西?

    • 还是上面的问题,你对协作这个事情有多少的兴趣和热情
    • 我基本上经历了几个阶段:
      • 第一个阶段,学习阶段
      • 第二个阶段,利益驱动阶段
      • 第三个阶段,记录自己观点打自己脸的阶段
      • 第四个阶段,与他人交互的阶段
    • 写作的好处:收获对自己表达能力的训练和培养,让我能够好更漂亮地域别人交流和沟通

怎么选择自己的人生和职业发展?

  • 不同的人有不同的想法和追求,这是一个全完没有正确答案的话题。
  • 总体来说,我把人生分成两个阶段:
    • 20-30岁,打基础阶段。在这个阶段我们要的是开阔眼界,把基础打扎实,努力学习和成长。
    • 30-40岁,人生发展的阶段。在这个阶段需要明确自己奋斗的方向,需要做很有挑战的事,需要发展自己的技术领导力。
  • 一些建议:
    • 1.客观地审视自己。
    • 2.确定自己想要什么。
    • 3.注重长期的可能性,而不是短期的功利。
    • 4.尽量关注自己会得到的东西,而不是自己会失去的东西。因为无论你怎么选,你都会有得有失。
    • 5.不要和大众的思维方式一样。因为觉得大多数人都是平庸的。

4.如何成为大家愿意追谁的Leader?

概念

  • Leader 不是管理者,不是经理,不是职称,而是一个领头人。
  • 领头人和经理或管理者最大的差别就是,领头人(Leader)是被大家所追随的,二经理或管理者(Boss)则是一种行政和职位上的威慑。
  • 说白了,Leader的影响力来自大家愿意跟随的现象,二经理或管理者的领导力来自职位和震慑

Leader和Boss的不同

  • Leader是大家跟我上,而Boss则是大家给我上
  • 一个在团队前面,一个在团队后面
  • 具体不同点如下:
    • Boss 是驱动员工,Leader 是指导员工。
    • Boos 制造畏惧,Leader 制造热情。
    • Boss 面对错误喜欢使用人事惩罚的手段,而 Leader 面对错误喜欢寻找解决问题的技术或管理方法。
    • Boss 只是知道怎么做,而 Leader 则是展示怎么做。
    • Boss 是用人,而 Leader 是发展人。
    • Boss 从团队收割成绩,而 Leader 则是给予团队成绩。
    • Boss 喜欢命令和控制,而 Leader 喜欢沟通和协作。
    • Boss 喜欢说“给我上”,而 Leader 喜欢说“跟我上”。

如何成为大家愿意追随的Leader

  • 你需要一些征兆:
    • 帮人解决问题。
    • 被人所依赖。
  • 有没有技术领导力是成为 Leader非常非常关键的因素
  • 有了技术领导力可能还不够,作为一个 Leader ,你还需要有其他的一些能力和素质,比如人格魅力
    • 赢得他人的信任
    • 开放的心态 + 倾向性的价值观,倾向性的价值观是别人是否可以跟随你的一个基础
    • Lead by Example,做示范
    • 保持热情和冲动
    • 能够抓住重点,看透事物的本质
    • 描绘令人激动的方向,提供令人向往的环境
    • 甘当铺路石,为他人创造机会
  • 也许你不必做一个 Leader,但是如果你有想跟随的人,你应该去跟随这样的 Leader。

5.时间管理

主动管理

  • 告诉大家,我们什么时间段在做什么事,请大家不要打扰我
  • 要求你的同事,重要的事情不要发微信而是邮件
  • 做好信息管理

学会说“不”

  • 当你面对做不到的需求时,不要马上说做不到,你先想一下,给出另一种做得到的方案
  • 当你面对过于复杂的需求时,不说我不能完全满足你,但我说我可以部分满足你
  • 当你面对时间完全不够的需求时,你要想办法把这个压力还回去,或是让对方来和你一同分担压力
  • 给回三个选:
    • a.我可以加班加点完成,但是我不保证好的质量,有 bug 你得认,而且事后你要给我1个月的时间还债。
    • b.我可以加班加点,还能保证质量,但我没办法完成这么多需求,能不能减少一点?
    • c.我可以保质保量地完成所有需求,但是,能不能多给我 2 周时间?

加班和开会

  • 开会不是讨论问题,而是讨论方案
  • 作为与会者,如果你发现没有提案,大家海了去了,那么你有两种选择
    • 跳出来帮大家理一理
    • 可以说一下:如果会上讨论不清,要不先线下讨论,有了方案再来评审

投资自己的时间

  • 花时间学习基础知识,花时间读文档,不要把时间都浪费早查错上
  • 花时间在解放自己的生产力的事上
  • 花时间在让自己成长的事情上,晋升并不代表成长,成长不应该只看一个公司内,在行业内的成长才是真正的成长
  • 花时间在建立高效的环境上,工欲善其事,必先利其器

规划自己的时间

  • 定义好优先级
  • 最短作业优先
  • 想清楚再做
  • 关注长期利益规划

用好自己的时间

  • 专注的把时间投入到有价值的事上
  • 知道哪些是更有效的路径,是花时间改变别人,还是花时间去寻找志同道合的人
  • 形成习惯
  • “做”比“做好”更重要
  • 如何将这些时间管理方法形成习惯?
    • 形成正反馈,也就是成就感,这有助于你完成一些看似难以完成的事儿
    • 反思和举一反三,复盘

6.识别表象和本质

关于兴趣和投入

  • 兴趣是学习的助燃剂,对一件事有兴趣是是否愿意对这件事投入更多的前提条件
    • 一方面,兴趣是需要保持的
    • 另一方面,兴趣是可以培养的
  • 对一件事情的兴趣只是表象,而内在更多的是你做这件事情的成就感是否可以持续

关于学习和工作

  • 学好一项技术和是否找到与之相匹配的工作有关联,但不是强关联
  • 通过工作才让我们学习和成长的更快
    • 工作中能为我们带来相应的场景和实际的问题,而不是空泛的学习
    • 在工作中有同事和高手帮助,和他们的交互讨论可以让你更快的学习和成长
  • 本质上来说,并不是只有找到了相应的工作我们才可以学好一项技术,有时间在工作中你反而学不到东西,工作提供的场景不够丰富,需要解决的实际问题太过简单,以及你的同事对你的帮助不大。
    • 找工作不只是找到这个技术的工作,更是要找场景,找实际问题,找团队,这些才是本质
    • 不要完全把自己的学习寄托于找一份工作才会学的更好

关于技术和价值

  • 技术无贵贱,我们应该关注的是:
    • 要用技术解决什么样的问题,场景非常重要
    • 如何降低技术的学习成本,提高易用性,从而可以让技术更为普及
  • 一项有价值的技术并不在于这项技术是否有技术含量,而是在于:
    • 能否低成本高效率地解决实际问题
    • 是不是众多产品的基础技术
    • 是不是可以支持规模化的技术
  • 对我们技术人来说,也可以找到相对应的技术点:
    • 低成本高效率的解决问题的技术,一定是自动化的技术
    • 基础技术总是枯燥和有价值的
    • 支持规模化的技术也是很有价值的

关于趋势和未来

  • 这个世界的技术趋势和未来其实是被人控制的,就是被那些有权有势的公司或国家来控制的
  • 技术的未来要去哪里,主要是看这个世界的投入回到哪里,基本上就是这个世界上有钱有权有势的人把财富偷到哪个领域,也就是这个世界的大公司或大国们的规划
  • 对于我们这些在人来说,只能默默的跟随这些大公司所引领的趋势和未来,能够做的也许只有两条路:
    • 1.用更低的成本来提供和大公司相应的技术
    • 2.在细分垂直市场上做得比大公司更专更精

7.故障处理最佳实践:故障改进

故障复盘过程

  • 对于故障,复盘是一件非常重要的事情,因为我们的成长基本上就是从故障中总结各种经验教训从而能获得最大的提升
  • 亚马逊的复盘过程(COE文档)
    • 1.故障处理的整个过程(log),把故障从发生到解决的所有细节过程都记录下来。
    • 2.故障原因分析,需要说明故障的原因和分析报告。
    • 3.Ask 5 Whys,需要反思并至少 5 个为什么,并为这些“为什么”找到答案。
    • 4.故障后续整个计划,需要对上述的“Ask 5 Whys”说明后续如何举一反三地从根本上解决所有的问题。
    • 5.然后这个文档要提交到高层管理层,向公司的VP级别进行汇报,并由他们来审查。
  • 阿里的故障复盘会
    • 1.把所有相关的人员都叫到现场进行复盘,这样的好处:
      • 一方面信息是透明的
      • 另一方面也是对大家的一次教育
    • 2.确定故障等级和责任人,对于比较大的故障,责任人基本上都是游P9/M4的人来承担,并且会惩罚引发故障的直接工程师
  • 为什么不要惩罚故障责任人?
    • 首先,惩罚故障责任人对于解决故障完全没有任何帮助。因为他们之间没有因果关系,既不是充分条件也不是必要条件,更不是充要条件。这是逻辑上的错误。
    • 其次,做的越多错的越多。会引发大家都学会保守,开始推诿,营造一种恐怖的气氛。

故障整改方法

  • 亚马逊和阿里的方法:
    • 亚马逊方法:更多的是通过技术手段来解决问题,几乎没有增加更复杂的流程或是把现有的系统复杂化
    • 阿里方法:会有一些复杂化问题的整改项,比如加入检查过程、审批环节、加入新的系统看着原来的系统
  • 整改方法的大致逻辑:
    • 第一,优化故障获知和故障定位的时间。
      • 从故障发生到我们知道的时间是否可以优化得更短?
      • 定位故障的时间是否可以更短?
      • 有哪些地方可以做到自动化?
    • 第二,优化故障的处理方式。
      • 故障处理时的判断和章法是否科学和正确?
      • 故障处理时的信息是否安全透明?
      • 故障处理时人员是否安排得当?
    • 第三,优化开发过程中的问题。
      • Code Review 和测试中的问题和优化点
      • 软件架构和设计是否可以更好?
      • 对于技术欠债或是相关的隐患问题是否被记录下来,是否有风险计划?
    • 第四,优化团队能力。
      • 如何提高团队的技术能力?
      • 如何让团队有严谨的工程意识?

根除问的本质

  • 问题的本质:
    • 一个技术问题后面隐藏的是工程师的能力问题;
    • 工程师的能力问题后面隐藏的是管理者的问题;
    • 管理问题后面隐藏的是一个公司的文化问题;
    • 公司的文化问题则隐藏这创始人的问题….
  • 一些原则:
    • 1.举一反三解决当下的故障。为自己赢得更多的时间。
    • 2.简化复杂、不合理的技术架构、流程和组织。你不可能在一个复杂的环境下根本地解决问题。
    • 3.全面改善和优化整个系统,包括组织。

推荐阅读: