七年阿里老人谈新人程序员的成长

开发 后端 前端
不管你是刚走出校园,还是大咖加入新的环境,前期精力都应该放到具体的小事上。先以事服人,再以德服人。

先做事再做人

新同学常有这些困惑,到底是做技术还是做业务?是每天加班加点写代码还是空点时间来看书学习?是先追求广度还是先钻研一门技术?是两耳不闻窗外事一心埋头做事还是和同事打成一片参加各种活动?这些问题也曾困扰着我。

我觉得新人到一个团队最关键的是在前3年建立个人品牌,为什么?当别人对你完全不了解,你做的***件事非常重要。你给别人留下的印象会蔓延到整个公 司,所以***件事一定要做好。怎么才叫做好?在职场中,并不需要时刻比拼智商,大部分情下,做事认真一点、考虑更深入一点、积极主动一点,已经好于70% 的同学了,这样的同学我们都称之为“靠谱”。

获得了合作伙伴包括主管的认可,自然获得的机会就会更多,做的事也会更复杂,合作伙伴也会越来越强,这样就会形成正循环,成长就会比较快。所以前3 年需要通过做事形成自己的影响力,积累人脉,锻炼自己的对未知事物的判断能力,因为随着你做的事情越来越多,专业知识能覆盖的范围会越来越小,遇到越来越 多自己不懂的领域。你不可能掌握所有知识,因此培养判断力非常重要。包括对事物未知发展方向的判断、事情产生价值的判断,以及对人的判断等。

所谓后3年做人,是更多发挥出人的价值,不仅仅把事做好就行,包括在合适的时间做合适的事。在公司里做先烈的情况有很多,找到多个团队的共同价值点 把事情一起做好,其实这个最难,因为越有价值的事情,涉及到的利益方也会越多,平衡好各方的诉求是事情成败的关键。事情做好后还要有人帮你宣传等,这当中 可能会涉及人的性格、交际能力、向上管理等综合能力。

善于发现兴奋点

刚入职时,一般所做事情的难度都不大,这时很容易形成落差,阿里目前招的都尖子生,但有时候到岗位才发现每天做的都是琐事,因而感到失望。如果长期 不调整好心态,很难发挥出工作激情,人也慢慢平庸下去。当初我和大部分同学一样,也是从最基本的日常工作开始做起,在做这些事时,我对自己的要求是,代码 层面不出Bug,注释写清楚,按时发布,这些都是最基本的要求。我还会利用业余时间做好几件事。

  1. 发现工作中可以提升效率的地方,可以把琐事的事情工具化,记得当时在做一个搜索需求时,发现传给搜索的参数非常多,而且每次拼URL异常麻烦。因 为工具是给运营同学用,所以便做了一个页面,把参数做成表单,运营同学只要在对应的字段(含义有说明)表单中填入值,就可以自动生成最终URL,提升了他 们生成URL的效率,也肯定受到了运营同学的好评。

  2. 除了发现工作中可以提升的效率外,还可以积累人品,比如我们曾经有个小图书馆,借书信息需要一位同学人肉记录,于是我做了个图书管理系统给那个同学用,收获了友谊。

  3. 除了在主动和积累人品外,最重要的还是要积累技能,我曾把在公司用到的中间件都深入学习一遍,并且写成学习文档,和其他同学写那种简单的使用心得型文档不同,我写的学习文档都是分析设计原理,为什么这么设计,用到了哪些设计模式, 关键的技术点等。那些工作几年,对中间件熟悉的同学也会有兴趣来看。但公司的同事毕竟有限,写作文章也会花费不少精力,所以我要寻找新的动力继续写下去。 当时我从写公司独有的框架转到写公司内外通用的技术框架,如Spring、iBATIS、Tomcat等JVM技术。并且找机会投到杂志和网站上,一方面 有经济回报,另外更重要的是能收到反馈信息。

善于从工作中找到源动力非常重要,做一件事情从不同角度发现其中的价值可以始终保持做事的激情,如果事情做好,可以得到感谢、称赞和认可,获得更多知识。找到正向的反馈,附带获得知识和影响力,然后促使自己持续把事情做好。

写文章和总结有多种好处:

  • 可以系统地沉淀和总结自己的学到的知识,只有经历这样的过程,知识才记得牢。

  • 可以增加影响力,因为分享给别人带来价值,才有人关注你。

  • 给做事增加动力,尤其是那些琐碎的事。如果把琐碎的事情都连接起来,说不定也能收效显著。

与人协作

在与人协作上,这几年我的感触也很深,从最初的想一个人完成所有事,到现在尽量让别人完成所有事,这种转变真是很特别。公司中的大部分事都是团队协 作,以公司中常用的项目运作模式为例,一般会有一个项目经理(PM)、一个或者多个架构师,若干个不同功能的开发,其他就是不同的岗位分工,如PD、 UED、测试、PE等。PM和架构师两个角色刚好给两个同质的团队利益分配提供了很好的选择,PM一般会拿到业务结果,而架构师能体现这个项目中的技术成 果,典型的场景是一个很好的技术通过PM来落地而达到双赢。与人协助上有几个阶段需要经历。

 

