以下
文
章来源于微信公众号:
DataFunTalk
作者:
王喆
链接:
https://zhuanlan.zhihu.com/p/599887666
本文仅用于学术分享,如有侵权,请联系
后
台作删文处理
本期分享嘉宾王喆,清华计算机系毕业,AMiner早期贡献者,现任某大厂算法技术经理,曾任Roku、Hulu等流媒体公司Tech Lead,著有《深度学习推荐系统》等畅销书,发起多项开源项目。本文将结合自身丰富经验,分享算法工程师的职业发展路径与实战心得。
算法工程师是一份怎样的职业
算法工程师定义
算法工程师是一个在
客观环境限制和明确的业务目标指引
下,利用自己的
算法和工程技术能力解决问题
的职业。
对自己职业属性的正确理解是在这个赛道上发展的基础,错误的认知带来错误的行为,进而带来不符合预期的结果。
-
小A来自业界最知名的大公司,则他一定是一个成功的工程师吗?
-
不一定,他的客观环境发生了变化。历史的工作经验是一个较好的参考标准,但它不是一个充分必要条件;
-
小A在之前的公司能够成功,不代表着在新的公司环境下也能成功;
-
他在大公司能成功,不代表着能在中型或者创业的公司能成功;
3. 算法和工程技术能力(能力)
4. 解决问题(本质)
-
小E模型创新强,思路灵活,模型试验效果很好,他是成功的算法工程师吗?
-
要分情况看待。若要解决的问题是降本增效,利润上岸,但工程师将模型复杂化,从而大幅增加了机器成本,虽有业务收益,但也有限,这显然不是一个成功的工程师应该坚持的方向。
算法工程师职业发展的几个重要阶段
1. 夯实技术基础阶段(工作1-3年)
b. 不要局限自己的技术栈,算法工程师必须要熟练所有工程和模型相关的工具(模型训练/领域知识/数据流/模型服务/特征工程/线上服务);
c. 不要过分纠结哪家公司好,哪个团队好,哪个业务好;
d. 不要为之后的发展埋坑,哪怕慢一点,也要夯实自己的技术基础。
2. 解决业务问题阶段(工作4-5年)
a. 利用技术解决问题,把技术转化成生产力和业务收益;
b. “业务sense”要好,基于业务场景做技术选型;
c. 技术是武器,不是目的,除非业务收益本身就是技术创新(比如OpenAI,或大多数技术中台部门)。
3. 提升软实力阶段(工作6-8年)
a. 硬实力依靠努力基本都能提升,软实力不一定,绝大多数工程师卡在这一步;
b. 一个人的核心素质是其在职场,甚至人生路上能否走得更远的关键。
a. 如果真正能渡过以上三个阶段,第四阶段水到渠成;
b. 从技术角度扩大影响力(架构师),从业务和管理角度扩大影响力(技术管理)。
鸡汤时刻:你本身处在哪个阶段,几乎跟你的工作年限没有关系,只跟你的绝对实力和认知水平有关系。
算法工程师的核心素质
2. 细心和责任心
a. 治大国如烹小鲜,项目能够成功也来源于一个个细节的完成;
b. 细节是魔鬼,一个成功项目的收益往往只来源于一个关键点的提升。
3. 分析与发现
a. 建立分析-实现-反馈的解决问题闭环的能力;
b. 不要指望别人告诉你具体怎么做,要通过主动思考发现怎么做。
4. 开放与合作
a. 要学会如何跟人打交道,联合大家的力量把事情做成;
b. 一个人的领导力大部分基于你能否给别人信心和力量;
c. 要正确面对职场的阴暗面,潜规则是存在的,但大部分阴暗面都是你的精神内耗。
鸡汤时刻:越发展到最后,就越应该关注自身的核心素质提升。换个角度来说,你在职场中做的每一件事情、完成的每一个项目、本身都没有那么重要,这些事情和项目给你带来的核心素质的提升才重要,这些核心素质将跟随你一辈子,谁也抢不走,换不掉
。
技术or管理,路线如何抉择
技术路线和管理路线如何抉择?
1. 职业发展的目标要以提升自己在职业发展的阶段和核心素质为首要目标,职级和职位应该是附带属性;
2. 比较高阶的技术职位和管理职位大部分是业务需要或者团队变化的需求。该类职位并非可以追求得到,需要将重心回到核心素质的提升上,让自己符合候选人的条件;
3. 一般来说,机会的数量大于合适的人选数,大部人是因为自身的各种原因,无法承载机会;
4. 本质来说,高阶的技术架构师和技术经理在核心素质上的要求没有区别,缺乏沟通合作的能力的架构师和技术基础薄弱的技术经理都会被淘汰;
5. 管理路线的天花板相对较高,但跳槽难度更大,业务压力更高,在目前中美互联网的大环境下,被淘汰的概率更大。
鸡汤时刻:掌控好你能掌控的部分,其他只需等待机会。事实是绝大部分人无法掌控好自己可以掌控的部分。
如何挑选行业和公司
如何挑选行业和公司?
问题:站在2023年中这个时间点,你对互联网行业如何判断?
你会加入大模型,量化投资这些近期比较火的方向,还是倾向于传统的搜广推方向。
-
大模型对于搜广推的影响是不一样的。对于广告的影响应该是相对较少一些,它对广告的影响应该是限于素材生成;可能会优化CTR 或者 CVR模型,但不会完全替代掉两个模型。
-
se未来每个公司可能都会搭建一个私有的大模型。大量的用户历史行为数据,属于公司的私有财产,不可能完全给到通用的大模型;
-
通用大模型作为一个赢家通吃的行业,未来可能会存留下少数1到3个公司,由于其对成本要求高,不是小的创业公司可以玩得起的,从而相关从业者会非常受限,核心人才圈子可能就几百人得规模。但可能会有一批进行分领域的大模型适配的从业者。
职业发展和个人成长
如何处理职业发展和个人成长关系
1. 要找到更偏内核的东西,优化它,而不是把目光永远放在表层的目标上。
2. 要正确理解35岁危机到底是什么原因带来的
-
年龄仅仅是一个相关因素,不是因果因素。
-
只有提升不可替代的核心素质,才能渡过所谓的35岁危机
-
例子一:公司有一个国际化项目,需要你跨语言,跨时区协调国际化团队
-
例子二:公司有一个风险很大的新项目,需要一个综合素质很强,核心素质很好的工程师打头阵
3. 不要长期的过度用力,如果有的话,选择主动退出
-
工作仅仅是你生活的一部分,对你整个人生来说,重要性更低;
-
钱的多少,房子的大小,城市是否繁华,都不是人生的必然要素,只有你的幸福感是你应该尽力争取的;
-
要正确分辨幸福感是来自于外界还是内心,要学会去追求多样性的幸福感;
-
只有关键时段的过度用力是必要且值得的。
可持续or不可持续发展
职场的提升路径是一个闭环,不要为了达成项目成功而过分加班超额投入,这是不可持续的。
准备读研做算法方向的建议
推荐算法工程师如何体现自己的业务价值?
若发现业务提升点,就可以组织产品相关的运营、自己的领导,主动推进这个事情,这将对于你自身的能力提升以及团队对于你的认知都是非常有利的。
面试中怎么体现项目的拆解和分析?
通常面试官会让面试者现场去解决一个虚构的或现实中存在的业务问题,考察业务sense。例如:
-
广告主体验的问题
-
推荐系统中冷启动的问题
-
转化延迟的问题
-
在数据缺失情况下的模型优化问题
可以考察分析和解决问题的思路,把业务拆解后转化为合适的算法进行落地的能力。
一般的解决问题的思路是把高维降为低维,把复杂降为简单,把不确定性降低为低确定性,把低确定性降低为确定性。在这个过程中需要大量的数据的分析和业务的理解。