机器学习变得越来越简单,软件工程却走向了相反的道路……

栏目: IT技术 · 发布时间: 4年前

机器学习变得越来越简单,软件工程却走向了相反的道路……

全文共 2004 字,预计学习时长 7 分钟

机器学习变得越来越简单,软件工程却走向了相反的道路……

图源:unsplash

过去的5年里,机器学习变得愈加容易,机器学习 工具 也正在变得愈加“平民化”。而与此同时,软件工程却比以往更复杂了。然而,这对于软件工程师来说是件好事,但对于机器学习(ML)专家来说则不然。

原因何在?事实上,这是机器学习到软件工程,数据科学到数据分析发展的进程。

机器学习工具正愈加“平民化”

谷歌希望每个人都能接触到机器学习模型的训练,不论他们的技术知识如何。随着机器学习大众化,云服务的市场逐渐增长,理解算法的价值则逐渐下降。

很久以前,我们手动编码算法。后来,Sklearn可以在几行代码中完成同样的操作。原始的TensorFlow很难使用,Keras使其变得容易。如今,谷歌、微软和亚马逊都提供服务用以选择、训练和调整云中模型,然后立即在API后提供模型。

可能在不久的将来,人人都可以训练人工智能。但是随着复杂性的降低,对于经验丰富的软件工程师来说,它只是信手拈来的另一个工具而已。

机器学习发展集中于几门语言上

语言的重要性不必多说。你知道COBOL(面向商业的通用语言)吗?如果知道, 便能获得一份终身工作 。世界金融体系依赖于此,然而如今没有人再学习COBOL了。大多数机器学习是 通过 Python 来实现 ,而软件开发则是通过多种语言实现的。

机器学习变得越来越简单,软件工程却走向了相反的道路……

如果每位机器学习工程师都具备使用Python的经验,那么你的竞争对手就是每一位机器学习工程师。但从软件的角度来说,你只会和使用相同技术的部分工程师竞争。

我总是能看到许多高薪的软件工程师(Ruby onRails)职位,这令我很惊讶,这个职位早在几年前就过时了,但是由于历史遗留问题,许多大公司,如Shopify、Instacart、Kickstarter等,仍在使用它。

你确实可以并且应该学习多种语言,这对于能否成为一名优秀的软件工程师来说至关重要。

软件工程需要更多技能

我们总是期待软件工程师对每个方面都至少有一些了解。

机器学习变得越来越简单,软件工程却走向了相反的道路……

快速草图

后端工程师知道浏览器的工作原理,前端工程师也具备一些数据库的概念。两者都能防止如 SQL 注入这样的安全漏洞。对软件有一个整体理解能使改换专业变得更容易,还能帮助构建端到端解决方案。

广泛的技能组合使软件工程师能更好地适应模棱两可的环境。随着需求的增长,软件工程师经常转行到数据科学领域。但反过来,数据科学家则不太可能去开发软件。随着人们开始将机器学习看作硬编码条件逻辑的替代品,更多软件工程师去涉足机器学习领域。

成为有竞争力的全栈开发者需要数年时间

实际上,优化数据库、构建API微服务以及构建响应式前端这三者之间并没有什么共同点。他们可能是由3种不同的语言实现的。这些领域里几乎没有自动化。

与此相比,全栈机器学习工程师正在实现愈加强大的自动机器学习技术(AutoML),笔者可以为此编写一个SOP(标准操作程序),并将训练分类器的任务交给实习生。软件工程技能组各个部分的自动化淘汰还需时日。

(通常)机器学习是产品的补充而非产品本身

机器学习变得越来越简单,软件工程却走向了相反的道路……

图源:unsplash

少数公司将人工智能作为其核心产品,而大多数公司将人工智能作为既有产品的补充。媒体可能会使用机器学习进行文章推荐,但其核心产品是写作或是出版平台。

有趣的是,大多数公司将机器学习用于简单和相似的用例。这使得单个公司很容易将上述用例作为软件及服务(SaaS)产品。再然后,突然之间初创企业不再需要在内部构建它了。

这与极度复杂且定制化的基础设施问题形成对比,亚马逊网络服务(AWS)上没有能在短时间内处理Medium基础设施的现成方案。

基础设施正变得异常复杂

亚马逊云服务(AWS)已经拓展出200多种不同的云服务。Heroku在云中运行应用程序的平台即服务(PaaS)方法很不错,但很昂贵。现在有一个全新的云服务平台来进行管理(网络、数据库、服务器),在这里,一个小失误可能会引发很大的安全隐患。

有一个名为“云工程”的完整开发子集,其任务是使软件在AWS、GCP或者Azure上运行。在小公司中,建设基础设施的任务通常落在高级开发人员的肩上。这个任务很复杂,但也意味着宝贵的工作机会和难以复制的技能。

前端开发正在持续发展

当笔者开始做开发时,还可以用jQuery构建响应式前端。但不久后公司转向了Angular或者React,Angular升级为Angular2(突发的改变),React将类组件转换为功能组件,并加入了hook。以上这些框架/函数库的工作方式完全不同。

一些公司致力于基于模型自动生成前端。但笔者的同事们一致认为,我们距离高质量产品还有很长一段路要走。

机器学习变得越来越简单,软件工程却走向了相反的道路……

图源:unsplash

软件开发十分复杂,但这种复杂性意味着不可替代的技能,这非常有利于就业。广泛的技能组合赋予了人们端到端解决实际问题的能力。为了构建一个能使普通人自行解决问题的社区,软件工程是一个不错的开端。

机器学习该何去何从呢?它仍然拥有一席之地,但显然,解决问题比训练模型更为重要。

机器学习变得越来越简单,软件工程却走向了相反的道路……

推荐阅读专题

机器学习变得越来越简单,软件工程却走向了相反的道路……

机器学习变得越来越简单,软件工程却走向了相反的道路……

机器学习变得越来越简单,软件工程却走向了相反的道路……

机器学习变得越来越简单,软件工程却走向了相反的道路……

机器学习变得越来越简单,软件工程却走向了相反的道路……

留言点赞发个朋友圈

我们一起分享AI学习与发展的干货

编译组:贺宇、苏牧辰

相关链接:

https://towardsdatascience.com/machine-learning-is-getting-easier-software-engineering-is-still-hard-d4e8320bc046

如转载,请后台留言,遵守转载规范

推荐文章阅读


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

软件研发之道

软件研发之道

Jim McCarthy、Michele McCarthy / 赵 俐、石华耀 / 人民邮电出版社 / 2011-8 / 45.00元

Jim McCarlthy等的《软件研发之道 微软开发团队的经验法则》叙述 了微软Visual C++开发团队的故事,通过作者的总结和归纳告诉读者如何 构建一个优秀的软件开发团队,如何在一段时间内成功地交付一个软件。 作为升级版,作者将言简意赅的法则扩展到57条,包括了软件研发及营销 的全部内容,相信每一位项目经理都会对此书爱不释手。 《软件研发之道 微软开......一起来看看 《软件研发之道》 这本书的介绍吧!

SHA 加密
SHA 加密

SHA 加密工具

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具