工程师成长到最后最重要的是什么? 或者说,工程师成长中最重要的是什么?
知识、技能和态度;
- 态度上,积极、Open Mindset(开放的心态),主动帮助别人,也多抓住机会让前辈给自己指路。
- 技能上,花苦功夫在专业领域。
- 知识上,要保持学习。
- 纸上得来终觉浅,绝知此事要躬行。
1. 工程师成长到最后最重要的是什么?
以下是Cat Chen原文:
有一个问题我最近在 career coaching 时连续被不同的人问了几次,第一次被问到时我想到什么就说什么,但被连续问了几次之后我觉得我需要好好思考一下。这个问题问的是,「工程师成长到最后,最重要的是什么?」
刚刚进入互联网行业的新人,往往觉得自己懂得还不够多,别人比自己厉害、比自己资深,是因为别人比自己懂得更多。按照这个逻辑进行推导,正确的目标自然是让自己懂得越来越多。再往前推导,既然每一个人的时间是有限的,那必须优先弄懂那些重要的事情,因此有了上述这个问题。大家都不想走弯路,希望找到直达终点的直线。
我觉得这个问题的答案并不是清晰可知的,因为清晰可知的事情迟早会被大家优化到极点。能够通过面试进入大厂的人,都聪明和勤奋到一定程度。如果存在这样一条直线,大家都或多或少地都沿着这条直线全力往前跑,最终跑出来的结果会存在一定的差别但不会存在巨大的差别,尤其是不会存在那种走直线比走曲线所应该获得的巨大优势。
那真正能够产生差异的是什么?那必然是一些别人没办法直接告诉你的事情。这是可以通过反证法证明的。如果有人能够教会你如何能够获得别人不能获得的巨大优势,他会选择教你吗?为什么?大家很容易产生一种错觉,「比我厉害的人肯定懂得比我多,这跟在学校里一样,但是他们不愿意教我所以我不如他们厉害。他们联合起来保守秘密,阻止我们获得他们拥有的知识」。
按照这样的假设,比你厉害的人当中只要有一个人守不住秘密,这种知识早就传播开来了。而且教授这种知识肯定是能赚钱的,所以比你厉害的人其实都有动机通过教授这种知识来赚钱,他们不可能真的联合起来保守秘密。这就可以反证,不是别人拥有你没有的知识而且不愿意教你,现实更有可能是他们没办法教你,或者说教你的成本太高所以不知道花时间去教。
有一个概念叫做「隐性知识」,英文叫做「tacit knowledge」,指代的是那些难以言述的知识。隐性知识类似于通过深度机器学习训练出来的一个模型:它可以用,它大多数时候是正确的,少数时候会出错。你没办法通过人和人之间很容易就能沟通的若干条规则把它描述清楚,因为能描述清楚的话就不需要用到机器学习了,用规则系统就可以了。你没办法很好地预测它什么时候对什么时候错,你也不太能解释它错的时候为什么出错了。
面对这样的模型,你可以选择把它整个拷贝走。但如果你不能拷贝呢?(因为人类还没有进行人脑到人脑拷贝的技术,也不确定这样的技术是否真能被发明出来。)如果你能使用这个模型但不能拷贝这个模型,你可以用这个模型作为基准和反馈从零开始训练一个相似的模型。这也是现在已知的传播隐性知识的方法:找一个把某件「只能意会不能言传」的事情做得非常好的人,你在进行训练时请他提供反馈,最终你训练出来的结果不可能跟他完全一样,但你的目标也只是获得相似效果而已。至于能否训练出来,以及要训练多久才能达到你想要的效果,这都是要尝试过才知道的。
现实就是这样子的:有能力进入大厂的人,通过书本(或其他媒体)学习显性知识的效率肯定不会差。瓶颈往往出现在显性知识能学的都学了,学更多也不能变得更厉害了,但又没有意识到需要甚么样的隐性知识,或者是不知道从哪里能够获得需要的隐性知识。
所以工程师成长到了一定的阶段以后,搞明白自己需要什么以及找到跟谁能获得有效的训练是最重要的。具体怎么做就不是通过写一篇文章就能说清楚的,否则这就不叫做隐性知识了。我能给的建议是:找你相信真心关注你成长的人,请他们花时间观察你工作,问他们觉得你的成长需要什么、谁能够帮助你训练你所需要的。
2. 知识、技能和态度
以下是宝玉Twitter原文:
刘润老师在他的得到专栏上有一篇讲了《知识(Knowledge)、技能(Skill)和态度(Attitude)》。可以帮助从另一个角度来回复这个问题。
知识就是已经被发现和证明的规律,它是确定的,不需要你通过自身的成功、挫败去验证,然后恍然大悟的那些规律 比如我们书本上学的知识,小学学的1+1=2,大学学的编程语言排序算法。 就像Cat文章中提到的显性知识。知识的学习主要依赖的是你的记忆,而记忆是会衰退的,很多学过的知识会忘记。
技能就是那些你以为你知道,但如果你没做过,就永远不会真的知道的事情。 最简单的例子就是骑自行车,无论你看了多少学习自行车的理论,你不骑永远学不会。类似的还有游泳、演讲、管理等等。 所以我们常说掌握沟通技能、管理技能,而不会说沟通知识、管理知识。 技能要靠练习,变成条件反射。
态度就是你选择的,用来看待这个世界的那副有色眼镜。 比如你觉得这世界是友善的还是充满恶意的? 每人心中都有一扇门,无论外人如何呼喊,冲撞,这扇门始终只能从里面打开。态度是没有人可以教的,态度是你的“心”的选择。 西方也有类似观点,OPEN VS. CLOSED MINDSET 。
Cat 也提到“找你相信真心关注你成长的人,请他们花时间观察你工作,问他们觉得你的成长需要什么、谁能够帮助你训练你所需要的”,但该找谁?谁愿意帮助你? 换个角度想,如果有人来找你帮忙,哪些人你更愿意帮助他们? 自然是那些态度积极的人,懂得感恩的人会获得更多的帮助。
Cat说到的隐性知识,我想更多的是关于技能和态度。 就像工作中,那些编程高手,你可能没看到的是他们背后有花多少时间反复练习他们的技能,那些升迁的快的印度同事,并非只是因为人家会写PPT或者拍老板马屁,可能是他们的Open Mindset(开放的心态),不抱怨,别人更愿意帮助他们,帮助他们获得了更多机会。
还有我们在工作中,是否有真的正确的区分知识、技能和态度?
比如有人把知识当技能学,偏好实战,俗称野路子,不愿意学习理论知识,更相信自己实践中悟到的东西,总结出一些似是而非的经验。 像我这样的老程序员,有时候经常觉得比不上年轻人,因为我的很多顿悟,可能只是别人的基本功。 总还是要站在前人的肩膀上,才能不断进步。
还有的人把技能当知识学,看了很多视频,刷了很多题,但却还是做不好工作中的项目。 书本上视频上的知识,都是在教你如何练习技能,而不是技能本身,要掌握技能,还是要learning by doing。 纸上得来终觉浅,绝知此事要躬行。
工程师成长到最后最重要的是什么?归根结底,还是让自己有一个积极的态度 Open Mindset(开放的心态),主动帮助别人,也多抓住机会让前辈给自己指路。 技能上,免不了花点苦功夫在专业领域,财务自由之前技能还是自己吃饭的本钱。 知识上,也保持学习,这世界更新很快,不然很快就要被AI替代了!