![算法工程师应该具备哪些工程能力?](http://img.jiangsulong.com/220405/092512A01-0.jpg)
文章插图
作者 | 木东居士最近看了 Milter 的《算法工程师究竟需要哪些工程能力》这篇文章,有所感想,因此也写一篇关于算法工程师的技术能力的问题,和大家分享一下居士关于算法工程师的技术能力的观点 。
来源 | Data_Engineering
对于一名优秀的算法工程师,他(她)要具备的不仅仅是出色的技术能力,也要有很深的业务理解能力和对外沟通能力,总之,要求可以很高!
但是,从职责能力的划分上来讲,算法工程师首先是一名工程师,因此本文主要从工程能力要求上进行一些探讨 。
开始之前先放一份思维导图,这将是这篇文章要分享的核心内容:
![算法工程师应该具备哪些工程能力?](http://img.jiangsulong.com/220405/0925122196-1.jpg)
文章插图
工程能力概览
算法工程师,从名字上我们就能看出,一名算法工程师首先应该具备算法能力和工程能力,我们可以认为这是基础的技术能力 。由于现在开源技术的普及,Sklearn、Tensorflow 和 Spark ML 基本已经成为大部分算法工程师标配的工具库了,因此,熟练的调包能力也是决定了一名算法工程师能否快速实现需求 。
其次,在真实的生产环境中,算法的落地会遇到各种各样的业务场景和数据环境,这也要求算法工程师需要具备Pipeline 构建能力,将整个生产环境中的数据流和模型打通 。同时,在生产环境中,会出现各种“疑难杂症”等待你去解释,比如说为什么实验效果特别差?为什么模型效果不稳定?这就要要求算法工程师需要具备一定的数据分析能力 。
很多时候,你会发现,你用在数据分析和Pipeline构建上的精力可能占据了你8成以上的工作内容 。
当你具备了上面的能力时,你已经可以称自己是一名算法工程师了 。此时,你可以去对着数据分析小得瑟一下:“你看,我能构建整个模型的Pipeline,你却只能拿到别人提供的数据后调调包吧 。“或者,你也可以去找开发得瑟:”你看,我懂了很多算法哦,你就只会写代码吧 。“得瑟完之后,我们还是回归正题,算法工程师只具备这样能力是否已经够了?答案当然是不够的 。由于不同公司的团队成熟度不同,工具化和流程的成熟度都不同,这就会对算法工程师有不同的要求,比如说模型发布能力和报表开发能力,当然也会有一些其它能力,虽然可能不是特别重要,但是当这些工作没人帮你做的时候,算法工程师可能依然要承担起这些工作内容,比如说灰度测试的能力、负载均衡的能力等等 。
将上面的内容整理后,就是这样一份思维导图了(一张图多看几篇更能加深印象,因此我再贴出来一遍)
![算法工程师应该具备哪些工程能力?](http://img.jiangsulong.com/220405/0925122196-1.jpg)
文章插图
工程能力详解
【算法工程师应该具备哪些工程能力?】一、基础能力
算法能力
算法能力就不多说了,算法工程师的基本能力要求,不懂算法对于一名算法工程师来讲是不太合理的 。这里居士把统计学的内容也放进来了 。
编程能力
编程能力主要分为两部分:
- Python、C++、JAVA这类编程语言,这三种也是算法工程师需要了解的主流编程语言,一般掌握其一就够,看不同公司 。
- Sql就是很通用的能力了,Sql也是一门编程语言,而是是数据处理最常用的语言!
- 很好用 。
- 大数据场景下,要了解Hive Sql 。
大家虽然会调侃调包侠,但是说实话,能调包调的很溜的人,也是不多的,比如说现在让你自己用tensorflow构建一个复杂网络,不能google,你能写出来吗?能记清楚用法吗?
- Sklearn
- Tensorflow
- Spark ML
Pipeline 构建能力
Pipeline构建能力,这里想表达的更多的是整个数据流的构建能力,数据从日志->特征->模型训练->反馈,这一个链条能否完成的能力,这里面会有很多难题需要克服 。比如说:
- 实时和离线模型一致性问题?
- 离线和实时特征一致性问题?
- 实时特征构建的问题?
- 数据延迟的问题?
数据分析能力
这里的数据分析能力不是指商业分析或者业务分析,更多的是指特征分析、算法效果分析和各种异常问题定位分析的能力 。
推荐阅读
- 影响未来的十大算法之一:机器学习与数据挖掘的PageRank算法
- 川字纹怎么消除,注意方法
- 老鸡应该煲什么汤?
- 玉米秸秆还田作业标准 玉米秸秆还田应该注意什么
- 真正的喝茶方式应该是这样的
- 一个令人惊艳的算法——布隆过滤器
- 细说老年人耳朵嗡嗡响什么原因,应该怎么办
- 外景婚纱照拍摄场地应该如何选择
- 不经常带隐形眼镜应该买日抛好还是月抛好 新手日抛隐形眼镜带得舒服吗
- 第一次拍婚纱照姿势应该如何摆放