算法工程师,顾名思义,如果连算法都过不去,和低版后端工程师没什么区别。尽管工程师是基础,然后是算法,必要的基础开发技能不可或缺,但不同于工程岗位,还需要对算法理论有一些更高的理解。所以今天就来介绍一下作为算法工程师,我们需要具备哪些开发能力。
开发技能
可以简单的完成算法功能,比如一些简单的数据处理、文件操作、特色工程,复杂的是一些自动打标的方法。最好的考试方式其实是应届毕业生考试中的算法题。
大数据技能
如何通过分布式方法实现数据的离线处理,算法处理成千上万甚至更多的数据可以说是家常便饭。使用大数据可以加快数据处理。早期有mapreduce,现在的spark在hadoop生态下也很成熟。这些方法可以用来处理,可以大大提高处理效率。
算法能力
对于某些特定的任务,要逐步有比较完整的认识,一方面是有哪些常用的方法,各种方法的优缺点要比较了解,以命名实体识别为例,要了解CRF、BILSTM、BERT-BILSTM-CRF等常用玩法,每一种玩法的效果、性能、适用范围和改进空间,这些都是非常有用的。擅长一些稳定的任务后,开始了解更多的相关任务,开始升级,文本分类,文本相似度等等,开始慢慢了解。
解决问题的能力。
要成长,我们总是需要从点到面,从慢慢做一份工作的人,到一个能解决问题的人。比如以前有一个领导告诉我该怎么做,怎么做。现在我们应该升级为自己,想出一个适合全局,效果最好的方法。
沉淀能力
对于校招新人来说,工作本身就是成长,需要学会沉淀。这里的沉淀是指有一些自己的工作,可以抽象出来,以后可以用,可以有效提高以后的工作效率,所以很有用。