• 回答数

    2

  • 浏览数

    360

潘潘吃吃吃啊
首页 > 工程师考试 > 算法测试工程师

2个回答 默认排序
  • 默认排序
  • 按时间排序

yuqian1004

已采纳

软件专业的就业前景是很好的,学生毕业后可以从事研发工程师、算法工程师、测试、运维、运营、产品等方面的工作。

软件专业的学生就业前景还是不错的,要是在这个专业上多花功夫,一步一个脚印,熟练掌握相关的专业知识,那么以后出来工作还是会有较大的发展前景的。

作为“朝阳行业”,软件行业的发展虽然受到全球金融危机的影响,但是从目前的形势来看,软件工程专业在未来多年内仍将是就业形势看好的专业。调查显示,软件工程就业率及就业工资水平均居高校各专业前列。这主要源自于软件行业的快速发展和政府经济结构调整而对软件人才的迫切需求。

一、研发工程师

因为软件工程的技术性、专业性较强,也就是大家口中的“程序猿”。如网页上的特效、布局、图片、视频、等内容;网页后端研发主要负责网站后台逻辑,以及数据的保存和读取,比如用户的注册和登录;而软件研发主要针对PC/Mac/安卓/iOS的客户端进行相应的研发。不同类型的研发除了需要掌握不同的程序语言、不同的研发框架和不同的标准外,还都需要很强的逻辑思维能力。

二、算法工程师

算法工程师也是研发工程师的一种,但因为其侧重用代码解决现实生活中的问题,我们把他另做分类。算法工程师又分为图像算法工程师、通信算法工程师、数据挖掘的算法工程师等等,除此之外,也需要掌握特定领域的数据挖掘算法。

三、测试岗

测试是负责把控工程质量的岗位,在理解产品功能要求的前提下,对产品的性能和功能进行测试,检查是否有BUG,测试稳定性兼容性等等。这个岗位对技能的要求低一些,但需要缜密的思维以及良好的沟通能力。

四、运维岗

运维是负责把控工程的正常运行,需要的技术方向有很多种,例如服务监控技术、服务故障管理、服务容量管理、服务性能优化等等。

五、产品岗

产品需要负责根据用户的需求,确定研发哪种产品,选择哪种技术、商业模式等等,并推动相应的产品研发组织。这个岗位更考验对用户体验的理解,用户需求的把握,以及产品设计框架和商业嗅觉,属于综合能力要求较高的岗位

六、运营岗

运营岗主要从事内容建设、用户维护、活动策划、数据分析四个层面来保证产品与用户之间的连接。

算法测试工程师

259 评论(11)

xiaohoulee

最近看了 Milter 的《算法工程师究竟需要哪些工程能力》这篇文章,有所感想,因此也写一篇关于算法工程师的技术能力的问题,和大家分享一下居士关于算法工程师的技术能力的观点。

对于一名优秀的算法工程师,他(她)要具备的不仅仅是出色的技术能力,也要有很深的业务理解能力和对外沟通能力,总之,要求可以很高!

但是,从职责能力的划分上来讲,算法工程师首先是一名工程师,因此本文主要从工程能力要求上进行一些探讨。

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

工程能力概览

算法工程师,从名字上我们就能看出,一名算法工程师首先应该具备算法能力和工程能力,我们可以认为这是基础的技术能力。由于现在开源技术的普及,Sklearn、Tensorflow 和 Spark ML 基本已经成为大部分算法工程师标配的工具库了,因此,熟练的调包能力也是决定了一名算法工程师能否快速实现需求。

其次,在真实的生产环境中,算法的落地会遇到各种各样的业务场景和数据环境,这也要求算法工程师需要具备Pipeline 构建能力,将整个生产环境中的数据流和模型打通。同时,在生产环境中,会出现各种“疑难杂症”等待你去解释,比如说为什么实验效果特别差?为什么模型效果不稳定?这就要要求算法工程师需要具备一定的数据分析能力。

很多时候,你会发现,你用在数据分析和Pipeline构建上的精力可能占据了你8成以上的工作内容。

得瑟完之后,我们还是回归正题,算法工程师只具备这样能力是否已经够了?答案当然是不够的。由于不同公司的团队成熟度不同,工具化和流程的成熟度都不同,这就会对算法工程师有不同的要求,比如说模型发布能力和报表开发能力,当然也会有一些其它能力,虽然可能不是特别重要,但是当这些工作没人帮你做的时候,算法工程师可能依然要承担起这些工作内容,比如说灰度测试的能力、负载均衡的能力等等。

将上面的内容整理后,就是这样一份思维导图了(一张图多看几篇更能加深印象,因此我再贴出来一遍)

工程能力详解

一、基础能力

算法能力

算法能力就不多说了,算法工程师的基本能力要求,不懂算法对于一名算法工程师来讲是不太合理的。这里居士把统计学的内容也放进来了。

编程能力

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

调包能力

大家虽然会调侃调包侠,但是说实话,能调包调的很溜的人,也是不多的,比如说现在让你自己用tensorflow构建一个复杂网络,不能google,你能写出来吗?能记清楚用法吗?

二、核心能力

Pipeline 构建能力

Pipeline构建能力,这里想表达的更多的是整个数据流的构建能力,数据从日志->特征->模型训练->反馈,这一个链条能否完成的能力,这里面会有很多难题需要克服。比如说:

很多时候,模型发布之类的工作是可以由其他同学支持完成,但是数据流这种问题更多的是需要算法工程师来解决的。

数据分析能力

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

很多时候,两个算法工程师能力水平的强弱从数据分析能力上也能窥得一二。

三、辅助技术能力

辅助的技术能力是指,你会不会的影响不会特别大,但是也都是有用的能力,特别是不同公司的发展情况不同,很可能会出现一个算法工程师既要做数据接入、又要做数据清洗、还要做算法平台

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

这里就不再细讲了。

思考一

聊一下对技术能力、工程能力和数据分析的思考。

居士个人的理解,技术能力更多的是偏向于一个一个的技术点,而工程能力更多就是在一个团队中将项目做好的能力。很多算法出身的工程能力不行,那么他做的单纯的一个模型是无法应用到实际生产中的,而工程就是指把理论落地实际生产的过程。那么工程包含了什么?它包括了系统架构设计和模块设计、数据流搭建和平台搭建、调包或算法开发、分布式、上线以及各种落地的代码开发。报表和监控,其实本质也是做数据流,边缘性的可能要做些后台和前端的开发。

然后数据分析能力是什么?数据分析(不是纯粹的数据分析)除了分析方法论和套路外,是一个很综合性、相对偏软一点的能力,比如说你通过分析发现了我们的系统有哪些可以优化的点,通过分析发现了问题的原因是什么,这些都是分析能力。

思考二

针对前面的内容,和 Cathy 讨论后,对整个思路做了新的梳理,大家直接看图就好,居士也认为这样描述可能更为合理。

思考三

这里再补充一个模型复现的能力,比如你看了一篇论文,发现这个模型可能很适合自己的业务场景,那么你是否能力将论文里面的模型快速用公司现有的平台和工具来复现?

居士认为,这一个是一个非常重要的能力,但是没有想好具体该怎样划分。

138 评论(10)

相关问答