在上古时代(大约2016年以前吧),算法开发和工程开发是泾渭分明的两个职业,算法开发负责算法模块开发(包括算法的模型也包括工程部署),工程开发负责后端工程开发,但是随着深度学习、人工智能等方向的火热,算法工程师水涨船高,年薪百万轻轻松松不是梦,但后端工程依然是那个后端工程师,依然苦哈哈地干着工程的活。但是慢慢的老板发现不对劲了,高贵珍稀金贵的年薪百万的算法enginee居然还干着工程的活,这不是大材小用嘛,杀鸡焉用牛刀!!为了减轻算法工程师的负担,提高算法开发的效率(节约成本!),于是算法工程开发的职业就应运而生了。
算法工程的职责是啥?上承接算法相关的策略落地,下对接算法模型的部署,中负责算法相关产品的服务出口(说人话:给算法打杂的)。作为一个设立之初就是给算法同学打配合的职位,注定是没啥话语权和独立性的。算法给什么,算法工程就得用什么;算法要什么,算法工程就得给什么;算法要往东,算法工程就绝对不能往西;所谓工作内容(讨饭生活),不外如是。
然而人如果没有梦想,和咸鱼也没啥区别,在服务算法的基础上,如何提高工程迭代效率,如何保障工程质量,如何缩短算法问题排查路径,如何实现算法工程的可解释性等等,如何具有前瞻性的设计和开发算法工程系统等等问题,依然是一个具有挑战性的问题。