主页 > 工程师回车巷人才网

算法工程师越老越吃香吗?

285 2024-04-30 03:37

一、算法工程师越老越吃香吗?

是的

      算法工程师,就是利用算法处理事物的人,是一个比较高端的职位,是高智商的代表人物。其中,算法是一系列解决问题的清晰指令,也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。不同的算法可能用不同的时间、空间或效率来完成同样的任务,而一个算法的优劣可以用空间复杂度与时间复杂度来衡量。目前,国内从事算法研究的工程师不少,但是高级算法工程师却不多。

        算法工程师是吃青春饭的职业吗?在大家传统的思想观念中,一直认为IT行业都是吃青春饭的,什么大量裁员、中年危机等,都无一不与IT界相关。实际上,算法工程师并不是一个吃青春饭的职业,反而随着经验的累积变得越老越吃香。但是不管什么时候,算法工程师始终要保持高度的敏感性,具备一定的创新性,有很强的想象力和推理能力,还需要具备较强的危机意识,从而不断吸取新的知识技能,毕竟生产在进步,科技在创新。

        算法工程师需要学习什么专业?过来人都知道,算法工程师由于其工作的特殊性,对专业的要求是很高的,一般要求毕业于计算机、电子、通信、数学等相关专业,必须掌握计算机相关知识,熟练使用仿真工具MATLAB等,必须会一门编程语言。另外,算法工程师的英语水平也是要求比较高的,一般要求基本上能阅读国外专业书刊。

        一般来说,算法工程师的研究方向大体可分为视频算法、图像处理算法、音频算法、通信基带算法、信号算法等。随着互联网时代的飞速发展以及人工智能、大数据时代的全面来袭,算法工程师将逐渐向人工智能方向发展,另外,诸如数据挖掘、互联网搜索算法等也成为当今的热门方向。

        有人说,算法工程师是一个可以很简单也可以很复杂的岗位,一个优秀的算法工程师可以处理很多深层次的东西,而一个经验不足的算法工程师可能就只会使用工具包来解决问题。因此,同为算法工程师,就业前景却大不相同。目前,算法工程师整体的就业前景还是比较好的,尤其是在产业结构升级的推动下,大量的传统行业企业都需要进行智能化改造,而这个过程也必然会释放出更多的算法岗位,值得期待。

二、算法工程师是不是一个「越老越吃香」的岗位?

分三个阶段来说吧

初级算法工程师

——关键词:高效执行机器——

算法入行的必经之路,所谓的 SQL Boy、调参侠、数据搬运工、炼丹师,都发生在这个阶段。

这个阶段的算法工程师,很多时候都是在和数据打交道。数据漏报、数据重复上报、埋点有误、多方数据统计口径无法对齐、反作弊口径定义和对齐、异常数据检测和排查、数据缺失处理、样本清洗、特征统计加工、线上指标下降问题排查、bad case 归因分析、数据标注...听起来是不是一点都不 fancy?对于一个负责业务落地的一线算法工程师来说,这些数据工作可能占了日常工作的很大一部分时间。

可就是这些一开始被你看不起的各种所谓 dirty job,这些你在实验室和学校接触不到的工业数据实践,这些在 paper、书本和网络永远不会教你的工作,正是你所累积的技术经验和宝贵的财富,它是驱动你往下一层级改造的主动力。作为一个算法工程师,如果从没有在底层有过基础的开发和数据分析的从业经验,将来站在更高层的时候很难作出对团队方向有利的决策。数据决定了模型的上界,特征和算法只是在逼近这个上界。

不了解你的业务数据特点,很难成为一个好的算法工程师。在业务实践中培养锻炼数据 sense,是一个初级算法工程师的必修课之一。

这个阶段的算法工程师,一般面临的业务问题也比较明确,比如提升召回效果、提升线上 ctr / cvr / gmv / 时长、提升搜索相关性、降低 bad case 率等等。这些明确的业务问题背后,在业界包括团队内一般都有比较明确的技术方向,相对应的就是一些比较明确的算法问题,比如信息流的 ctr 预估、用户兴趣建模、广告出价预估、相关性模型、物品召回、图文标签生成等。

这些不同的算法方向根据团队形态不同,往往会分的更加明细,比如召回方向的可能会有专门的团队,落到每个人头上就是负责其中一种召回策略:用户标签召回、行为序列召回、主题召回、双塔模型召回等。做排序模型的有专门的团队,可能是每个场景有专门的人负责,例如首页/频道页/分类页/热门页/子频道页等;也可能是每个方向的模型是专门的人负责,比如 ctr 模型、gmv 模型、时长模型等。机制策略也可能有专门的团队,每个人负责不同的策略方向。

具体业务和技术形态怎么分工,不需要初级算法工程师操心,那是更高层的算法工程师需要规划和操心的事。这个阶段的算法工程师的主要目标,是要使得自己具备能够高效执行具体任务落地的能力,这其中对动手能力的要求是最高的。

