计算机硕,是走算法岗还是开发岗?
咳咳煮啵说句可能得罪人的话——这个问题本身就问错了。不是说这个问题不重要而是大部分人在问这个问题的时候脑子里的决策框架就是拧的。他们把”算法”和”开发”想象成两条泾渭分明的路然后试图在岔路口做一个一劳永逸的选择。but这两条路的实际样貌跟大部分在校生想象的差距非常大。煮啵自己也纠结过这个问题纠结了大半年中间跟十几个已经工作的师兄师姐深聊过也跟实习时的mentor反复讨论过。最后发现这个问题的答案不在于”哪条路更好”而在于”你到底了不了解这两条路的真实面貌”。大部分人的纠结本质上是信息不足导致的。一旦信息补齐了选择其实没那么难。所以这篇回答煮啵不打算给你一个结论而是把煮啵收集到的信息尽量客观地摊开。你看完之后自己会有判断。一、先拆掉几个最常见的幻觉吧煮啵发现身边同学在讨论这个问题的时候有几个根深蒂固的认知偏差如果不拆掉这些东西后面的讨论没法进行。幻觉一”算法岗薪资碾压开发岗”这大概是流传最广的一个说法了。两三年前可能是对的。那个时候算法岗刚火起来供需严重失衡确实存在明显的薪资溢价。现在的情况是什么样的煮啵找工作的师兄师姐给我的反馈比较一致头部公司的校招薪资同级别的算法岗和开发岗差距已经没有那么大了。 白菜档基本在一个区间SP档也差不多。真正拉开差距的不是”算法vs开发”这个标签而是你具体做什么方向、进了什么团队、个人能力到什么水平。甚至有些方向的开发岗薪资比一般算法岗还高——比如做基础架构的、做高性能计算的、做系统底层的。这些岗位技术门槛高、能做的人少供需关系决定了它的定价。而算法岗这边由于过去几年涌入了太多人很多细分方向已经严重供过于求了。传统推荐、传统NLP、传统CV的算法岗竞争激烈程度远超大部分开发岗。一个很简单的经济学道理薪资不是由岗位名称决定的是由供需关系决定的。 当所有人都觉得算法岗高薪然后一窝蜂涌进去的时候供需关系就已经在反转了。幻觉二”算法岗做的是高大上的研究开发岗做的是搬砖”这个刻板印象伤害性极大。先说算法岗的实际工作内容。煮啵实习时的mentor跟我说过一句话我记到现在“你以为算法工程师的日常是读paper、想idea、做实验。实际上大部分时间在干什么处理数据、查特征、调参数、排查线上问题、跟产品经理开会对需求。真正’做算法’的时间可能不到30%。”煮啵一开始以为他在夸张后来自己实习了一段时间发现他说的是保守的。算法岗的工作尤其是在业务团队里的算法岗有大量的工作是工程性质的——写数据pipeline、做特征工程、搭训练框架、优化模型推理速度、跟工程团队联调上线。这些工作跟”开发”有什么本质区别说实话没有。再说开发岗。很多人觉得开发就是”增删改查”“写业务逻辑”“纯搬砖”。这对一部分开发岗来说确实是事实。但还有一大批开发岗的技术含量和创造性一点不比算法岗低分布式系统设计数据库内核开发编译器和语言运行时操作系统和虚拟化高性能网络和存储大模型的推理引擎和训练框架这些方向的技术深度说句不好听的比很多算法岗”调包调参发paper”的工作要深得多。做这些方向的工程师在业界的稀缺度和受尊重程度一点不亚于算法工程师。“算法研究开发搬砖”这个二分法是对两个岗位最大的误解。 两条路上都有高端玩法和低端玩法关键看你做到什么层次。幻觉三”选了就不能换了”很多人纠结的底层焦虑是万一选错了怎么办实际情况是算法和开发之间的转换远没有想象中那么难。算法转开发的案例非常多——很多人做了两三年算法发现自己更喜欢工程转到了架构或者平台开发岗转得很顺利。因为做算法的过程中积累的工程能力是实打实的再加上对业务和模型的理解反而成了一种独特的竞争力。开发转算法稍微难一点但也不是不可能。尤其是现在大模型时代很多做推理框架、做模型部署、做MLOps的岗位本身就处在算法和开发的交叉地带是一个很好的过渡区域。职业选择不是在悬崖边上走钢丝更像是在一片开阔地上选方向——你随时可以调整角度。 起步阶段选一个大致正确的方向就行不用追求最优解。二、两条路的真实画像幻觉拆完了现在煮啵来画一画两条路的真实样子。以下信息主要来自跟已经工作的师兄师姐的交流加上煮啵自己实习期间的观察尽量客观叭。算法岗你需要知道的真相算法岗的分化非常严重。 不同方向、不同公司、不同团队的算法岗工作内容和体验可以天差地别。笼统地讨论”算法岗好不好”几乎没有意义必须具体到方向和场景。煮啵大致把算法岗分成下面几类第一类业务算法这是最多的一类包括推荐算法、搜索算法、广告算法、风控算法等。工作内容的核心是在已有的技术框架下做业务指标的优化——涨点击率、涨转化率、降风险。day-to-day的工作中”算法创新”占的比例不大更多的是数据分析、特征工程、调参、AB测试、跟业务方沟通需求。这类岗位的优点是业务价值明确做出成果容易被看到。缺点是技术天花板来得比较快——做到一定程度之后能优化的空间越来越小容易陷入”内卷指标”的循环。而且煮啵说句现实的话这类岗位的可替代性在上升。随着AutoML和大模型的发展很多传统的特征工程、模型调优工作正在被自动化。第二类平台/框架算法做推荐系统的底层框架、做模型训练平台、做特征平台等。这类岗位其实是”算法工程”的混合体需要同时理解算法原理和系统设计。技术天花板高做得好的人在业界非常抢手。第三类前沿探索/研究做大模型预训练、做多模态、做强化学习等比较前沿的方向。这类岗位最接近大家想象中”算法岗”的样子——读paper、做实验、探索新方法。但这类岗位的数量在整个算法岗中占比很小而且竞争极其激烈通常要求顶会论文或者非常强的研究背景。另外一个现实是即使是做前沿探索的团队也需要大量的工程工作来支撑实验。你不会每天都在想idea你也需要写训练代码、处理数据、排查分布式训练的bug。算法岗的整体趋势是纯”算法”的部分在萎缩”算法工程”的部分在扩大。 如果你选算法岗是因为”不想写太多工程代码”那你大概率会失望。开发岗另一片被低估的天地开发岗的分化同样严重甚至比算法岗更严重。煮啵也大致分几类第一类业务开发后端开发、前端开发、客户端开发核心工作是实现产品需求。不回避地说这类岗位中确实有一部分工作偏重复性。但即使是业务开发做到高级别之后也需要很强的系统设计能力——高并发、高可用、复杂业务逻辑的抽象和建模。架构师这个角色基本都是从资深业务开发中成长出来的。第二类基础架构/系统开发做分布式存储、做消息队列、做容器编排、做数据库内核等。这类岗位技术门槛非常高需要深入理解操作系统、网络、存储等底层知识。做这个方向的人在业界极其稀缺薪资水平一点不低职业生命周期也很长——因为底层系统的知识不像上层框架那样更新换代那么快。第三类AI基础设施这是近几年冒出来的一个新方向做大模型的推理引擎、训练框架、GPU调度、模型部署优化等。这个方向煮啵特别想单独说一下因为它正好处在”算法”和”开发”的交叉点上而且需求正在爆发。做这个方向需要同时懂模型原理至少要理解Transformer的计算流程和底层系统CUDA编程、内存管理、分布式通信。这种复合背景的人非常少所以供需关系决定了它的薪资和发展前景都很好。如果你问煮啵现在什么方向性价比最高、最不容易被卷——AI基础设施是煮啵会认真考虑的选项之一。开发岗的核心竞争力是深度的系统理解 扎实的工程能力。 这两样东西不会因为某个框架的更迭而过时也不会因为AI的发展而被替代——恰恰相反AI越发展对底层基础设施的需求越大。三、真正应该想清楚的几个问题说到这里你可能会说道理我都懂了但我到底该选哪个煮啵没法替你选但可以给你几个帮助你自己做判断的问题。这几个问题是煮啵纠结那大半年里最终帮煮啵理清思路的东西。问题一你享受的到底是什么这个问题听起来很虚但其实很实际。你回忆一下过去做过的项目、课程、实验哪些时刻你是真的觉得有意思、做完有成就感的如果你最享受的是”想出一个巧妙的方法来提升模型效果”——你可能更适合算法如果你最享受的是”把一个系统从零搭起来跑通了”——你可能更适合开发如果你最享受的是”用数据分析发现了一个有趣的pattern”——你可能更适合数据相关的方向如果你发现你都挺喜欢的——恭喜你你的选择空间很大选哪个都不会太差不要小看这种直觉层面的偏好。工作是要做几十年的事情选一个你干起来不觉得太痛苦的方向比选一个”看起来前景好”但干起来想死的方向重要得多。煮啵见过不少人因为”算法岗薪资高”选了算法结果天天跟数据和实验较劲的时候痛苦得要命——他们骨子里是喜欢搭系统、写工程代码的人被强行塞到了一个不适合自己的位置上。问题二你目前的积累在哪一边更厚这个问题更现实一些。盘点一下你现在手里有什么牌你发过论文吗什么级别你的项目经历偏算法还是偏工程你的编程功底怎么样系统知识操作系统、网络、数据库扎实吗你的数学底子怎么样概率统计、优化理论这些东西如果你手里的牌明显偏向某一边那至少在秋招这个时间节点上顺着你的积累走是阻力最小的路径。这不意味着你未来不能转。但秋招是一个时间窗口非常紧的博弈——你只有几个月的准备期在这几个月里从零补齐另一条路的短板风险很高。煮啵听过一个让我印象很深的案例。一个师兄本科和硕士期间一直做的是系统方向的研究发的论文也是系统方向的工程能力非常强。但秋招的时候看到算法岗薪资高临时转去投算法岗。结果面试的时候项目经历讲不出算法深度手撕模型推导也不够熟练最后算法岗没拿到好offer开发岗又因为准备不充分错过了最佳投递期。两头不讨好。如果他一开始就坚定走开发以他的系统功底拿到基础架构方向的SP大概率不成问题。秋招不是重新投胎的机会是把你过去几年积累变现的窗口。 在这个窗口里扬长比补短的ROI高得多。问题三你对”不确定性”的承受能力如何这个角度很少有人提但煮啵觉得挺关键的。算法岗和开发岗有一个本质性的差异不在于技术内容而在于工作成果的确定性。开发岗的工作大部分时候目标是明确的——需求文档写了要做什么功能你做出来能跑通就是完成了。当然复杂系统的设计有很多不确定性但整体来说”做了就有产出”的确定性比较高。算法岗不一样。尤其是偏探索性质的算法工作你可能花了两周调研一个方向、花了两周实现、花了一周训练——最后发现效果不好白干了。然后换一个方向再来一轮可能又白干了。这种”努力了但没有结果”的体验在算法岗的日常中非常常见。有些人觉得这很刺激——终于做出效果的那一刻特别有成就感。有些人觉得这很折磨——连续几周没有产出的焦虑让他们非常难受。你是哪种人认真想想。这不是”抗压能力强不强”的问题。这是性格底色的问题。有些人天生就更适应不确定性有些人天生就更需要确定感。没有高下之分但选一条跟自己性格匹配的路长期来看幸福感会差很多。问题四你看的是三年还是十年最后一个问题也是最难回答的一个。如果你只看未来三年那现在的市场热度、薪资水平、岗位数量是重要的参考。从这个维度看算法和开发各有各的热门方向很难说谁绝对更好。但如果你把视线拉到十年甚至更长——技术岗位的长期价值取决于两个东西你积累的能力是否可迁移以及你所在的方向是否有持续的需求。从这个角度看煮啵的一个观察是底层的、系统性的能力分布式系统设计、性能优化、系统架构生命周期非常长。二十年前懂操作系统原理的人值钱今天依然值钱。因为不管上层应用怎么变底层的原理和挑战是相对稳定的。而跟特定技术热点绑定的能力某个特定模型的调优经验、某个特定框架的使用经验生命周期就短得多。几年前会调XGBoost的人是香饽饽现在这个技能的溢价已经很低了。算法岗中如果你做的是跟基础原理强相关的研究比如优化理论、学习理论知识的半衰期很长。如果你做的是偏应用层的调参调模型知识的半衰期就比较短。开发岗也是同理。做CRUD的业务开发知识半衰期短。做底层系统的开发知识半衰期长。所以真正该问的不是”算法还是开发”而是”我选的具体方向积累下来的能力十年后还值不值钱”四、再说一些过来人告诉我的大实话叭这些是煮啵在收集信息的过程中听到的一些原话来自不同背景、不同岗位的师兄师姐。每一句都让我想了很久。原话引用不做修饰。一个在某大厂做了三年推荐算法的师兄“说实话我现在的工作跟’算法’关系已经不大了。大部分时间在做特征工程和数据分析。真正的模型创新在我们这个业务场景下空间很小因为线上系统太复杂了你改一个模型结构可能牵一发而动全身。所以大部分优化都是在数据和特征层面做的。你问我后悔选算法吗不后悔但如果重新选一次我可能会选一个跟系统更近的方向。”一个做基础架构的师姐“当初选开发的时候我爸妈都觉得我傻说现在AI多火你为什么不做算法。现在回头看我的选择是对的。我做的分布式存储方向这几年因为大模型对数据基础设施的需求爆增反而变得更吃香了。而且我积累的系统能力是通用的不管上面跑的是什么模型什么业务底下都需要我做的这些东西。”一个算法转开发的师兄“我做了两年CV算法发现自己其实更喜欢搞工程。转到做模型部署和推理优化之后反而找到了热情。而且我发现有算法背景的工程师在做AI基础设施的时候是有优势的——你知道模型是怎么回事知道哪些优化对算法效果有影响哪些没有。纯做系统的人有时候缺这个视角。”一个做后端开发的师兄很坦诚“说实话纯业务开发做久了确实会遇到天花板。如果你做的业务本身不够复杂技术上的成长空间是有限的。我的建议是如果选开发尽量选技术挑战大的方向或者团队。业务开发不是不好但你得确保自己不是在重复劳动。”五、如果你实在还是选不出来写到这里如果你看完了还是觉得”两边都有道理我还是选不出来”——那煮啵给一个可能不太常规的建议找一段实习去亲身体验一下。纸上谈兵永远不如亲自下场。你在网上看一百个帖子分析算法岗和开发岗的优劣不如自己去做两三个月切实感受一下。很多东西是只有身在其中才能感知到的——团队氛围、工作节奏、日常接触到的问题类型、你做完一天工作之后的情绪状态。这些微妙的体感比任何理性分析都更能帮你做出正确的选择。如果时间允许最理想的情况是算法和开发各实习一段。我知道这个建议有点奢侈不是每个人都有这个条件。但如果你有机会强烈建议你这么做。如果只能实习一次选你现在更倾向的那个方向。如果体验下来觉得对就坚定走下去如果体验下来觉得不对你至少知道了”这条路不适合我”——这个信息本身就极其宝贵。六、说回煮啵自己最后说说煮啵自己的选择。纠结了大半年之后煮啵目前的倾向是偏算法的方向但不是那种纯做模型的算法岗而是偏”算法系统”交叉的方向——比如大模型的高效推理、RAG系统的工程化落地这类。原因很私人第一煮啵确实对模型和算法本身有兴趣读paper和做实验的过程对煮啵来说不算痛苦第二煮啵意识到自己的工程能力也不差咳咳可能有点自恋哈哈哈纯做算法浪费了这部分积累第三交叉方向的供需关系目前比较健康不像纯算法那么卷。但这只是煮啵的情况。你的背景、性格、积累跟煮啵不同你的最优解也一定跟煮啵不同。煮啵唯一确信的一件事是不管你选哪条路最终决定你走多远的不是”选了哪条路”而是”在这条路上做到了什么深度”。算法岗里有混日子的开发岗里也有做到顶尖的。反过来也一样。选一个你不排斥的方向然后用力做深。这比在岔路口反复纠结有价值得多。以上。断断续续写了好几天中间实验室的活还一直没停写得比较碎但尽量把逻辑串完整了。作为一个自己都还没秋招过的人来聊这个话题肯定有很多片面的地方。已经上岸的前辈如果觉得哪里说得有偏差真心希望在评论区指正煮啵会认真看哈哈哈。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2458324.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!