在刚毕业的时候,我也和大多数人一样,心想自己不擅长与人打交道,比较适合一心搞技术(当然也挺羡慕那时的 leader 管几个人分分任务不再需要写代码)。
最初也确实是这样子,花比较多的时间在技术上。现在看来,对于新人来说这依然是第一优先级的事情。
对于刚从学校出来的学生来说,最为推荐的书是《程序员修炼之道-从小工到专家》。不只是技术,这本书还会涉及到效率工具,保持学习,团结交流以及推动变化。因为并非每个人在刚毕业的时候都有一个靠谱的人领路,这本书可以让你少走一些弯路。
在之后工作中渐渐发现有些软实力要比技术更为重要,有时新技术的学习能给你带来的收益远不如这些能力的提升。下面只是个人想到的一些点:
效率
在你可以独立承担一个项目的时候,你会留意与其它人的差距,同样的项目交给你,你是否可以做的又快又好。这可能取决于你对工具使用的熟练程度以及是否有能力开发工具减少你的重复劳动。建议保持学习;最近才发现 ssh 到远程服务器使用 Iterm2 设置之后一个快捷键就可以开始工作了。
业务
在阿里巴巴,不是技术说的算,更多的是业务。技术也只有在创造了价值的时候才有用,不管是绩效评审还是晋升。每个人都会去思考业务中的痛点,尝试去解决这些问题。很多时候,这些痛点不是你一个人能够解决掉的,很可能涉及到各个方面。这又取决于你是否能够调动足够多资源以及推动其他人解决这个痛点。
有人说,在腾讯你能做成一件事要看你能够调动多少资源。
影响他人
现在让你说出你身边三个优秀的程序员,你会选谁?然后回想一下他们的共同点。你选他们是因为他们代码写的很溜吗?很可能不是。
勇于担当,照顾新人(乐意分享和帮助),谦逊(让你感受到被尊重)
你也想成为受欢迎的人?有本叫《How to make friends and influence people》我猜你早就读过中文版《人性的弱点》
管理
你有思考过,站在管理者的角度,他们对你的期望和你自己在做的事情是否匹配,当你有些新想法时,能否争取到他们的支持?或者站在公司角度思考,你在做的事情和公司的目标是否匹配?如果你和老大的关系很好,一切会好说,即使你不大欣赏你的管理者,保持一个定期的沟通以及定期的反馈也是必要的。我个人非常喜欢双周一次的与 Manager 的 1:1 会议。
所以,对有一定工作经验的人,我一定会推荐读几本管理类的书。比如《Make yourself indispensable》
企业文化
当你思考一家公司为什么能够成功时,你会发现可能有很多的因素,它可能在某些方面做的不是很好,但不足以致命。而公司失败一个致命的错误足矣。
公司大的时候价值观能够很好的发挥作用,比如阿里巴巴的人才观:聪明,皮实,乐观,自省。直接就筛选掉那些整日抱怨而不行动的人。
如果你发现什么做的不够好的地方,那不是正是你要努力推动的吗?
个人
你有没有发现身边一些人做了 1 可是却吹成了 10,而你做了 1 结果说成了 0.5。 在你往上走的过程中表达能力也是急需提升的,包括讲故事的能力。
之所以这么强调软实力,是因为像大多数程序员一样我在最开始对这些东西并没有给予足够的重视,而且也没有一个清晰的路径来培养这些能力。这些只是自己碎片化的吸收以及从跌打爬滚的经验中学习得到的,或许如同大多数道理一样,听起来觉得老生常谈,但只有在自己切身经历之后,才慢慢理解。
与诸君共勉!