写给新人算法工程师

用户头像
峰池
关注
发布于: 2020 年 09 月 28 日
写给新人算法工程师

前段时间在公司内部为新入职的算法工程师同学做了一次分享。我们几个同学一起回答了校招新入职的同学们比较关心的几个问题。除了公司背景比较强的几个问题之外,还是有一些问题还是比较通用的。于是整理一下,希望对刚刚走上这条路的同学有有所帮助。



这篇文章主要希望回答这几个问题:



  1. 入职初期的挑战,以及如何进行克服?

  2. 关于“萌新”心态

  3. 工作之后觉得自己成长最快或者最大的收获是什么?

  4. 最想跟学弟学妹说的一句话



一:入职初期的挑战,以及如何进行克服?



坦白的讲,在入职的时候肯定是有挑战的。我司对于新同学来说,一般来说,在刚入职的一个月基本都是不会有任何产出的。我个人感觉最大的挑战是在于熟悉整体的业务流程,主要是指有非常大量的代码需要熟悉。这对于之前没有大量代码经验或者工程经验的我来说简直就是噩梦。



不知道其他公司的文档建设怎么样。至少在我司,在我刚来的时候,新人文档建设方面做得是比较差的。组内盛传的一句话是:代码是最好的文档。经常你问组内大佬一个业务问题,大佬随手又甩给你一个你之前没见过的代码库,说你看了这个就好了。



遇到问题本身还是没有什么捷径的,就是比别人花费更多的时间去学习努力。此外我还发现,组内资深一点的同学在晚上九十点左右当天的手头的工作差不多结束的时候,是会非常nice的给你讲解你的一些可能非常愚蠢的问题的。这个过程中不要害羞,要勇于开口,不要不好意思。当然要确保自己的问题是自己思考过的,不要问一些简单查一些文档或者Google可以解决的问题。不要把别人的nice当做自己偷懒的理由。



然后自己多做整理。很多同学看到了新人文档建设不全面,自己就开始疯狂抱怨,仿佛这就是新人进入状态慢的理由。我当时的做法是,把自己踩过的坑和询问资深同学得到的结果整理了出来,整理成了我们组第一份比较详细的新人文档,后来的很多同学都是按照我整理的这一套文档熟悉工作的。很多你自己踩过的坑可能是后人们也会踩的,成就他人。同时自己经过整理后的东西,自己的印象也会非常深刻,对整个系统的了解也会更加深刻。



其实做其他工作也是类似,如果看到了现状的不足,不要去抱怨,你能发现的不足,其实也是你的工作可以发挥作用的地方。



二:关于“萌新”心态



很多新入职的同学喜欢以“萌新”身份自居。好像自己做事情比较慢,有bug,不及预期都是符合预期的,毕竟自己是“萌新”嘛。



我其实比较反感新人以“萌新”心态自居。首先大部分新人并不萌。其次,在代码面前,任何人都是平等而严肃的。线上并不会因为你是一个新人而减少出bug的概率。



此外,公司给大家发一样的钱,难道就是为了让你自己在这里“萌”自己么= =其实“萌新”应该也只是自己对自己的定位,组内的其他同学,应该大概率不会把你定位为“萌新”的。自己这段时间在带一个刚刚入职的校招小朋友,我就恨不得他赶紧能成为一个能够独当一面的年轻人。



“萌新”与否的关键在于心态和责任心。如果你觉得自己是个“萌新”,那你可能觉得自己做事情可能就是会欠考虑,有bug等等,线上有问题了自己为什么要去参与。但说白了,所谓的“萌新”也只是业务经验缺乏的年轻人罢了。可以因为不熟悉而工作效率低,可以因为不熟悉而发现问题慢,但如果因此导致自己做事情的完成度上欠缺,那肯定是不符合预期的。



因为不熟悉而慢可以学习,但除此之外,不要因为自己是新人而给自己太多的借口。要勇于承担责任,别人才会放心把工作交给你。



三:工作之后觉得自己成长最快或者最大的收获是什么?



感觉最大的收获在于,不要给自己设限。



无论你入职是在什么岗位,你可能手头有一些自己的本职工作,这些是你肯定要做好的。除了完成自己的本职工作之外,如果看到了有自己不满意的地方,就尽可能的参与改善。同时尽可能拓展自己的眼界,不要给设限。