业界XX会议又又发表了一篇影响力很大的paper,实验效果宣称 ( chui niu ) 业界最牛;隔壁XX公司的XX团队又又又发表 ( PR ) 了最新的算法,声称效果提升巨大 ( 可能是 baseline 很低 );著名程序员大型交友网站某 hub 又开源了最新的模型代码,号称在多项任务中吊打当前各种主流模型。于是老大一句话,你去调研下人家怎么做的,回来落地实现下啊。

接下来就是发挥初级算法工程师能力的时候了。看论文、复现模型、跑实验、调参数、魔改网络、效果不好接着调。这个过程其实也是拉开初级算法工程师们能力的时候,有些人只是做到会用工具,调调 api,调调参数改改网络,或者直接 git clone 下载源码编码后改改直接跑,至于能否有效果完全看天,真真是在"炼丹"。最终没效果还要补充一句,论文作者们真的是在吹牛啊,这个算法在我们这里完全没有效果啊。然后换个模型重新炼丹来过。

有些人在这个过程中不断累积经验,尽可能去找这些方法的共性。以 ctr 模型为例,embedding 参数对自己业务数据效果是否敏感、网络层数的深度对效果的影响、不同正则化方法是否 work、bn/ln/dropout 等方法是否有效、当前的特征体系对于高阶特征交叉是否已经刻画足够、attention 到底收益有多大等等。这些如果能从更本质和通用共性的角度去分析总结,大概率在同样的数据分布上可以作为以后的先验判断,经验是可迁移的,不至于在每一次有新的模型出来就去盲目的做尝试。

判断这个阶段的工程师的标准,就是对于一个明确的算法目标,是否具备足够强的执行能力将其落地。初级的落地能力只是快速实现,更加高级和 solid 的落地能力,是能够 know how 的落地,有无效果都能做出比较 solid 的分析,并且能够为以后的迭代优化提供经验。

02

中级算法工程师

——关键词:算法选型和改造能力——

经过了第一阶段之后,对于明确的算法问题已经具备了足够的经验,这个阶段,需要自己根据在这个领域内的技术累积,对已有的算法问题,进行适当的改造和优化。

以用户画像为例,如果是刚搭建的团队,初期可能更多需要搭建的是整个模型框架,和上下游团队协作沟通,以最小的代价迅速搭建起线上可用的基础 baseline。比如最简单的基于统计的方法,根据用户主动行为的物品标签作为用户的统计画像标签,如24小时的统计标签作为短期兴趣,30天的统计标签并做时间衰减作为长期兴趣。这个阶段的算法工程师,如果不顾团队的现状,一上来就想做能够体现技术深度的各种模型,对团队的进展其实是负向的。确保算法能够快速落地并取得收益才是主要目的。

而团队发展到了一定阶段,有了一定的基础属性画像和统计画像之后,可以根据团队的人力做些深度的发展,从基础的统计,可以做无监督的隐语义理解 ( lda, w2c 等 )、有监督的双塔建模、加入特征的用户兴趣建模,到用户序列建模,甚至各种图方法知识图谱的手段。而具体选择哪些方法进行尝试需要中级算法工程师根据此前在初级阶段累积的经验做预判,例如假如还没有用户 embedding 的表示,将用户的行为序列作为 sentence 尝试在很多公司的业务都有过收益的 word2vec 可以作为 baseline;引入更多特征的双塔模型得到用户的行为 embedding 大概率能进一步提升效果。而如果用户有些社交属性关联,可以考虑图方法做进一步的挖掘等等。

作为该方向的负责人,需要根据团队发展阶段,进行合理的技术选型,并做适当的改造。例如该不该用序列模型,lstm、rnn、transormer、bert 等序列模型如何选择,位置特征如何设计融入等等。关于细节的参数调优需要具体执行的初级算法工程师进行实验,而大方向的技术选型以及改造方向,则需要中级算法工程师把握和指导。

技术深度绝对不是考察中级算法工程师的主要手段,判断这个阶段算法工程师的标准,主要是是否具备在某个算法方向,独立承担整个算法从选型、改造、应用到落地取得成果的能力。

03

高级算法工程师

——关键词:业务抽象能力——

前面两个阶段的工程师做的事情,严格意义上来说,都是在执行这个阶段的算法工程师定下来的算法指标。这个阶段的算法工程师,需要更多的是对整个业务的理解,去抽象和定义业务问题。比如当前阶段,业务是否需要专门的团队做用户画像,需要多少的人力做素材理解,rank 模型是否还有空间、需要投入多少人力持续优化等。如果战略目标制定不明确,影响的将是整个团队的努力。

对于更上层的管理层来说,算法团队的存在意义,绝对不是说一定需要有 ctr 预估团队,需要有用户画像团队和视频理解团队,需要有人做 nlp、有人做特征等等。整个算法团队存在的意义,就是能够最终从算法的层面,解决实际的业务问题。在某个阶段需要做的是提升用户点击率,可能需要有 ctr 模型方向团队和有用户画像方向团队等;在某个阶段引入更多的多媒体素材可能需要有团队做视频理解和图像理解;某个阶段需要做用户增长和留存,可能需要有团队做专门的数据分析影响用户留存的因素,有团队做留存模型有团队做增长模型等等。

