工程能力详解
一、基础能力
算法能力
算法能力就不多说了,算法工程师的基本能力要求,不懂算法对于一名算法工程师来讲是不太合理的。这里居士把统计学的内容也放进来了。
编程能力
编程能力主要分为两部分:
Python、C++、Java这类编程语言,这三种也是算法工程师需要了解的主流编程语言,一般掌握其一就够,看不同公司。
Sql就是很通用的能力了,Sql也是一门编程语言,而是是数据处理最常用的语言!
很好用。
大数据场景下,要了解Hive Sql。
调包能力
大家虽然会调侃调包侠,但是说实话,能调包调的很溜的人,也是不多的,比如说现在让你自己用tensorflow构建一个复杂网络,不能google,你能写出来吗?能记清楚用法吗?
Sklearn
Tensorflow
Spark ML
二、核心能力
Pipeline 构建能力
Pipeline构建能力,这里想表达的更多的是整个数据流的构建能力,数据从日志->特征->模型训练->反馈,这一个链条能否完成的能力,这里面会有很多难题需要克服。比如说:
实时和离线模型一致性问题?
离线和实时特征一致性问题?
实时特征构建的问题?
数据延迟的问题?
很多时候,模型发布之类的工作是可以由其他同学支持完成,但是数据流这种问题更多的是需要算法工程师来解决的。
数据分析能力
这里的数据分析能力不是指商业分析或者业务分析,更多的是指特征分析、算法效果分析和各种异常问题定位分析的能力。
很多时候,两个算法工程师能力水平的强弱从数据分析能力上也能窥得一二。
三、辅助技术能力
辅助的技术能力是指,你会不会的影响不会特别大,但是也都是有用的能力,特别是不同公司的发展情况不同,很可能会出现一个算法工程师既要做数据接入、又要做数据清洗、还要做算法平台
也要搞前端、还要负责模型上线、系统运维。