# 程序员软技能指南

周末在家读了《软技能-代码之外的生存指南》这本书,感触良多。这本书意在传达技术之外的能力,也就是所谓的软技能。作为程序员,大家都听过软技能,但软技能有哪些实例和特征,估计没几个人能说的清楚。本书作者根据自身成功经历(33岁就已经财务自由),讲述了程序员需要提升的软技能,包括但不限于自我提升、理财、健身等方面。笔者根据书中观点,结合自身感悟,总结如下要点。

# 学习

  • 快速学习方法
    1. 了解全局。对主题相关内容有个全局的了解
    2. 确定范围
      • 将庞大的主题分解为小而聚焦的主题
      • 抵住主题下的子主题诱惑,尽可能保持专注
      • 考虑时间因素。更长的时间可以攻克更大的主题
    3. 定义目标。平衡全局和细节,找个目标点
    4. 寻找资源。包括但不限于如下:
      • 图书
      • 博客
      • 视频
      • 源代码
      • 示例项目
    5. 创建学习计划
    6. 筛选资源。第四部集齐的很多资源都是重复的,找出品质最高的资源。
    7. 开始学习,浅尝辄止。
      • 抵制主所有资源的诱惑,不要让学习变得失控。
      • 例如学习MacOS操作系统,刚开始你只要知道基本用法,可以办公即可可。
    8. 动手操作,边玩边学。学习过程中遇到很多未能完全理解的问题,先记录下来,往后会有机会找出这些问题的答案。
    9. 全面掌握,学以致用。好奇心驱动,会让你懂得更多。
    10. 乐为人师,融会贯通。
  • 寻找导师
    • 寻找导师的checklist
      1. 他们做到了我想去做的?
      2. 他们曾经帮助他人做到了我想做的?
      3. 他们现在取得了什么可以展示的成就?
      4. 你能和这个人和睦相处?他充满智慧吗?
    • 虚拟导师 - 好书
  • 成为导师
    • 经验传授或从旁观者视角提供解决方案
    • 成为导师的好处
      • 会比自己的学生学习的更多,也是自身的一个成长
      • 探求答案过程中越加深入思考
      • 帮助的每一个人,终有一天会超越你并回馈于你
  • 发现知识短板
    • 找出知识短板checklist
      1. 哪些工作话费时间最多?
      2. 可以改进的重复性劳动
      3. 自己没有完全理解的东西
      4. 回答不上来的面试题
    • 消除知识短板
      • 随时记录问题的app/记事本

# 个人品牌

  • 创建自己的博客
    • 定时更新,每周至少一篇
    • 文章质量慢慢提升,先写
    • 提升访问量。比如去其他博客下评论,并导链到自己博客
  • 演讲
    • 小规模场合做起,完善演讲技能
    • 勇敢走出去,别害怕让自己出丑

# 晋升

  • 承担责任
    • 不受重视的项目扛起来
    • 帮助团队新人快速成长
    • 没人做的项目愿意承担下来,并走自动化
  • 令自己引人注目
    • 保证曝光度 - 让领导知道每周你做了什么。
    • 发表意见 - 在会议上就发表一些自己的意见(刷存在感)。
    • 做好导师 - 提高自己,帮助他人,何乐不为。
    • 提供演讲或培训 - 选择一个有用的话题。
  • 自学
    • 快速学习东西
    • 分享自己学到的东西
      • 写blog
      • codereview
      • 技术大会
  • 成为问题的解决者

# 其他

  • 不要陷入对技术对狂热中。程序员往往有个误解:自己选择的技术就认为是最好的。
  • 理财
  • 健身