【职场分享】新人如何打基础 / How to lay the foundation for a new job

在科技公司工作四年半,我从一个新人成长为一个资深工程师,一路上有很多贵人相助,我自己也带了不少新人。有一些工作的感想,会在接下来的几篇博客里跟大家分享一下。下面是第一篇,新人如何打基础。

新人刚开始工作,特别是new grad和junior,最重要的是打基础,熟悉组里的工作,了解技术,提高自己的工程能力。通过加入公司前一两个月跟组里人的1on1、standup等会议,识别组里有实力靠谱且愿意带新人的老人,在一些比较成熟且roadmap清晰的项目开始练手,提升自己的技术能力。

一开始如果可以选,最好能跟着组里的技术大牛做项目。我工作刚开始学java,看了教程之后,就问组里的一个大牛是否能shadow他写code。我看他写,时不时问他点问题,这样一个session下来我能学到很多java的实际应用,耳濡目染best engineering practice,学习熟练使用git、IDE、和公司的一些工具。最重要的是,大牛选的项目或者大牛被安排做的项目,一般都是优先级非常高且目的明确的好项目。新人一开始工作在好项目上加上自己的名字,建立自己的reputation,非常重要。很多时候,大牛之所以是大牛,是因为他们活好手快。有时候跟大牛在一个项目上,大牛可能干了90%的活,作为新人的你只干了10%。只要大牛不在意就行,毕竟大牛手把手教你可能还不如他自己干得快。工作中,手把手教的情况基本不可能,师傅领进门,能从大牛那里学到多少还是得看你自己。大牛愿意分给新人一点缝缝补补的小活,我能干好不出错就是最大的贡献。

如果没有大牛带呢?可以找个小牛,比如组里靠谱的同事。如果新人勤劳自学、积极发问、人善嘴甜,同事一般都会愿意帮带。如果新人自视甚高、不coachable、不善用google/stackoverflow,那估计就很难找到人带了。除了组里的老人,还可以跟老板说想找资深的人做自己的mentor。mentor可以选择的范围就不只限于本组了,有些公司有全公司的mentorship项目,匹配不同经验的员工。主动寻求职业规划、业务、专业上的帮助和指导,是新人能够快速成熟的好品质。

有的new grad一进组就想单挑新项目,我如果是他们的mentor会建议他们先做已有的项目,过段时间再搞新项目,但如果我不是他们的mentor或者他们不过问我的意见,我就只能祝福。有些项目一看就不靠谱,要么就是过于ambitious,要么就是大饼,要么就是research属性太重,上线可能太小。产品组不是科研组,做的项目最终还是要上线的。之前有一个“线下模拟模型评估”的项目,我一开始就觉得项目太复杂,很难做出有效的结果,就算做出来了结果,也未必跟线上的情况一致,还得做线上-线下的相关性分析。这一套下来,没个一两年,基本难有实质的产品进展。项目期间虽然可以做各种research性质的分享交流、demo,但没上线就没impact。我跟老板说我觉得这个项目过于强调线下分析,上线时间不明,但老板想做,新人有激情,我也不能拦着,这项目就给了新人,我主动去了另一个偏向infra的项目。最后那个项目无疾而终,我的项目顺利交付,眼光还可以。

有些项目是老板出于私心想探索的方向,老人觉得是坑不想做,新人容易被忽悠。我刚开始工作的时候,老板跟我1on1的时候问我想不想搞“知识图谱”,研究一下有没有可能把公司的table变成graph数据库。我一腔鸡血,觉得我要有自己的ownership,开拓新业务,吭哧吭哧地搞了几个月,期间还拉组里的一个senior帮我参谋,搞了好几个demo和prototype,甚至联系了知识图谱和数据库的相关从业人员,最后我的结论是,知识图谱对于我们公司业务没什么帮助,各种graph数据库没有现有的sql有用,但老板不认同我的结论,愣是让我接着做,还怀疑我的研究不够深入,对我的能力表示质疑。后来,在senior的帮助和公司其他更高优先级的业务压力下,知识图谱的项目被中断,我去做了另一个更成熟的项目。

不是说产品组不能做research项目,也不是说不能挑战新项目。但新人,特别是new grad,缺乏业务直觉,对项目的难度和所需时间很难有合理的估计,难以预估项目的impact,甚至还没摸清公司和组里的政治氛围,很可能事倍功半。新人在短时间内站稳脚的一个方法,就是出活,而跟着大牛做项目,能够高效地出活,还能从大牛那里学到很多技术之外的软技能,这个以后再聊。

One comment:

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.