合格的算法工程师哪些能力比较重要?
在人工智能行业中,AI算法工程师是比较重要的职业,想要成为一名合格的算法工程师,是需要具备多种能力的,但因为每个公司对于算法工程师的定义不同,所以细节方面无法具体化。从个人角度来看,以下几点比较重要:
优秀的实现能力:这一点其实已经老生常谈了,算法工程师哪怕是算法科学家都需要有能力把想法变成runnable code。根据团队分工和项目不同,有的需求是只需要证明想法可行,有的是需要一个prototype,有的也可能需要直接推到产品或者上线系统中去。无论是哪种情形,有优秀动手实现能力的同学都会占有巨大的优势,哪怕就算是算法不可行,实现能力强的同学也可以快速试错快速迭代。这样的能力无论何时在何团队都会是宝贵的。除此之外,实现能力不仅仅局限于写出来,写的快,还应该包括写得好,写得美。把代码写得简洁易于维护,可能并不会直接帮助到算法研发,但是从长期来说,这是在一个周期较长的项目中保持效率很重要的一点。
对前沿进展保持追踪:算法工程师不同于其他职位的工程师,最起码在现在这个阶段技术迭代的速度是以月为单位的。所以保持前沿的追踪是非常有必要的。但不同于做科研,算法工程师了解前沿的目的不一定是要在此基础上继续开拓创新,而是能对已有的技术深入理解,去伪存真,以便更好地在业务中为我所用。当然对待新技术也不应该盲从,而应该看清想清之后再动手。最好能有同事朋友针对paper进行讨论和critique。
扎实的计算机原理基础:不了解算法部署的平台谈研发高效的算法就像是空中楼阁。虽然这可能在初级算法的研发中并不明显,但是会成为很多同学进阶中的一道坎。这一点对于非科班转行来做算法的同学尤甚。相比于应试教育式的学习,更重要的是理解系统为什么被设计成了现在这个样子,在这样的过程中做了什么样的取舍,以及作为上层用户这样的取舍对算法设计意味着什么。所以不用担心,补习工作中所需要的知识,这个工作量是远比学习一遍本科计算机专业课要小很多的。