26个回答

新技术不断发展,什么样的工作对程序员来说有价值?应届生求职应该关注什么才能找到一份好工作?

HR凯蒂
36个点赞 👍

谢邀。

今年是我工作的第十年了,在这十年里,我换过技术栈,甚至换过行业,不过始终在技术一线。混得不算厉害,但也算过得去;同时,身边有人年纪轻轻就身居高位,也有人失业。看了这问题,也让我不得不思考工作选择对未来发展的影响。

据我观察,职业道路走得顺畅的人,在毕业第一份工作时奠定了优势。不过时过境迁,现在的毕业生不能照抄十年前我们选择职业的思路了。在当下选择职业,要考虑更多因素了,其中最重要且逃不过的一个因素是:职业是否有被AI等新技术取代的风险。

毕竟我们看到,大模型能力太强了,AI甚至能写代码了。因此有人觉得程序员的工作,不就是编写代码来取代自己吗?是否程序员的解决方案项目,正在杀死技术人员,也就是程序员在干掉自己?那么,程序员现在是否是个容易被取代的工作?

我个人认为,程序员的工作依然具有价值,仍有不可替代的地方。其实程序员的工作不仅仅是根据需求写代码,还要根据业务的动态变化设计不同的方案,这是AI无法替代的。

技术发展日新月异,人的需求也在不断变化,每年都有新的技术出现。虽然我现在做人工智能,但我毕业那会人工智能还是很冷门的。作为程序员,保持终身学习能力很重要,但人的精力是有限的,追求最新技术永无止境,得在学习技术,应用技术的过程中,有自己的沉淀。

在我当程序员这些年,有走过弯路,也做过一些让我有价值感的产品。例如在上一份工作中,我开发的信贷风控机器学习模型,让客户每个月比之前减少数百万美元的坏账。虽然技术上不算高深,但能把技术转化为实际价值,还是让我看到了程序员工作的重要性。

因此,我也在之前的回答里,总结过我这些年工作的一些心得。


我认为,程序员的工作,不是仅仅写代码,而是提供符合需求的解决方案,并且让客户理解这个方案。因此除了技术方面,我认为程序员还需要增强自己业务层面和软实力方面的能力。

而这两方面的能力,都不是靠刷题能练出来的,只能在实际工作中锻炼。因此,应届生需要找到一份有意义的工作,它不仅能让你技术得到进步,而且还能让你的综合能力得到增强。

因此,能让我们成长的工作,我认为是既有纵向发展空间(即技术的深度),也有横向发展空间(软技能,做事的方法论等)

如果你看重技术氛围,想挑个技术氛围好的公司,可以去网上看看各公司评价,去Github看看各大公司对开源项目参与度,各公司发表论文以及引用情况,以及在网上或者校友中找到相应公司的员工,问他们对当前公司看法。

即使在最近互联网热度消退的情况下,我还是推荐互联网行业的工作,因为互联网行业无论在开源社区,还是在产品方面,都产出挺多。因为在互联网行业,不仅仅有各大名校的技术大牛带你,而且最重要的是你有直面用户的机会,你有跨部门合作的机会,你有影响万亿级别用户的机会。

所以,面试互联网公司,特别是有能力拿到BAT或者行业赛道独角兽的offer,依然是很好的选择。
他们培养机制方面都有较长时间的沉淀,技术方面也有很多机会发挥自己能力,也产生了百度的文心一言,阿里的通义千问等大模型,技术能力还是摆在那里的。

上面也有回答提到了字节跳动,我也用它为举例分析。这些年字节跳动发展还不错,内部也在不断进行技术创新。例如会利用新技术做很多好玩的东西,如最近很火的“AI绘画”,也很快在抖音上落地了,最高峰时期每秒就有1万+使用量。

为啥它的产品总是那么有吸引力?这不仅仅只有技术,更有对用户的洞察,对商业模式的独特思考。而这恰恰都是这些BAT大厂能给应届生提供的平台和锻炼的机会。

除了这些看得见的产品,在底层技术研究上,也有着不少产出。例如个人有了解到的字节高性能Transformer推理库获IPDPS 2023最佳论文奖 ;和英伟达合作开源的CV-CUDA,让推理吞吐量提升了20多倍; 音视频技术上的创新等等,作为一个比较新的互联网公司,字节实际参与技术标准是比较晚的,但还是能在H.266标准贡献上排到全球前三。

技术专业的应届生求职,我建议可以多去搜各公司在行业内获得的技术成果,了解下字节百度阿里腾讯这些大厂的技术优势和成果。

当然,除了互联网行业之外,去一些大型的传统企业的技术部门也是一个不错的选择,传统企业对投入产出更看重,会倒逼技术团队去创造价值;外企当程序员也是不错的选择,有很多跨国部门合作的机会。不过就目前形势而言,我暂不推荐创业公司,除非你对创始人的背景非常有信心。

既然知道要选择怎样的机会了,那么如何准备呢?计算机技术学生想要得到一份有价值的程序员工作,需要掌握什么核心技能呢?根据之前我说的大概分为这几点:

  • 技术能力。对应届生而言,精通某个技术不太现实,但我们可以研究当前招聘所需技术栈,提前做做功课;如果你投数据工程师,可以研究下spark等大数据框架;如果你投算法工程师,那就要多研究常用的算法,甚至手动实现一遍。当然,多刷leetcode也是非常有帮助的,毕竟互联网公司校招时都会考点算法题。
  • 业务理解能力。如果JD上有写什么部门,那么你可以先了解这个部门是干啥的,很多公司的官网都会有相应介绍,比如字节上的JD基本都有团队介绍,你先了解清楚团队和岗位需求,再做针对性准备,让面试官看到你是有备而来。例如你去面试某电商团队,你可以说自己研究过一些广告业务的指标,了解如何通过模型优化某个指标。
  • 软技能。包括沟通能力、感染力等等,让面试官看到你清晰的思路。你可以采用一些常见的分析框架,例如5W2H,SWAT分析等等,让面试官更清楚你想表达的内容。


说到这里再总结一下。程序员在选工作时,要要看重公司的技术氛围,找相关人员了解下公司内部对技术创新的鼓励程度,以及将技术落地的能力;同时,看看这个公司是否能提供一个大平台让自己有机会做一些影响更多人的工作。
最后依然是那句老话:选择大于努力。多和学长和前辈交流,或者看看技术社区的经验分享,提升自己的认知,为未来几十年的职业发展迈出漂亮的第一步。

编辑于 2023-07-28 13:55・IP 属地广东
真诚赞赏,手留余香
还没有人赞赏,快来当第一个赞赏的人吧!
桔了个仔
自由评论 (0)
分享
Copyright © 2022 GreatFire.org