图1 影响力金字塔
 

  1. 别人的想法当成自己的想法,帮别人实现。很简单,初期与人合作,要把别人的事当作自己的事,并且想方设法实现好,该做螺丝钉的时候也要做好。

  2. 自己的想法自己实现。新人常害怕把自己的想法说出来,被别人抢去实现了的担心。回想起来我也担心过,实际在工作中的确有些同学善于盗取别人的想 法,尤其再抢着给老板汇报就更讨厌了。但现在想想这种担心并没有必要,因为更重要的不是想法而是实践。对新同学来说,多想少说多实践才是王道,千万不要少 想多说少实践。如果你有好的想法不妨说出来,并且实现demo证明可行,如果证明靠谱也不用纠结最终名义上的结果是不是你能获得,就像我前面所说的,先做 好事,不用急着去争名,这个时候正是积累以后的福报。

  3. 自己的想法由一帮人实现。这个阶段最重要的就是平衡利益,合理的让每个项目成员都能获得***利益是项目成功的关键,不仅是参与项目的成员还包括成 员的老板,仅仅把事情做好只是***步,项目要发挥出***价值,还要有老板们帮你宣传,才能有更多落地场景,最终的成功需要天时地利人和。

  4. 自己的想法,让别人说出来,并且实现。你的想法变成了别人的想法,并且***实现了出来,如果到了这个阶段,那么你肯定已经是一个有影响力的人了。 新人无疑最忌讳这个情况,但如过前面几个阶段都做得很好,遇到这种情况也会很淡定,因为这时你应该是一个Leader了,而Leader要做的正是这个。

与人协作时,我觉得《Choice》课程中介绍的影响力金字塔非常有参考价值,把***时间花在对合作伙伴能够产生影响的人,建立良好关系最有成效。 大家可能会说,不就是那群天天在公司不干事只会拉关系的人吗?其实建立关系只是一个手段,建议关系能产生什么的结果才是最终的目的,影响力是最有效的协 作。

老板希望你做的

亲身带领团队后,我也算打入了组织内部。总体还是健康的组织。判断一个组织有没有生命力,就看这个组织的Leader是不是最能干的人,而且组织要有能够保证最能干的人能成为Leader的机制。

当然我主要想讲的不是如何给老板拍马屁,如何和老板套近乎,而是介绍主管最希望的做事方式:

  1. ***步要和主管取得相互信任,注意我说的是相互信任,这个最重要。你信任主管无非因为你内心对主管服气,或是知道他是真心愿意培养自己。主管信任你主要是交给你的事情能够漂亮的完成,认为你死心塌地的跟着他。很多管理事故无非是这种相互信任没有建立导致的。

  2. 积极主动给老板带来一些惊喜,是你获得更多机会的助燃剂,老板一般喜欢两种人,一种是听话的人,兢兢业业的完成交给的任务;第二种是总有新想法并且爱折腾的人,有想法还不够,***是有结果。很显然第二种人更容易获得提拨。

  3. 适当给老板找些麻烦也有好处,这里所谓的找麻烦有两重含义:
    一是,要有自己独立的主见,即当发现明显有问题时还听之任之,只会让老板觉得你没有主见。积极表达自己的观点。当然,这要基于大家都是正直的人,如果你的老板小肚鸡肠,那还是好自为之吧。
    二是,尽量不要让老板的认知范围完全覆盖你的认知。如图2所示,如果这样,你在老板眼里就是个透明人,因为你的所有思考和行动都在他的可预知范围内。所以 在工作场景中用到的知识深度、广度或者其他技能上你要有所长。比如技能上你擅长前端,或者线上运维非常好,又或者思考问题非常全面,再或者逻辑推导能力很 好,图2是一种比较理想的状态。

 

图2 你与主管的知识维度
“当然有种情况也要避免,就是当你掌握的知识如果大于你的老板的话,你可能会觉得老板不如你,但是千万不要忘了,他的推理范围可能还是远远覆盖你,也就是对事情的判断能力,所以也不要过于自大。”

有句话说“跟对好老板是你一生的福气”,的确如此。以我的观察,好老板就是那种情商很高但是内心真正简单透明的人,职场权术有很多,但仅仅靠权术不可能真正获得长久的成功。

***想说的话

不管你是刚走出校园,还是大咖加入新的环境,前期精力都应该放到具体的小事上。先以事服人,再以德服人。

责任编辑:王雪燕 来源: 阿里
相关推荐

2015-04-08 10:57:15

程序员程序员四年经历

2012-07-12 09:31:49

程序员

2016-06-22 10:18:59

联想服务器

2015-04-20 09:50:58

程序员

2017-03-02 09:37:36

PHP程序员成长规划

2014-10-17 18:31:05

PHP

2015-04-14 11:15:18

程序员创业程序员谈创业

2009-02-24 09:58:45

程序员成长开窍

2015-08-18 15:22:59

程序员成长阶段

2017-10-09 15:04:55

程序猿新人

2009-03-20 10:06:21

程序员PHP职场

2012-08-15 10:47:27

2016-12-07 13:34:34

阿里面试Java程序员

2014-09-28 15:13:21

程序员代码行数

2011-05-11 17:49:12

PHP

2013-03-28 15:50:37

程序员Java

2017-12-19 15:17:18

OpenStackEasyStack

2017-09-14 15:08:01

程序员心理思考

2014-08-13 11:11:58

程序员

2012-04-23 14:14:22

编码质量
点赞
收藏

51CTO技术栈公众号