举个例子,我是做推荐的同学,在众多需要优化的指标中,非常重要的一项就是点击率。但是,推荐返回给用户内容,除了内容本身之外,样式本身也会是影响点击率非常重要的一个因素。如果意识到之前的样式存在什么样的问题或者缺陷,这时候可以主动找产品同学聊,提出自己的一些想法。说不定你对产品的想法的提升甚至会比你手头工作的价值更大。



工作的目标整体上是为了给产品创造出更大的价值,可能你手头的工作的优化是一直在优化局部最优解。但如果你能跳出来,主动获取一些上下游的信息,是可以找到更大的最优解的。比方说,如果你发现了增长的瓶颈其实不在算法,而是在产品设计的某种机制上。你发现了这个现象,并且用数据证明了你这一点是正确的,那说不定就会为公司创造更大的价值。大家常说的有产品sense就是在指这一点。



这些上下游的信息本身不难获取,其实可以主动和组内资深同学进行沟通,或者可以跟跨组的同学多聊两句,其实就可以得到了。



某种程度上,我们虽然是算法工程师,但不要把自己局限于自己非得只能做算法工程师能做的活。本质上,我们是要为公司创造价值的。每一项岗位的职能可能会随着技术的发展发生变化,但是创造价值公司才能收益的整体大逻辑是不变的。解决问题有很长的链路,在这个链路中,任何一环创造了价值,都可以最终影响结果。所以,不要死守着自己的一亩三分地,可以尝试尽可能多的创造价值。这样,才能获得最终价值的提升。



四:最想跟学弟学妹说的几句话



一、成长是自己的事情。这是我司内部非常资深的一位大佬在我们刚刚入职的时候给我们分享中提到的。



什么意思呢?我们需要自己安排时间充电,自己去研究自己感兴趣的东西。我了解到的,公司很多身居高位的大佬周末的时间还会找到最新的paper进行研读。



公司是没有义务既付给你工资,同时还帮助你成长的。如果你的成长不及公司的预期,公司完全可以再找一个更符合预期的人来做创造价值的优化。所以业余时间还是该充电充电。



同时,自身业务经验的积累也很重要,要多做总结。通过总结梳理出来哪里做得好,哪里做的不好。这样积累和沉淀下来,自己的经验也会愈加丰富。



二、不设边界,多多突破自己的舒适区。这一点我其实前文已经提到了挺多了。你要相信公司周围同学,包括你的领导和同学都不是傻子。如果能够为公司创造价值,一定是会获得机会,得到提拔和重用的。



不设边界还体现在,虽然你有自己的本职工作,但你也可以观察周围同学的一些做法,可能是同组的同学,也可以是业务线上相互合作的产品或者服务端同学。他们具体的工作,自己可以做一些思考:如果是自己做同样的工作,会用什么样的方法。可能方法一致,那就可以观察那位同学在做事最终是否work,过程中遇到了哪些问题,怎么样去克服的;可能方法不一致,那么自己的做法是否比他的更好,最终的效果是否可以证实自己的判断。



他人做事的结果,也可以作为自己的经验辅助积累。这样自己成长的速度也会快人一步。



三、做一个靠谱的人。什么叫靠谱?



两层意思:第一层,老板交代的任务可以按时保质保量完成,这是第一层的靠谱。



更高级别的靠谱是,老板交给你一个任务,你搞明白为什么会有这个任务,从这个出发点去考虑,还有什么问题是老板之前给出的思路之中没有包含的。然后你不仅按照老板的意思完成了任务,同时还顺着问题的思路就问题进行了更深刻的思考给出了自己的看法。那就是一个非常靠谱的同学了。



如果大家都认为你是一个靠谱的同学。放心,你的工作和任务会越来越多的。与之相应的,你的级别和等等可能你之前关心的那些“身外之物”也会随之而来的。






你在成长过程中是否也遇到了一些问题呢?欢迎给我留言,我们一起讨论。也欢迎关注我的微信公众号: 峰池 (fengchitalk)。



发布于: 2020 年 09 月 28 日 阅读数: 21
用户头像

峰池

关注

公众号: 峰池 2017.12.01 加入

推荐算法工程师。微信公众号: 峰池(fengchitalk)

评论

发布
暂无评论
写给新人算法工程师