Books

软技能

https://book.douban.com/subject/26835090/

https://book.douban.com/subject/26835090/

职业思考

非同凡响-拥有商业心态

许多开发人员都习惯了以领取一份固定薪水的形式去工作的心态编程,这样容易产生“我在为公司打工”的心态。一旦我们用可持续发展的眼光考虑我们的工作,换句话说,职业生涯,那么理所应当应先学会如何想企业一样思考自身发展。这关系到如何工作,如何处理财务,以及需求新工作、新客户的方式。

显然,开发人员作为企业主要能提供的服务就是软件开发。为了脱颖而出,应当做到:

  • 专注于你正在提供怎样的服务,如何营销这项服务
  • 想法设法提升你的服务
  • 思考你可以专注为哪一特定类型的用户或行业提供特定的服务
  • 集中精力成为一位专家,专门为某一特定类型的客户提供专业的整体服务

成为一位专家非常重要,理想情况是别人一提到某个领域就和把你挂钩上,这产生了非常多的潜在价值。

思考未来-你的目标是什么

把成为专家当作职业生涯一个长远的目标(15、20年)并不明确。长远目标应该足够清晰,比如说“成为前端语言学专家”,这个是清晰的,可以指导你把大目标拆解为小目标,并且每个目标都能给你是否偏航的反馈。

关于目标拆解,作者甚至提倡“拆解细分至月度目标、周目标、每日目标”,个人感觉应该因人而异。比方说目前来说我是按照季度规划目标,再把季度目标拆解为几个标志性的、可实现的具体目标,最后通过一系列活动推动具体目标实现,这种节奏使得我的目标可以和公司的 OKR 挂上钩,更方便管理及审视。

举个具体的例子——我近来学习函数式编程的目标及路径。

季度目标:了解函数式编程

  实现Ⅰ:学习 C++ 基本语法,重温面向对象编程思想
    ①:学习《C++新经典》,并以代码实践
    ②:学习《面向对象是如何工作的》,输出博客总结
    ③:拣选阅读相关论文,观察业界动向

  实现Ⅱ:学习 Haskell 基本语法,体会函数式的编程思想
    ①:学习《Haskell趣学指南》,了解语法并在 Codewars 实践,达到 4Kyu
    ②:学习《Haskell函数式程序设计》,并以代码实践
    ③:拣选阅读相关论文,观察业界动向

  实现Ⅲ:体会函数式在前端的使用
    ①:学习 Lodash、Element 源码,输出博客总结
    ②:阅读《前端函数式演进》
    ③:关注近来 RSS 中相关函数式编程的推送

  ......

一眼看下来,其中可按日实现或推动的目标几乎就只有一个“关注近来 RSS 中相关函数式编程的推送”。其实日常生活中我也做不到每天都去关注业界动态和新消息推送,只有周末闲来无事的时候会把 RSS 大致过一遍,不过我发现就算粗略的过一遍也要画十个小时左右的时间,所以真实情况是看心情(和时间),能过多少算多少,看不完的倒垃圾桶。

交往能力-远比你想得重要

至此,假设我们已经在朝着专家的目标前进了,一心成为别人眼中的“极客”、“技术追求者”或是“明星开发”,另一方面,在与人交往上,也不能落下学习。世界上几乎没有不需要与人打交道的工作(其实我心碎了一地),所以学习与人交往是必要的。

我非常开心的是,作者满心称赞与推荐的《人性的弱点》,我也非常喜欢。别被书的名字骗了,这不是什么心机算尽的厚黑理论,《人性的弱点》核心是向人们宣讲,真诚是与人沟通的秘法。这击中了我的兴奋点,也恰巧符合我的处事风格,我相信在很多时候真诚一些能给自己带来一种“善良的热情”。善良的热情可以成为自己精神上的第一推动力,和“兴趣是最好的老师”有着类似的前驱力,只不过前者对人,后者对事。

破解面试之道

人天生对有直接关系的人有好感,说直白些就是:只要面试官认识你,那么你的成功率就更高。依此观点,你可以创造几场面试官在已对你有好感的基础上设立的面试,比方说当你选择著书立说扬名立万、选择内推而不是海投,至少在面对面试官时,他会觉得和你是有关系的。

在面试时,能用魅力征服别人就别用其它手段;没有独特魅力的话,最起码你需要展示在技术上你确实能胜任工作,以及你有足够的主动性,足够能干。

