算法工程师如何在工作中成长

大家好,我是对白。

今天给大家分享一篇好朋友叉烧写的文章,文章中总结了算法新人在职场中该如何快速成长,对于刚毕业的朋友们非常受用,以下为原文。

作为校招中的卷王,如何让自己的光环在工作中持续保持自己的优势,持续学习成长,逐步成为一个完全体技术大牛?我虽不是大牛,但几年的学习成长沉淀下来,也有一些自己的心得,和大家分享一下。

懒人目录:

  • 快速融入

  • 明确自己的发展方向和所需技能点

  • 广度和深度的权衡

  • 不要脱离数据

  • 应对焦虑

  • 工作和生活

  • NLP方向的成长

  • 推荐系统的成长

一、快速融入


开始我想叫熟悉,但是想了想换了一个词,融入,这个可能更好。到了一个新的团队,无论是出于完成工作还是出于个人成长,我们都需要快速融入团队,那么我们需要做些什么呢。

首先是人,很多大佬都喜欢带着新人现在工位上走一遍,带你了解团队,XXX负责什么,同时也让你自我介绍,这是融入团队的第一步,了解团队的内部组成和人员关系,这是后续和他人合作的第一步。

然后是目前工作的现状,整个团队做的主要是什么工作,基本架构什么样的,你所在的小组目前的工作负责什么,在整个架构内的什么位置,现状是什么样的,整体方案是什么,用了哪些方法,后续的规划又是什么,会做哪些事,这些事怎么推进。

再然后就是对你自己未来要做的事情有足够的了解,要做什么,结合你的认知以及先有的现状这件事可以怎么做,预计需要什么资源(时间、人、机器等)。

二、明确自己的发展方向和所需技能点


对于新人,前3年是基础知识和技能的了解和吸收,如果工作合适,那需要做的就是快速了解你所在的领域,然后逐步深入学习。

有所深入,例如我做NLP,尤其是NLU这块,那文本分类、NER、语义相似度之类的常见方法和前沿技术肯定都要了解,丰富自己的武器库,在解决各种问题的时候有足够高的效率,同时对对应任务的数据、常出现的问题要有比较深入的了解,自己一直保持一个习惯,就是每天都要看一些case,专题各有不同,在线的随机query、目前方案做不到的bad case、专题某个领域的专题样本等,所谓的经验其实就是见过一些问题,可以预判会出哪些问题然后知道怎么去解决。

有些广度,了解一些和自己所熟悉的方向接近的事情,甚至还有些深入。例如即使做的是NLP,因为自己做的搜索所以还是要对排序有些了解,如果自己做的对话,那对对话管理一套还是要了解的,技术上,则一些通用的存储和检索工具,如mysql、redis等,甚至到hive、spark一系列的技术,这里就不是局限在“学python还是学c++”的问题了,有时间、有需要随学随用,重要的是不给自己设限,不要认为这是XXX的工作所以我可以不了解,这就限制了自己了。

换个推荐系统的例子吧,大部分学生工作前和工作后的对“推荐系统”的理解差距会非常大,进去前各种模型表征用户行为特性,公平性问题等,但是实际上到了工作中就是“sql boy”,这点NLP也有类似的但是推荐系统尤为明显,主要原因是学校和工程差距大吧,但这是固有的问题,明确回来后就要去开始熟悉和成长,各种数据涉及到的技术要快速掌握,甚至可以专题学习,spark、hadoop等,至于推荐系统需要的技术,现有的项目几乎都有,随便那一段就能学,多和负责这一模块的大佬交流,自然就有了成长,我们应该逐步明白推荐系统不只是有排序,还有试探,还有冷启动,还有物料和用户画像的维护等。

三、广度和深度的权衡


深度让自己能更好的解决一个问题,而广度让自己能解决更多问题。

越是大,流程完整,团队完善的部门,分工会越细致,这几乎是必然的,而我们很可能就是完成一个很细小的部分,同样正常,而从成长的角度,对于一个萌新来说,深度的优先级会高于广度,毕竟交到你手上的就是一个基本、明确的小活,要做好必然要求足够的深度和对问题理解,而长期,要晋升、要成长,局限在深度上就会让你变成一名“熟练工”,缺少整个工程管理、项目管理的“大局观”,此时需要的就是广度了,多了解和自己相关的,不设限,才能逐步拓展自己的视野,让自己能做更多是,能掌控更多事。

四、不能脱离数据


看数据是一个意识,能有这个意识就已经是新的蜕变,毕竟数据是算法的根本:

  • 他是我们深入了解现状的重要窗口。

  • 模型训练的根本,质量和数量直接影响了效果。

因此不要抗拒看数据,有的时候简单分析100条就几分钟就完事了,没有很多时间也没有很枯燥,还能去发现一些之前没想到的有意思的情况(你能想到,语义相似度的数据里居然有这样的pair吗:你好吗-how are you),有足够的数据理解,对于科研是思路的启发,对工作落地那就是技术方案设计的依据了。

