看了周志明老师在极客时间上的一段文字,看完后实在按捺不住想转发朋友圈,是啊,这得经历了多少事才能把这些你我都纠结的问题想透。

程序员的发展观

程序员通俗地说就是写程序代码的人,但在不少人的认知里,今天去写代码,却是为了日后可以不必再写代码。
从职业经理人的视角来看,不管是架构师、资深专家,还是研发部门管理者,这些程序员的“进阶职业”似乎都已经脱离了字面意义上的“写代码的人”,衡量他们工作目标的依据主要是治下的程序员是否有更高的工作效率、更好的投入产出。那么如此一来,不少程序员想成为“不必再写代码”的人,倒是也可以理解。
不过,从技术人员的视角来看,程序员这个群体天生就带有一种工匠式的图腾崇拜精神,大家都奉行达者为师,并不迷信管理自己的人,但尊重能够指导自己的人,爱讲逻辑、爱讲道理,讲不通至少还能“Talk is cheap, show me the code”。而如此一来,要脱离技术去管理好一群程序员,可是相当困难的。
其实,我之所以说这些,是 希望以后无论你的职业目标是永远做一名程序员,还是架构师,或者是成为一名研发管理者,都不要轻易地离开技术领域的一线
离开技术、放弃编码的决定,很可能会像你高考之后放下的数学、生物、地理等知识那样,一旦放手,以后就很难有机会再重新捡起来。
久而久之,你对代码、技术、产品状态与团队研发状态的理解,就会渐渐和团队成员产生偏差错位,从而丧失在细节上给予指导的能力,丧失在专业问题上提出接地气解决方案的能力,只能在短期内无法验证对错的大战略方向上提意见,在会议、流程及团队管理措施上下功夫,在职业经理人式的宣讲与汇报上寻找存在感。
如果是这样,那么你就从团队的导师变成了管理者,最后你跟团队的关系,就会从携手并肩奋斗的伙伴,完全演变成了只能靠公司制度与管理职位的权力来维系的雇佣关系。
当然我也相信,假如能够轻松地做好技术,也没有人愿意随便放弃。我听过的离开技术一线最常见的原因,就是“年纪大了,时间不够用了”或者要“聚焦精力去做管理了”。对这种现象,我的看法是:确实很难轻松地做好技术,但是在做好技术工作的前提下,却有可能比较轻松地做好架构和管理工作。
我自己也是一名架构师和管理者,在作自我介绍的场合,用的头衔却从来都是兼职一些管理工作的程序员,这是一种人设标签。如果你问我,为什么管理几十人、几百人的团队的同时,还能抽出时间去编码、去写作、去关注具体的细节与技术的潮流发展,我会理所当然地回答,“因为我是一名程序员”啊。
这句话的第一层意思是,我是程序员,去编码是天经地义的。另一层意思是,我是程序员,与一群最讲道理、最直来直往、最不需要琢磨小心思的程序员协同工作,管理才不需要耗费太多的精力,所以“兼职管理”才是可行的。

程序员的价值观

聊完编程与程序员的发展观,我们再来探讨两个关于程序员价值观方面的问题:
  • 在工作中所需要的知识技能,自己并不感兴趣,该怎么办?
  • 在工作中接触不到的知识技能,有没有必要专门去了解、学习,乃至刻意锻炼?
我们知道,工作的职责能跟自己感兴趣的方向一致、能跟自己知识体系的缺失形成互补,这样的机会是可遇不可求的。今天的软件业已经高度成熟了,分工日益细致,对于大多数人来说,聚焦在少数几个点上拧螺丝是常态,能够在广袤的舞台上造火箭才是特例。
所以,前面两个问题不一定是每位同学都认真思考过,但我相信它应该是每位程序员都实际遇到过的。比如,有位同学就问我,不知在你的职业生涯中的某个时刻,是不是也有过相似的感受:
周老师,想了解一下你之前是怎样从业务往架构转型的?我是工作两年的小白,一直都很想学习架构方面的课程,但是由于工作全是业务逻辑,而且是极其复杂繁琐的业务,每天都是对着协议研究业务实现,感觉自己都困在业务里面无法自拔。
人生苦短,光阴易逝,把有限的时间和精力投入到对自己最有价值的方向上显得尤为关键,大多数人都能接受“选择永远比努力更重要”的观点,但进一步问“什么才是好的选择”时,就只有少数人能对自己学习的知识技能、从事的工作方向做出定量的价值判断。
所以,这里我就以这位同学的问题为例,拿出自己的判断模型,供你参考:
价值 = (技能收益 + 知识收益) × 提升空间 / 投入成本

投入成本

我经常讲的一个词是“权衡”,经常说的一句话是“凡事不能只讲收益不谈成本”。在我的价值模型里,收益大小也是必须在确定的成本下,才有衡量比较的意义。这里的成本,既包括你花费的时间、金钱与机会,也包括你投入的知识、精神与毅力。强调投入成本,是希望你 不要去钻牛角尖。如果一项知识或技能,你学习起来非常吃力,花费大力气弄懂之后,过一段时间却又迅速地忘掉了,这很可能是因为你既没有实际应用它的场景,也没有在知识体系中建立好掌握它的稳固的前置基础。这种就属于你目前还拿不动的东西,不如趁早放手,先做好减法,才能做好加法;你也不必觉得可惜,如果它对你来说是必要的,就一定还会再次出现,想躲也躲不掉。
10 月 10 日(周六)晚上 8 点,极客时间总编辑小盖会在他的视频号连麦周志明老师,聊 Java、架构,以及周老师的技术观、人生观。
记得预约。
继续阅读
阅读原文