就业选择:列出你的选择

编程人员有三种大方向上的职业选择,分别是:雇员、咨询师、创业者。

雇员是最常见的形式,目前为止我接触的从业者都是以这个形式工作的。除了技术话题,我们经常一起探讨“打工人”以及“三点饮茶”。

雇员的好处雇员的弊端
从业之路较轻松工作上缺少自由
稳定的收入及福利收入有封顶

独立的咨询师貌似国内比较少见,依稀记得只在“在行”里见过一些大佬会弄弄模拟面试、职业方向指导之类的咨询工作。印象更深刻的是一些 ThoughtWorks(洞见)之类的商业咨询公司。洞见出品的技术雷达消息非常前沿,对职业生涯都有指导作用,我十分喜欢。就技术雷达而言,需要来源广泛消息系统、可靠数据、专业水准以分析等能力支持,这也说明了成为咨询师是需要打理除了代码之外的许多其它事务的1

咨询师的好处咨询师的弊端
相对的自由度业务需要自己找
源源不断的新项目打理诸多事务
收入增长服务多个老板

如果明星创业者背后真有万里枯骨的话,那作者是没有在书中提到的。我相信(并且大多数人也相信)创业的高收益伴随着高风险,但同时我也相信世界是个混沌系统,做体量越大的事,越需要运气,换句话说,不是所有人都能准确把控背后的不确定因素。

创业者的好处创业者的弊端
自由的时间安排完全依靠自己
财富自由的潜力高风险
从事自己想做的工作需要诸多技能

你是哪一类开发人员

专业化程度越高,潜在机会越少,但同时,获得这些机会的可能性也越高。当然,这不是说不应该具备广泛的技能,实则,解决关键问题时,客户或是公司倾向专家而不是万金油雇员。

你可以先选择一条专业化路线,哪怕之后再换也没关系,就像你从上海启程向韩国航行,中途也可以选择改航向日本。本书作者在职业生涯的开始将自己定位成打印机驱动及语言方向的开发,现在却是一名创业者。

公司与公司是不一样的

我觉得作者在对比因公司规模不同而产生的优缺点的观念上有许多偏见,参考意义不大。

公司规模优点缺点
小公司灵活的角色转换没法安静地坐下来写代码
很容易影响公司发展在众目睽睽之下办事儿
有职级等潜力稳定性不确定
中型公司工作稳定很难影响公司发展
加班较少和前沿技术脱钩
大公司完备的流程和规范官僚主义
培训机会多个人影响力有限
项目强而有影响力只负责代码库的一部分

个人认为对办事风格影响最大的是公司文化,而公司规模带来的大部分影响主要区别于资源上。

晋升阶梯

正常情况下(比方说没有卷入办公室政治斗争),晋升永远和承担更多责任的人挂在一起,在另一方面,你也需要有足够的专业能力以及“发出一些声响”。

外部认证能够建立起你在专业领域的权威;同时你也应该尝试学习领导力、商科、管理等多样化的知识。

  • 资质证书
  • 行业会议
  • 自媒体运营

承担责任并不意味着和别人争夺机会,可以另辟它径:

  • 负责一个不受重视的项目
  • 帮助新人快速成长
  • 负责文档制作流程并及时更新
  • 简化或自动化相关工作

我觉得最重要的还是要学会引人注目,这不是贬义,只是指一种办事风格:

  • 发送日报或周报,让别人知道你在做什么
  • 提供演讲或培训
  • 在会议上发表意见
  • 做别人不能做的事(别人不愿意做或不能做的)
  • 多与人交流(这和“只要面试官认识你,就成功率高”一个道理!)

成为专业人士

成为专业人士是一种心态。如果我们总是和恐惧、自毁、拖延和自我怀疑做斗争,那么问题就是:我们正在像外行那样思考问题。外行毫不起眼,外行人废话连篇,外行屈从于逆境。专业人士可不这么想。不管怎样,他引人注目,他恪尽职守,他始终如一。

专业人士外行
遵守原则让做什么就做什么
专注于正确完成工作完成工作
不畏惧承认错误不懂装懂
靠谱、持续稳定无法预测、不可靠
用于承担责任回避责任

自我营销

学习

生产力

理财

健身

精神

Footnotes

  1. 《软件咨询师的工具箱》

Copyright © 2024 Lionad - CC-BY-NC-CD-4.0