但是,真正难的其实应该是分析的思路和角度。同样的实地考察不同人会有不同的结论从而采取了不同的解决方案,很想展开聊,然而可能因为我段位不够,而且问题多种多样,我暂时还没有总结出比较完整的分析方法论,还需要持续修炼吧。

五、应对焦虑


面对全新的环境,已经成熟的大佬,大厂完整的框架,哪怕是同期也有大量的大佬存在,各种媒体还在疯狂地贩卖焦虑,甚至开始有了生活的压力,难免觉得自己在蚍蜉撼树,感到弱小无助,正常,非常正常。

遇到问题就解决问题,核心在于找到问题的根本,如果真的是水平不足那就去学,了解自己该学什么然后就去学,我们需要解决的不是焦虑,而是产生焦虑的那个问题,所谓“釜底抽薪”就是这个意思,找到问题的根本。

焦虑有的时候来源的反而不是事情难,而是问题在眼前却没有解决思路,或者思路混乱,因此我们要做的是什么都别做了,冷静下来,列举自己要做的事,排好优先级,明确方案和计划,然后逐步实施,人的精力有限不能同时完成很多事,因此我们列举清楚按部就班,就会轻松很多,原来高考有老师给我们安排,现在的工作那就自己安排。

而对于解决不了的问题,找PlanB,再不行就降低要求,干不到没办法,那就排解。

六、工作与生活


现在我们这代,我真是没看到过几个能持续每天都准点下班的,哪怕是很多人开始心心念念的公务员、老师。“work life balance”应该是一个大家梦寐以求的东西了。

不太想展开,每个人都有自己过的方式,我只给几个建议吧:

培养至少一个爱好,甚至是嗜好。至少我觉得这是一个让我自己还是一个自然人的标志吧。我自己喜欢打游戏(从怪物猎人太弓锤十多年老粉,海拉鲁大陆无业游民,极地大乱斗职业泉水指挥官)、乐高、写文章。你也可以找到自己的喜好,敦促自己回归生活,享受生活,终点的风景很美,但是沿途的风景也很美。(趁着还没有吞金兽尽情快活)

关心身边的人,父母亲戚、伴侣、朋友,定时沟通,保持交流。

至于工作,我自己是一个弹性比较大的人吧,工作真的来我能拼,干完方休,工作空下来也会抽空早点走(当然6点半是真的少额),很多人聊到OPPO是不是加班很多,至少我的部门并不会(来投简历试试?),多少有些幸运吧,自己其实挺享受这个节奏。

七、NLP方向的成长


感觉可能会有人会要到这个东西,简单给大家列举一下新人可以了解和学习的一些建议吧。

  • 了解1-2个基本任务,知道他的多种方案并且能明确分析他们的区别和应用场景。

  • 会解决问题,能分析出一个目前效果不佳的原因并进行优化(绝对不是调参换模型那么简单!)

  • 性能意识,知道自己用的方法性能是什么样的,是否符合需求。

  • 会基本的数据处理和挖掘,至少能把想法翻译为代码。

  • 大规模预训练语言模型只有很少一部分项目会用到,当然越成熟大团队越可能使用。

工程上:

  • 代码是要会写的,不要问是java、c++还是python,这里需要的不仅是会代码本身,需要的是快速掌握和现炒现卖的能力。(当然系统学习是可以在业余时间补充)

  • 基本的代码会写。

  • 编译、打包、部署。

  • 基本的数据库要懂,mysql、hive、redis等,原理倒是不优先,重要的是会用,会存会取。

八、推荐系统的成长


推荐系统也顺带简单聊一下。

  • 推荐系统是系统工程,不是只有一两个部分就能完成任务的,能尽快了解所在产品的全貌就尽可能快速了解。

  • 多看数据,多看内部已有的策略。

  • 了解1-2个模型任务的特征、离线训练数据构造、训练过程、在线使用的全流程,确保自己能学会。

  • AB实验的指标设计、计划安排。

工程上:

  • 推荐系统大都用java,和上面一样做,没什么好说的。

  • 推荐系统非常依赖数据,因此sql一定一定要熟练掌握,另外spark、hadoop也要懂。

关于我

你好,我是对白,清华计算机硕士毕业,现大厂算法工程师,拿过8家大厂算法岗SSP offer(含特殊计划),薪资40+W-80+W不等。

高中荣获全国数学和化学竞赛二等奖。

本科独立创业五年,两家公司创始人,拿过三百多万元融资(已到账),项目入选南京321高层次创业人才引进计划。创业做过无人机、机器人和互联网教育,保研清华后退居股东。

我每周至少更新三篇原创,分享人工智能前沿算法、创业心得和人生感悟。我正在努力实现人生中的第二个小目标,上方关注后可以加我微信交流。

期待你的关注,我们一起悄悄拔尖,惊艳所有
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员对白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值