众所周知,近年来,随着人工智能的兴起,人工智能工程师变成抢手的人才。大家都对各种人工智能的岗位好奇憧憬,本文介绍了如何从一名软件工程师如何转型为人工智能工程师。
本文最初发表在 DZone,经原作者 Andrew Zola 授权,InfoQ 中文站翻译并分享。
人工智能技术已经存在几十年。然而,直到大约十年前,人们才真正意识到它的潜力。从那时起,全球对人工智能工程师的需求呈指数级增长。
由于持续的技术人才短缺没有改善的迹象,这为软件工程师(他们也是高需求者)提供了转型和填补人才缺口的机会。然而,学习人工智能、机器学习和自然语言处理并不是一蹴而就的事情。
为了让读者对从软件工程师转型到人工智能工程师的过程有所了解,我联系了 Ipsoft 的认知实现工程师 Sasho Andrijeski 和 Codementor 开发人员 Jayen Ashar。
转型背后的启示
人们进行转型有许多不同的原因;对一些人来说,是源于童年的激情。而对其他人来说,却可能是他们职业生涯中自然而然的下一步。不管是什么驱使你对职业生涯做出改变,有几个因素需要加以考虑。
对于 Andrijeski 来说,人工智能的种子是从他的孩提时代就开始种植的。“从我记事起,周围就充斥着各种 AI 元素。我爸爸的科幻小说集给我带来了很大的影响。在大多数故事中,都有一些先进的人工智能系统,会做一些不平凡的事情,还有很多关于奇点和意识的问题。当然,有些科幻电影和游戏,在当时非常流行,但现在却被视为复古。”
对 Ashar 来说,这是“与生俱来”的。“我一直对自动化和机器人感兴趣,所以,人工智能与我的软件工程背景非常契合。”
人工智能伴随着陡峭的学习曲线
即使你是软件工程背景出身,学习曲线也是相当陡峭的。事实上,Ashar 的人工智能硕士学位是离开职场参加全日制学习才获得的。
他表示:“我离开了职场,参加全日制学习,获得了人工智能专业的硕士学位。当我攻读人工智能专业后,我联系了我的一位老师,和他一起进行了暑期项目。之后,我加入了学校的机器人足球队,这真的给了我人工智能方面的实践经验。”
对于 Andrijeski 来说,陡峭的学习曲线既让人难以承受,又让人收获颇丰。“当我回首往事,感觉过去所学到的所有东西都在为我今天的知识做贡献,而且每一点都很重要。不过,当我加入 IPsoft 的时候,我还是要很快地吸收很多新的信息。事实上,这是一条相当陡峭的学习曲线。前六个月的工作让我感到非常吃力,但同时也很有收获,让我有一种满足感和成就感。在我的第一个项目中,有两位同事帮助我在一夜之间切实提高了我的知识水平。”
他补充道:“我不能说我是有意采取了什么步骤,但我一直觉得自己跟人工智能有某种联系。当然,我的履历对于任何 IT 职业来说,可能都是比较典型的。我学的是科技传播专业,学习期间在网吧工作过,有自己的网络联盟营销业务,当过系统工程师和 IT 顾问。从一开始,我就一直在为 Commodore64,IRC 机器人编写小型的 BASIC 程序,或者帮助朋友完成他们的硕士/博士项目。有了这些经历,当 IPsoft 的机会出现时,我已经拥有了大部分必要的技能——我就这样争取到了机会,这是我只能给任何想在人工智能领域抓住机会的人的东西。”
即使你完成了转型,学习也不会就此停止。Ashar 说,“我的转型是很久以前的事儿了,而且这个领域发展很快。为了能够做到与时俱进,我学习了 PyTorch、Fast.ai 和卷积神经网络。”
对 Andrijeski 来说,“在这里,我最想提到的就是概念。多学习关于意识、认知、人类互动、自然语言是关键。当然,算法、自然语言处理、机器学习或深度学习也是路线图的一部分。在快节奏的环境中工作,作为早期采用者,你必须处理各种技术,而不应该将自己限定在特定的技术上。有的会留在这里,有的会渐行渐远,随着时间的流逝,我们甚至不会记得它们。在编程语言中,值得一提的是 Python/Groovy/JavaScript/Java,因为我的工作范围需要这些语言。”
他补充说,“对我来说,最好的方法就是边做边学。如果可能的话,网上的资料和社区也很重要。幸运的是,有了电脑、网络和一点空闲时间,我就有机会去尝试很多东西。有一些正在研究类似挑战的朋友也能帮上大忙。不断地交流,分享想法和经验,能让知识持久不衰,有机增长。”
Ashar 对此表示赞同,他说:“我一开始学习的是大学课程和在线课程,但我发现,如果有一个问题需要解决,然后自学如何解决这个问题才是最好的方法。”
人工智能新工程师面临的挑战
人工智能工程师面临的挑战是相对于项目和个人而言的。如果你是一名自由职业者,事情可能很快就会得非常繁琐。
Ashar 称,“最大的挑战是作为一名自由职业者寻找人工智能项目。 人工智能仍然被认为是研究领域,大多数在这个领域招聘的人都在寻找全职的、现场的、长期的员工,这对我来说实在不太合适。”
但 Ashar 坚持了下来,没过多久,他就被雇佣去做第一个与人工智能相关的自由职业项目。“我与当地的交通管理部门签订了一份合同,对交通流量进行分析,并建立模型以找到相关性。我们的想法是为了自动报告阻碍交通流量的车辆。”
而 Andrijeski 的经历有点不同。“令人惊讶的是,最大的挑战并不是来自于人工智能。在为客户项目工作时,我注意到许多机构和公司只是还没有为非常先进的技术做好准备。他们更喜欢循序渐进,通常处于数字化/转型过程中的某个阶段。要找到那些愿意尽最大努力创造一个真正伟大的人工智能解决方案的有献身精神的人,真的是一个挑战。很多人还在期待人工智能能做到神奇的开箱即用。”
而最大的挑战,可能就是成为这一领域的专家所需要的时间。“由于我的路线图上并没有具体的内容,所以我无法真正确定下来。然而,当我回答过去,并将今天的点点滴滴联系起来时,感觉这就像是一生的旅程,我的旅程。”Andrijeski 说。
据 Ashar 说,“这花了我大约十年的时间,但那是因为我想保持自由职业者的身份,我对自己的工作已经很满意了。”
给考虑向人工智能转型的软件工程师的建议
“我认为人工智能就是人类的未来。如果你不参与,那么就意味着你至少落后了一步。”Andrijeski 分享道。
Ashar 建议称:“我的建议对于任何想转专业的人来说都是通用的。试着在工作的同时做兼职,这样,万一不成功的话,也不会丢掉原先的工作,而且你还可以试试水,看看这份工作是否适合你。”
作者简介:
Andrew Zola,Artmotion 自由职业技术记者兼内容经理。专业领域包括新兴技术、人工智能和网络安全。
原文链接:
https://dzone.com/articles/making-the-transition-from-software-engineer-to-ar
评论