这篇内容可能并不是很新的东西,临近年末,该准备明年的计划了,搜易自己也在重新梳理自己的短板和需要提升的地方,今天也给大家讲讲我理解的一些成长和晋升需要的要素和需要做的工作吧。 体现说一下,这里只考虑能力的提升,类似项目管理、领导力等,我可能还得持续学习精炼。 文末我也会把一些我曾经聊过有关方面的内容放出来,大家可以进一步阅读。 算法工程师的能力要谈成长和晋升,首先需要考虑的是能力,需要具备什么能力才能够晋升,这就和考试一样,要考什么知识点,要明确什么,非常重要。 所谓算法工程师,就两个关键点,算法和工程。 算法,其实就是指我们日常做的一系列算法工作,我们要评估的就是“胜任”能力,也就是能完成日常工作的能力,更进一步就是我们要具备能应对未来更多更难任务的能力,能做的事越多越难,我们的等级理应更高,这里我分为了三个方面:
工程,绝大部分的算法是需要处理落地问题的,哪怕是科研型的,我们也需要一手一脚地把这个算法给实现出来,所以工程能力是真的谁都跑不了的。
算法工程师的分类虽说都是算法工程师,有的时候可能还会出现很多类似“数据挖掘工程师”等奇怪的名字,我们先都归为算法吧,来看看算法岗都有那些类型,我主要分为三类,分别是科研型、工程型和业务型,对应重要的技能点其实就是算法、工程,另外还有一个就是业务。
其实可以看到各个岗位会有各自的侧重点,这多少影响自己点技能点的情况,当然日后的要晋升,也可以根据自己的类型重点学习各个技能点。 路线但凡是做工程的,基本都脱离不了这个路线:入门->进阶->管理者。 入门:完成任务。当你能完成一个明确的任务的时候,就可以说你入门了,这个任务是需求明确、方法明确的,尤其是方法明确的,说白了你知道要干什么然后能把这事干好,就算入门,很简单,现在告诉你要做一个文本分类任务,而且和你说要把数据清洗一下然后用textcnn做一遍就OK,这个东西能做明白,就算是入门,做不到就不算入门。 这里有几个细节点:
说着很简单,但这里面是需要大量的基础的,继续以文本分类为例吧。算法上,你要懂textcnn的基本原理,至少也得是这是个啥模型,输入输出是啥得懂,基础的深度学习概念要懂,工程上,主流的pytorch或tensorflow至少要懂一个,没这些积累真干不了。 进阶:熟练工起步当你可以独立的完成一个合理需求的时候,我理解就是进阶了。这里的需求是一个模糊主观的需求,例如“帮我做一个中文情感分析工具”,这里没有方法,只有一个需求点,希望的效果,这里没人告诉你该怎么做,你得自己想,你能很快很好的把这个做出来,就算到达这个新的台阶了。 首先,熟练是必然要求,这点满足不了和入门阶段没有区别,这里的熟练,我想总结为3个点:
这里有的细节点,方案设计,其实能搞定上面说的2、3点,就和懂方案设计很接近了。这篇文章里其实强调了不少,要进阶必须要达到能自己设计的能力,光会完成任务撑死只能是熟练工,要想进阶,到一个新的层次,必须从中跳出来,多做一件事,那就是能想明白自己要怎么做,而不仅仅是做什么,这个思维能力层次才会给你带来新的提升。这也是我为什么说进阶是“熟练工起步”而非“熟练工”本身的原因。 方案设计,继续展开,其根本是设计,是权衡,是选择,这里有几层要求:
高阶:管理者这里的管,我分为管事和管人,管人的机会其实不是很多,但是管事,我们始终要管,我的段位不够,只讲管事,可能也讲的不那么好吧。 进阶阶段是要求完整完成一个需求的,某种程度上已经算管事了,但是到了高阶可能要看的东西要更多,我分为两个视角
战术讲究短期时间的解决,我们的确是希望能短平快地把当前的事情解决,这与上面的方案设计是非常契合的,不再重复。 而战略则是要对长期发展有把握的,我们在用战术解决问题的同时,对先有框架要考虑到未来的可拓展性、可迭代性,对外则是要考虑未来需求和技术发展的态势,我们终究希望自己做的东西能走的远一些,那这些问题肯定是要考虑的,这里非常关键。 应该怎么做给入门者的建议入门之后,自己其实一度陷入很严重的瓶颈,因为一昧地学习方法好像并不能让自己有新的提升,论文没少读,博客也没少看但总感觉自己好像都在做一些同质化的事情,寻求突破必须有一些思路的突破,而不只是更多的模型和方法。
记住,一直聚拢在方法本身,学很多模型,这点并不能让自己突破,毕竟问题下只能用几个方法,学得多不代表就能用了,同时需要注意的是,这里不是让大家不学,而是不能只学。 进阶者培养的思维方式这里讲几个需要具备的思维方式吧,看看自己能不能回答出来。(可以当面试题吗哈哈哈)
|
|