这也就决定了不同时期,对于算法团队的目标是不同的,需要的人员配备也不同,而这些,都需要高级算法工程师去站在整个业务层面去理解和拆解,然后将目标层层传递到整个团队去。判断这个阶段算法工程师的标准,主要是对于所负责的业务,能否制定合理的算法可达目标,并带领团队完成实现。

04

结束语

——关键词:深耕岗位——

个人觉得,如果35岁了还处在第一阶段,也就是只能执行明确的算法模型,和刚毕业的年轻人比可以说完全没有竞争力,个人职业生涯的进一步发展会很受限。

如果已经进入第二阶段,不可取代性还是很强的,毕竟这个阶段的合理算法技术选型和推动落地能力,是很多刚毕业和工作不久的年轻算法工程师难以做到的。

如果已经到了第三阶段至少已经是业务方向的算法负责人了,都这种 title 了,考虑的是怎么往公司的中上层走了,根本不会担心年龄这种坎。

三、pack工程师越老越吃香吗?

工程师越老越吃香,这可能是真的,因为工程师年老后,他室友很高的价值10万元以上这种高价的养老费,这是他的退休费,这个工资是非常高的。当然我们要想做到工程师那就需要从小打起基基础以后长大了,一定是更好的能力,得到更好的基础和更好的职位。

四、岩土工程师越老越吃香吗?

       土工程师的职业发展方向可以分为两部分:一是在咨询公司,这是未来岩土工程师的主要服务企业。主要负责勘察、试验、设计、检验、监测等相关数据、论证和决策工作。另一个是工程公司,主要负责岩土工程的实施。本专业研究生适合于建筑工程和桥梁工程的岩土工程设计与管理、新理论和新技术的研究与开发、高等教育等。

        此外,由于岩土工程师证书的缺乏,有很多检查,中国的勘察和定期勘察单位,注册岩土工程师的数量只有几万人。你可以想象岩土工程师的工作是多么受欢迎

        然而,整个土木工程领域的收入基本上是相同的,并且在不同的行业可能略有不同。前两年,大多数工作岗位约为7-8万人,国有企业相对较低,可能不是这个数字;熟练工人:约150k-200k;五、六年后,这取决于你自己的运气。也有可能一年赚几百万。

因此,岩土工程师越老越吃香。

五、为什么工程师不是越老越吃香?

为什么工程师不是越老越来越吃香,那是因为现在是处在科技飞速发展的时代,知识更新相当快,一些老工程师跟不上形势的发展,知识结构老化了,己经不适应现在的新科技,工程师不是以经验取胜,凭经验吃饭,是凭要新技术,新知识开展工作的。所以老工程师不一定吃香!

六、pcb设计工程师越老越吃香吗?

设计行业确实是一个需要经验积累,需要不断学习的行业,但是不是和年龄有关,而是需要工作经验和能力的高低来判断,没有能力年龄再大也不行,只能是年龄大经历的多,所以经验多一点而已

七、芯片工艺工程师行业越老越吃香吗?

应该是的。

首先,无论是人才短缺还是入行门槛高,都是当下的客观存在的现状。培养出一个合格的IC设计工程师,至少需要三年,而培养一个优秀的IC设计工程师至少要五年。巨大的时间成本决定了岗位竞争力。

其次,是经验的重要性。软件产品是虚拟,芯片产品是实体。软件的生命周期包含提出、实现、使用维护到停止使用退役几个环节,软件开发出来后可以维护,而芯片生产出来后是很难维护的。

IC所做的产品,本质上就决定了它是没法吃青春饭的。一个小小的错误就能导致芯片流片失败,这不是通过维护就能够解决的,流片失败的损失无法挽回。

经验老到的IC工程师,凭着经验就能看出问题出在哪,凭着经验就知道怎么快速解决。这也就是IC行业经验可贵的一个重要原因,同样也是年龄成熟的工程师难以被替代的原因。

所以IC行业的工程师,绝对可以说“越老越吃香”。

八、软件工程师是越老越吃香吗?

主要看个人能力,如果能力比较强,那么软件工程师可以随着年龄的增长逐渐成为软件架构师,如果个人能力不佳,那么随着年龄的增长,也有可能被公司淘汰。

九、制造业工程师真的越老越吃香吗?

与其相信越老越吃香, 那还不相信只要坚持干一辈子制造业, 来生就能投个好胎,

十、注册安全工程师是不是越老越吃香?

程序员吃的是年轻饭,年轻的时候是学习经验、积攒项目的时候但是等到了一定年纪,就可以通过个人晋升,成为产品经理、项目主管、或者技术顾问总的说来,无论年轻还是年长,都需要实力作支撑,实力才是铁饭碗