关于职业生涯路径的思考,涉及到一个哲学问题:我从哪里来,要到哪里去?作为一名算法工程师,在职业生涯中一般会面临以下3个阶段的挑战。
这是所有职场人的必经之路。在学校里,导师和学生之间关系相对简单和单纯;而在职场中,会遇到很多复杂的、先前没有接触过的事情。对此,有如下几条建议:
①在正式入职前参加至少一份实习,提前适应职场生活。
②在职场中要保持好奇心,多和资深人士请教交流,少说多看多做。
③在职场中要保持学习力,注重基础知识和能力的积累,并与职场实际问题结合。
④摆正心态,不要嫌弃dirtywork,在小事中也可以积累经验和Credit。
相对于天马行空的想法和研究,想法“落地”更重要一些。近期互联网行业的前沿发展方向,包括Chat-GPT、AIGC等大模型的出现,都是紧贴用户需求和相应产品进行技术创新的产物。近期流行的Chat-GPT,其背后的大语言模型其实很早就出现了,但是由于早期缺乏应用“引爆点”,没能通过产品进行“落地”,因此一直未能得到大规模的应用。作为一名算法工程师,一定要从产品和业务本质出发,去了解并挖掘算法带来的价值。
不断拓展和提升自己的技术能力。以推荐系统为例,需要全栈式了解召回、排序(包括混排和精排)等模型的建模能力,以及SOTA模型的优缺点、顶会前沿模型进展等。
总的来说,Junior工程师的工作更多地偏向任务的执行,而Senior工程师的工作更多地偏向具体的问题思考与解决。例如,某APP的DAU出现下滑,需要找到下滑的原因并提出解决方法。这是个很大的topic,可能是由于某个页面某个场景的转化率比较低所导致,也可能由其他各种复杂的原因导致,这就是一个Senior工程师需要系统考虑的问题。首先通过数据分析定位关键问题,进而设定目标、搭建模型、构建评价指标,进而提出解决方案,最终将问题解决。而在这样的过程中,靠个人往往难以达成目标,需要协调各类外部资源共同完成。
第三个挑战,可能有些工程师已经经历过,但是大部分工程师可能尚未经历,那就是从员工到Leader的转变。这是一个很大的跨越,因为Leader需要带领团队达成目标,因此责任更加重大。另一方面,如今互联网公司管理模式逐渐扁平化,因此留给Leader的岗位其实并不多。如果有幸成为Leader,首先要相信自己,大胆带领团队达成目标。初做Leader,往往会面临一个棘手的问题,就是业务和技术的平衡,这里就涉及到管理的艺术。管理的本质其实离不开三大要素:责、权、钱。“责”代表责任的划分和界定;“权”代表人员工作的安排;“钱”代表对员工的激励机制。
从员工到Leader的转变,是个非常有挑战性的工作,而随着阅历的增长,随着沟通能力的提升,这些能力都会潜移默化地形成。此外,作为Leader,需要不断地向外拓展,最大程度地调动其他团队的资源,而不能只是向内索取甚至压榨。
以上是算法工程师常常面临的3个阶段的挑战,每个阶段都有各自棘手的问题,但同时也都存在相应的解决办法。作为一名算法工程师,在每一个阶段都要有足够的耐心,沉下心来打磨自己,沉淀自己。
算法工程师的职业生涯规划,有3个关键点:
①Vision:做规划之前要看清楚局势,否则可能会做出不正确的规划。
②SelfEvaluation:做规划之前要对自己进行一个全面的自我评估,“知己知彼,百战不殆”,从而选择适合自己的方向进行规划;
③Action:行动起来!规划得再完善,都不如行动来的实际。
对局势的把控,需要做到以下几点:
①首先要保证看得清,清晰地认清当前的局势。
②其次要保证看得全,从更全面的视角审视当前行业的前景。
当然,不同专家基于自己的理解会建立不同的模型,也会有不同的理解。同理,在进行行业的Vision的时候,也要结合自己的认知与专家的理解,全面、综合地分析。
具体到互联网层面,尤其是移动互联网行业层面,可以参考下图。下图是来自QuestMobile的月活跃用户规模。
互联网行业进一步细分成如下赛道:
①早年拼多多、阿里、京东等电商企业使用人海战术,利用补贴得到大规模发展。
②近几年,用户增长空间越来越小,人口红利逐渐消失,因此类似的补贴会越来越少;以双十一为例,近年电商购物企业已不再追求当天GMV成交量,而是更加理性地追求利益的最大化。
③近期电商行业唯一的人口红利可能来自下沉市场,但是增长空间仍然有限。
④因此,电商的未来发展方向会偏向于品质化电商,以及垂直电商。
②社区是个正在发展中的赛道,比较看好未来的发展;对于一些小众的垂直社区,虽然规模不大,但是质量很高。
③社区的发展靠的不是人口红利,更多是靠渗透而非疯狂增长,因此是个可被看好的发展方向。
①游戏赛道的前景是比较看好的,除了国内的游戏业务持续增长,游戏赛道还有一大蓝海在于海外的业务,国内很多游戏运营经验可以移植到海外,这也是腾讯近来的一个业务方向。
②总体来看,游戏赛道不受互联网人口红利的影响,同时又有广阔的海外发展空间,是个比较看好的赛道。
②社交网络的护城河很深,用户很难从原有社交平台轻易迁移到另一社交平台,因为牵扯代价很高,这也是字节跳动多次尝试社交网络业务却始终未能成功的一个原因。
⑤综上所述,社交网络相对发展会比较稳,短期内很难有太大的机遇。
①资讯平台近期同样在走下坡路,用户在一定程度上对资讯平台确实有所依赖,但是依赖的程度并不强烈。
②近两年,资讯平台受到短视频的冲击很大,被短视频抢占了很多的用户市场。
③在这样的背景下,资讯平台将会回归其本质,即分发资讯信息,满足用户特定领域资讯的需求。
④而对于消遣、娱乐、kill-time以及其他长尾信息,用户一般会通过短视频平台获取,这样给资讯平台带来了更大的挑战。
⑤由于资讯平台的介质复杂,规则繁多,监管力度严格,用户众口难调,再加上外界短视频领域的冲击,使得资讯平台的难度“更上一层楼”。
⑥此外,资讯平台也比较依靠人口红利,如今人口红利趋于饱和,进一步限制了资讯平台的发展。
⑦综上所述,资讯平台赛道的选择要谨慎。
①近期短视频的发展如日中天,用户时长最长、用户行为最丰富、用户的正负反馈最密集的产品形态最频繁。
②短视频赛道的数据类型丰富,用户量极大,因此数据潜在价值高,未来发展空间大。
④综上所述,短视频是一个机遇很多、潜力很大的赛道。
①处于左侧曲线爬坡阶段的是新兴的AI技术,技术前景还有待观察。
③处在右侧的曲线说明AI技术已经突破了“泡沫破碎”,展现并沉淀出来AI技术的价值,如果未来几年内结合更好的用户需求和产品应用该技术会“东山再起”。
④曲线右端是AI技术发展最理想的阶段,技术产品化持续带来客观的增长和收入。
近期AIGC非常流行,例如StableDiffusion、Midjourney等AI绘画工具。Chat-GPT出现也颠覆了CV和NLP领域的很多模型,体现出了大模型极强的产品力。很多工程师担心这类大模型的出现会对算法工程师,甚至对全人类构成威胁,实际上距离“威胁”还有很远的距离,通用人工智能(AGI)的实现还有很长的路要走,无论是AI作画还是ChatGPT,算法暂时还不具备逻辑和意识能力。一项技术发展到一定阶段,遇到一个好的产品idea,一定会爆发,因此不管是AI作画还是ChatGPT,背后都有用户需求和产品idea做支撑。由此带来的启示是:技术和业务永不分家,只有充分了解业务,才能将算法技术带来的价值最大化。
自动驾驶是个比较看好的方向,其旨在解决一个终极问题:如何实现道路交通流量最优化。自动驾驶分为很多层级的目标,最先要实现的是“单车智能”,目前已经有很多公司做到了令人比较满意的效果,如特斯拉自动驾驶。在国外,FSD自动驾驶已经做到比较成熟的阶段;而在国内,无论是新锐车企的小鹏,还是独立第三方平台百度Apollo等第一梯队的自动驾驶企业的自动驾驶技术也日趋成熟。自动驾驶本身就是个产品,辅助甚至取代人,在一定程度上解放人工,让人觉得更安全。综上所述,自动驾驶这一赛道潜力巨大、前景明朗,而且该方向的愿景也很伟大,因此是个值得考虑的方向。
CV和NLP是传统深度学习的两大主流研究方向,可类比于基础学科中的物理和化学,是很多AI模型的基石。CV解决的是“我看到了什么”,NLP解决的是“我听到和说了什么”。如果将CV和NLP这两个方向攻克,机器将会更好地学习和理解人类,具备了很多“通感”能力。因此,CV和NLP这两个方向是常青的,特别是AI作画和Chat-GPT产品idea的爆发,会反过来促进CV和NLP领域的发展。综上所述,CV和NLP是值得持续深耕的两个方向。
除了提升Vision层面的理解外,还要充分地做好自我评估。自我评估主要从3个维度考虑:
自己最擅长的点往往并不是自己所判断的,一般可以参考过往的工作经历中哪一部分真正得到了其他人的认可。别人印象中的自己和自己眼中的自己可能会不太一样,而自己擅长的东西一定是来自别人认可的东西。
找到自己的兴趣点是非常重要的。每个人都有自己的迷茫时期,这样的时期还是更多要Followyourheart,找到属于自己内心真正感兴趣的领域。
规划做得再详尽,最终还是要通过行动来落实。
行动的第一步是明确自己的行动路径:
①如果只有短期规划而缺乏长期规划,则计划达成之后容易陷入迷茫。
②如果只有长期规划而缺乏短期规划,则容易变成空想家,缺乏实践落地的方式,长期规划会变得遥不可及。
③一定要将短期规划和长期规划结合起来作为自己的行动路径;。
①以前文所述的职业生涯挑战2(从Junior到Senior)为例,工程师在大厂获得了职级的提升(例如从阿里P7逐步升到P9),而该职级背后应该具备的能力,是需要工程师内心非常清楚的。
②成长的本质就是经历4个阶段:
a)Troubleshooter-解决琐碎的问题:能够解决足够琐碎的问题,才能有能力去解决更大的问题。
b)ProblemSolver-系统性解决一类问题:以某APPDAU下滑为例,如果能够把DAU下滑的问题分析路径拆解清楚并给出相应的解决方案,那么就从Troubleshooter阶段成长到了ProblemSolver阶段。
c)GrowthHacker-带领团队向正确的方向前进:更进一步,将所有的DAU下滑原因分析清楚并一一加以解决,就已经具备了带领APP团队实现DAU增长的能力。
d)BusinessPilot-业务领路人:当成长成为一个业务领路人,就会有足够的能力和权限去决定资源和方向。
③明确自身成长路径,比明确P5或P8这样的职级更具指导意义。
作为算法工程师,过硬的技术是先决条件:
①强大的工程开发能力:作为一名工程师,开发能力是最基本的能力。
②扎实的机器学习原理:机器学习的原理具有普适性,会引领一些分析思路,同时机器学习也是深度学习模型以及更大模型的基础。
③顶会和尖端方向跟踪:虽然学术界顶会的方向和工业界的方向未必同步,但是学术界的尖端方向往往能够给工业界提供解决思路的启发。
④行业中的“最佳实践”:每一名工程师都需要在各自行业中积累适用于特定场景的“最佳实践”,通过积累和沉淀逐步形成宝贵的行业经验。
所有的计划,最终都要靠执行力来落地,因此强大的执行力以及自驱力是非常必要的。
其实不仅职场,在很多领域都是如此:将心态调整好,很多事情最终都会迎刃而解。良好的心态主要包括如下几个部分:
沟通协作要聚焦在少数几个关键问题的解决上,从而减少无意义的会议。
作为算法工程师,一定要往前多走一步。多了解产品和运营团队的诉求,站在对方的角度考虑问题。要有“补位思维”,和产品、运营等其他合作伙伴协作前进,各自取长补短,最终协作将事情做成。不要排斥甚至对抗产品、运营团队提出的诉求;也不要因为对方的经验不够丰富、考虑不够周全等原因而忽略对方的一些idea,从而错过一个产品落地的机会。
面对棘手的问题时,不妨尝试清零心态,抛弃固有思维模式,重新思考业务的核心。卸下固有包袱,可能就会觉得眼下的问题实际上可能并没有那么复杂,是可以逐步得到解决的。
互联网行业普遍压力较大,业内竞争非常残酷,因此要保持一颗强大的心,从容面对困难和挑战,不要被外界所干扰
家庭的关系非常重要,“家和万事兴”,多陪伴家人是很重要的事情。
工作只是生活中的一部分,因此还是要更好地平衡工作和生活,做到高效工作、用心生活。
建议每个人都能够发展一两样属于自己的兴趣爱好,让大脑换一种方式运转,对状态的放松是非常有帮助的。
本文重点讲述了3个部分:
①职场三个重要阶段所面临的挑战。
②如何做好规划:Vision,自我评估,行动起来。
③明确路径,打磨技术,积极心态,处理好重要关系。
A1:这个问题就涉及到前文所述的“心态”问题:“不以物喜,不以己悲”。“35岁问题”其实每个人都会面临,这个是由环境和市场决定的;而我们决定不了外界,但是能够决定自己;因此努力做好自己,一切都不会差的。至于是否有必要深耕钻研,关键还是在于自己的职业规划方向,以及自己深耕钻研的方向和程度。如果希望走工程师这个发展路径,那还是有必要在自己的领域持续深耕的,夯实基础,对未来会很有帮助;此外,还要考虑业务和管理方向的扩展,正如文中所提到的“T型人才”。综上所述,“35岁是否被优化”这个问题的决定权不在自己,与其焦虑,不如不断提升个人能力,让自己在职场中更加积极和主动。
A2:一方面,大语言模型利用足够量级的训练数据确实产生奇幻的效果;但是另一方面,大模型的发展其实离不开产品的“包装”,抛掉产品的“外衣”,其本质还是一个经典的算法模型,只不过参数量级巨大,训练语料更丰富。大模型的主要优势还是在于训练数据更多,并融入了部分强化学习的算法,将数据训练的每一个细节做到极致。因此,对于算法工程师而言,无需太过焦虑,而是积极看待这些大模型:首先,大模型给整个AI算法行业带来了“提振”,即从资本层面得到市场的广泛认可;其次,大模型给算法工程师们指明了方向,即将产品、业务和技术结合才能找到出路。至于利用AI模型自动写代码,可以将其看作生产力的辅助,而不会取代人。
A3:任何一项技术,都可以分成器,术,法,道这4个level。一般人可能更多处于器和术这个层面:使用很fancy的模型,使用各种trick来调参,最终达到较为满意的效果;而高手往往已经经历过这两个层面,发现这两个层面虽然能解决一部分实际的问题,但是不能解决一些更高层次的问题,这里就涉及到道和法,涉及到更深层次的本质问题。以推荐为例,如何提升用户满意度这类问题:因为用户满意度的刻画是相对主观的,如何将其拆解成若干个客观的、可量化的指标,这个很考验算法工程师的功力。举一个具体例子:CTR是个常用的指标,在一定程度上可以衡量出用户的满意度;但是如果仅仅优化CTR这个单一目标,则可能会带来大量的“标题党”;因此,需要借助其他指标来平衡这个问题;而指标的选择,一方面需要经验的积累,另一方面也需要对业务的深刻理解,这就涉及到法和道这一层面。因此,要理性看待“级别”,回归本质:我们作为算法工程师,要做的是用工程能力来解决实际的问题从而带来价值,而不是“炫技”玩模型;能够高效解决问题,才是对公司最大的价值。
A6:算法赛道的切换,首先要进行自我评估,对自己的兴趣和优势有个准确、全面的认识,比如自己是更喜欢钻研模型方法还是更喜欢解决业务问题,比如在3年的大厂经验中有没有哪个细分方向足够擅长和精通;此外,还要考虑哪些发展方向天然具有竞争力,比如文中提到的自动驾驶方向就是个有竞争力的方向,未来可期而且接近落地。一般来说,由于推荐算法直接对接业务,因此推荐算法工程师的业务敏感度会比较强,因此转行到各个方向都很容易成为解决问题的好手。
A7:大厂可能会对院校和学历有较高的要求,但是入职参与业务之后,更多的还是依靠个人能力;普通院校学生可以多争取实习机会,积累更多项目经验,不用过多在乎学校出身。
A10:如果一个行业足够内卷,竞争压力很大,那学历问题还是无法逃避的;如果学校和学历不占优势,则可以通过增加项目经验的方式来“曲线救国”。社招方面,企业方确实更多看重过往的经验,希望引入候选人过往的工作经验来赋能公司眼下的业务;其次也要考察候选人的基础素质,包括自驱力、学习力、思考方式、coding能力等。对于职场中转变方向,可以先考虑在从公司内部转变方向,给自己争取到一个尝试期和过渡期。
A11:从工程化的角度来看,Hadoop、SQL等确实是数据的底层架构;但是作为算法工程师,更应该从产品和业务方向寻求突破,而不是深耕和优化底层结构。
A12:其实好的老板应该更多地向外拓展而非向内压榨。如果不幸遇到这种习惯于向内压榨的老板,可以反向引导老板向外看看;勤于沟通,了解老板的痛点,做好向上管理工作。此外,如果真的老板不好相处,无法沟通,而工作内容又不擅长、不感兴趣,且工作不能带来满意的收入甚至影响自己的生活,那么还是建议换一份工作。
A13:搜广推更加贴近业务,而NLP是个相对基础的方向。近年来,搜广推的业务发展已经较为成熟,而NLP方向则面临着一大难题,就是难以实现产品化落地。如果能够从业务角度找到良好的落地方向,可以尝试NLP;否则还是建议搜广推。总之,搜广推领域会有现成的业务应用课题,只需要使用算法来“解题”即可;而NLP领域相反,原始问题非常简单,然而答案非常复杂。
A14:门槛是有的,具体要看个人基础和切换方向。例如,如果是搜广推内部切换,难度相对较小;而如果是CV/NLP和搜广推之间的切换,则难度相对较大。因此,工作期间切换算法方向还是有很大成本的,尤其是社招更加看重过往经验。不过,如果自身综合素质较强,学习力、自驱力都很优秀,而公司的业务刚好需要这样的人才,也会有很多这样切换方向的机会。如果确定自己要切换方向,则需要选好路径、做好计划并持续行动。
A16:首先需要明确“吃力”的关键是在于阅读paper还是在于解决业务问题。从业前期难免会有迷茫期、挫败期和焦虑期,这种情况因人而异,因此很难做出明确的回答,更多的还是在于Followyourheart,找到自身的兴趣和优势。
A17:数据挖掘是更加基础的技术,推荐算法是更上层的应用;推荐算法中会用到很多数据挖掘的技术。
A18:3年经验一般能够达到准senior水平,对应阿里的P7,以及腾讯的9级水平;进一步发展2年,一般可以达到阿里P8或腾讯10级的水平。