算法工程师是做什么的(程序员40

作者|木东居士来源|数据_工程最近看了Milter的文章《算法工程师需要哪些工程能力?,所以写了一篇关于算法工程师技术能力的文章,和大家分享一下外行人对算法工程师技术能力的看法。对于一个优秀的算法工程师来说,他(她)不仅要有过硬的技术能力,还要有深厚的业务理解能力和...

作者|木东居士

来源|数据_工程

最近看了Milter的文章《算法工程师需要哪些工程能力?,所以写了一篇关于算法工程师技术能力的文章,和大家分享一下外行人对算法工程师技术能力的看法。

对于一个优秀的算法工程师来说,他(她)不仅要有过硬的技术能力,还要有深厚的业务理解能力和对外沟通能力。总之要求可以很高!

但从职责和能力的划分来看,算法工程师首先是工程师,所以本文主要讨论工程能力的要求。

在开始之前,先放一张思维导图,这将是本文要分享的核心内容:

工程能力概述

算法工程师,从名字就可以看出,一个算法工程师首先要具备算法和工程的能力,我们可以认为这是基本的技术能力。随着开源技术的普及,Sklearn、Tensorflow、Spark ML基本成为了大多数算法工程师的标准工具库。所以切换包的熟练能力也决定了一个算法工程师能否快速实现需求。

其次,在真实的生产环境中,算法的实现会遇到各种业务场景和数据环境,这也需要算法工程师具备流水线构建的能力,将整个生产环境中的数据流和模型连接起来。同时,在生产环境中,还会有各种“疑难杂症”等着你去解释,比如为什么实验结果特别差?为什么模型不稳定?这就需要算法工程师具备一定的数据分析能力。

很多时候,你会发现,你花在数据分析和管道建设上的精力,可能会占据你工作内容的80%以上。

当你具备以上能力的时候,你已经可以称自己为算法工程师了。此时,你可以得瑟地对着数据分析:“你看,我可以搭建整个模型的流水线,而你只能得到别人提供的数据,然后进行打包调整。””或者,你可以去找开发者得瑟:“你看,我懂很多算法。只能写代码。"

炫耀完了,我们回到正题。算法工程师只有这个能力就够了吗?当然,答案是不够的。因为不同的公司有不同的团队成熟度,不同的工具和流程成熟度,这就会对算法工程师有不同的要求,比如发布模型和开发报告的能力。当然也会有一些其他的能力,虽然可能不是特别重要。但是,在没有人帮你做这些工作的时候,算法工程师可能还是要承担这些工作,比如灰度测试的能力,负载均衡的能力等等。

整理了上面的内容,就是这样一个思维导图(多张图可以加深印象,我再贴一遍)

工程能力的详细说明

一、基础能力

算法能力

能力不多说了。算法工程师的基本能力要求一个算法工程师不懂算法是不合理的。在这里,外行也把统计学的内容放进去。

编程能力

编程能力主要分为两部分:

Python、C++、Java等编程语言是算法工程师需要了解的主流编程语言。一般掌握其中一种就够了,具体看不同的公司。Sql是通用能力。Sql也是编程语言,但是数据处理最常用的语言!非常好用。在大数据场景下,你应该知道Hive Sql。

包裹传送能力

虽然大家都会取笑包夏,但是说实话,能把包改的很好的人不多。比如让自己现在用tensorflow建立一个复杂的网络,如果不能google,可以写吗?你能清楚地记得用法吗?

SklearnTensorflowSpark ML

第二,核心能力

管道建设能力

管道构建能力,这里我想表达更多的是整个数据流的构建能力,数据来自日志-->特征-->模型训练-->反馈,这个链条要完成的能力,会有很多问题需要克服。例如:

以及实时和离线模型一致性?以及离线和实时的特性一致性?实时特征构造的问题?数据延迟的问题?

很多情况下,模型发布等工作可以在其他同学的支持下完成,但数据流的问题更多需要算法工程师来解决。

数据分析能力

这里的数据分析能力不是指业务分析或者业务分析,更多的是指特征分析、算法效果分析以及各种异常问题定位分析的能力。

很多时候,两个算法工程师能力水平的强弱也可以从数据分析能力上看出来。

第三,辅助技术能力

辅助技术能力是指你的影响力不会特别大,但都是有用的能力。尤其是不同公司的发展不一样,很可能一个算法工程师就要做数据接入,数据清洗,算法平台。

还要搞前端,还要负责模型上线和系统运维。

这里就不赘述了。

思考一

谈谈对技术能力、工程能力、数据分析的思考。

按照外行人的个人理解,技术能力更倾向于一个个技术点,而工程能力更多的是做好一个团队的能力。很多算法的工程能力很差,所以他做的一个简单的模型并不能应用到实际生产中,而工程是指将理论投入实际生产的过程。那么项目包括哪些内容呢?包括系统架构设计和模块设计、数据流构建和平台构建、包或算法开发、分布式、在线以及各类落地代码开发。报表和监控,其实本质上就是做数据流,对于边缘的可能还需要一些后台和前端的开发。

那什么是数据分析能力呢?数据分析(不是单纯的数据分析)是除了分析方**和套路之外的一种非常全面且相对软性的能力。比如你通过分析发现我们的系统中有哪些可以优化的地方,通过分析发现问题的原因是什么。这些都是分析能力。

思考2

根据前面的内容,在和Cathy讨论之后,我们对整个思路做了一个新的梳理。直接看图就好,外行人也觉得这个描述可能更合理。

思考三

这是另一种***模型的能力。比如你看了一篇论文,发现这个模型可能非常适合你自己的业务场景,你能不能利用公司现有的平台和工具,快速***出论文中的模型?

外行人觉得这一项是很重要的能力,但是还没想好怎么分。

本文来自离开我后记得微笑投稿,不代表舒华文档立场,如若转载,请注明出处:https://www.chinashuhua.cn/24/537365.html

打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
() 0
上一篇 05-07
下一篇 05-07

相关推荐

  • 华为认证怎么报名费用 华为网络工程师认证考试

    有朋友看了《网络工程师成长日记》作者边肖关于引进华为认证网络工程师的视频,自己也打算从事这方面的工作,所以很多朋友都在问网络工程师的工作,这个华为hcIP 2020年什么时候考?华为认证网络工程师的答案外包给答案中心,可以随时预约华为的答案外包给了一家美国计算机软

    2023-07-18 23:30:01
    308 0
  • 监理工程师教材几本书

    考监理员只要看一看当地监理员培训教材就可以了,考监理工程师要看国家建设出版的四本书工程建设概论投资控制进度控制合同管理这些书书店都有考监理工程师必须是专业工程师才可报名仅供参考。如果把全国监理工程师考试看成是中等水平的岗位测试,那么它的难与不难是相比而言的

    2023-07-03 18:21:01
    622 0
  • 交通部监理工程师报考要求

    2020年监理工程师考试改 革了,取消了原有的报名条件中对中级职称的要求,2020年监理工程师最新报考条件如下一凡遵守中华人民共和国宪法法律法规,具有良好的业务素质和道德品行,具备下列条件之一者,可以申请参加监理。\x0d\x0a四报考监理工程师资格须具有公路水运工程或相

    2023-06-30 03:07:01
    280 0
  • 建筑工程师报考条件是什么

    基本条件1助理工程师初级职称大学本科毕业后从事本工作满一年以上大学专科毕业后从事本专业工作满二年以上中专毕业,从事专业技术工作三年以上高中毕业,从事专业技术工作七年以上初中以下学历人员,从事专业技术。1建筑工程师评定专业是有要求的2高级工程师 高级职称大学本科

    2023-06-13 09:13:01
    342 0

评论列表

联系我们

在线咨询: QQ交谈

邮件:admin@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信