入职算法应届生如何成为一个合格有竞争力的算法工程师?

感觉入职后自己在工程上欠缺较大,算法方面对原理和模型理解较为透彻,但是自己单独手撸不出一个模型,能看懂tf 和pytorch 。真心想成为一个合格的算…
关注者
500
被浏览
56,263
登录后你可以
不限量看优质回答私信答主深度交流精彩内容一键收藏

算法工程师,说到底还是工程师,现在你的感觉简单一句话来概括那就是眼高手低(没有贬义)。

不单单算法岗位,一些传统开发岗位也会出现跟你一样的问题,从学校学了设计模式,学了面向对象,数据结构搞了好几年,数学大拿,数据库理论门清,论文好几篇,但是一到生产一线立马不知道从哪里下手,道理懂得一堆堆,一到生产一线就用不出来了。

一般学校里教学,所采取的例子也好,实验也罢,都是为了教学而设置的,而不是为了解决问题。看论文看文献,一般也是理解了,弄懂了,就可以了。学校里做项目也比较偏学术,很多都是老板给出的方案,分解好了,个人做个人的那一块,用什么,到什么指标全是老板说了算。

所以出现眼高手低一般而言是没有养成以结果为导向,探究解决问题的思考能力,而且往往伴随着独立解决问题能力也会稍弱。

解决办法就是从基础的入手,多看多思考多练。

我建议你首先有意识的养成带着问题去构思寻找解决方案的习惯,不要空谈学术,以需求为导向从工作中遇到的最简单例子入手,去解决实际问题,开始独立构思解决方案,构思完解决方案开始动手写,别给自己设限。

自己的解决方案写好了,再去对比下自己的实现方案与已有方案有什么不同,开始看别人的解决方案,这时候你会得到顿悟,为什么他们这么写,我这么写问题在哪里,以及那些是我做的更好的。这种以解决具体问题,然后去重新学习,并且带着问题去学习的方式,会让你很快提高。

慢慢养成一个习惯以目标为导向,解决问题的思路。

假设工作中没有这种机会,可以自己去构思这种项目。但是一定记住不是去先想用什么模型,而是倒过来先去想我要解决什么实际问题,然后再去寻找解决方案,以此来锻炼工程能力。

工程和学术一个很大的差异是,工程上除了算法本身还有有很多辅助的东西,正是这些东西才让学术变成了一个一个产品,而真正具有价值的,是最终的这些产品。

思维上,有意识培养自己全局思考能力,不是只在自己这个岗位,这个点上去思考,而是考虑我手上这个工作在全局是怎样的,全局上为何这样子搞,去理解整体,和上下游。

假设有时间你可以了解一下你岗位的上下游岗位的技术,并且了解下项目中所应用的其他技术,不求精,只求了解即可,如此一来会开拓你的思路,并且能根同事做到一定程度上的换位思考,在工作配合方面也会有帮助。

如果你本身还有精力,还可以适当了解下传统软件工程的一些知识,或者自己动手做个网站、有价值的桌面小工具什么的,看似没什么意义,但是让你体验到一种以结果为导向,寻找解决方案的感觉,并且拓宽你的眼界。很多东西虽然不是本专业的,但是当你掌握后就会发现,里面的道理抽象到一定程度上,实质上是相通的,会让你对已有的知识产生新的认知。


学习一些技术之外的书,比如《人月神话》等等经典书籍,也会对你有帮助。

另外态度上适当躺平一点,因为虽然在算法上,学术上你是大牛,可在工程上你确实就是小白。所以就当自己是新人,以工程的方式,从解决问题角度出发,从头捋一遍,慢慢过渡到工业界。

工程能力这种东西很依赖经验和知识面的拓宽,需要多干多看多累计才能得到。别让自己太焦虑,心态放平和一点,从最简单的做起,一点一点累积实战经验,不要急,不要想着一口吃个胖子,不知不觉你的工程能力就会明显的到提升。

另外你可以考虑写工作日记,以及技术笔记或者技术博客,这对整理思路,巩固提升是有帮助的。


希望能够帮到你。