我转行成为机器学习和无人车工程师,并收获Offer

谁说半路出家不会有好结果?看这位小哥辞去6年芯片开发工作,转行成为无人驾驶&机器学习工程师并在一年后拿到了宝马Offer。

BMW福利之Employee Car Program

背景

我从事了6年的电脑芯片设计的工作。在此之前接受了“传统”的大学教育,在密歇根大学本科就读计算机工程师专业,研究生攻读电子工程师专业,于2009年毕业。毕业后我在AMD波士顿公司就职,做各种电脑芯片的设计和改进。开始的几年动力十足:我在这个产业里做尖端开发,参与制造数百万人使用的产品。我感觉一直在前进。

转型契机?

然而约2014年底,半导体产业发展迟缓,产业重新整合的消息不断。我更期待一份有巨大发展潜力的职业,所以我知道是时候转型了。刚好这个时候大型开放式网络课程MOOCS如火如荼地发展,所以我借此平台学习了网页开发,安卓开发,机器学习,人工智能。其中ML/AI是最具发展潜力,兼有趣味的方向,于是我决定深入这个领域。

我的2015年度目标是成为机器学习专家。下班后和周末学习Coursa上的Andrew Ng’s machine learning课程,读/r/machinelearning sub-Reddit上的帖子(这里的信息有些杂乱),选修ML在线课程如Andrej Karpathy’s博客。

但是在坚持全职工作的前提下,只有周末有精力去学这些。科技发展迅速时不我待。靠着近两三年的储蓄,我准备辞去工作专心学习。传统大学教育显然不适合。首先它不能保证毕业有足够的资质找到工作,性价比低。而且大学我经常翘课在家自学,所以在线课程是我的绝佳选择。佐治亚理工有一个新项目OMSCS,能入选这个项目是极好的。而Udacity也发布了机器学习微学位项目,这个周期更短,而且侧重于产业实践。

最终在家人朋友的鼓励下我在2016年1月辞去了在AMD 6年的工作。计划5-6个月完成机器学习微学位的课程,做一些个人技能提升项目,然后在2016最后一个季度进军ML/AI领域。

ML工程师成长大事记

计划不如变化快,以下是2016年实际发展的时间线:

  • 一月:离职,放松几个星期

  • 二月:学习机器学习微学位,与此同时学了前后端网页开发微学位课程(Front-End Web Developer Nandodegree),因为我对网页开发还是很有兴趣

  • 三月:跟父母在泰国度假

  • 四月:在日本度假一周,结束前后端网页开发微学位课程

  • 五月:完成机器学习微课程最后一个项目。开始学Youtube上的CS231n课程。计划在机器学习微学位中做一些特别的项目

  • 六月至七月:与CS231n度过一段甜蜜时光,也打了很多游戏

  • 八月:完成CS231n。受AlphaGo的鼓舞,决定做增强学习给机器学习微学位画上完美句号

2016年9月,又有更有趣的事了:Udacity发布了9个月的无人驾驶车辆微学位项目(Self-Driving Car Nanodegree)。对我而言,能将人工智能和机器人结合是最有趣有实践意义的事了。刚好上半年侧重于深度学习和计算机视觉,并且达到了让我在这个领域找工作的水平。于是接下来的2016年是这样的:

  • 九月:完成机器学习微学位。欢天喜地申请无人车微学位项目。

  • 十月:被无人车微学位项目接受!

  • 十一至十二月:学习无人车微学位课程。

针对找工作的自我包装

2016年12月中旬完成了无人车项目的前三个课程项目:基础道路探测( basic lane detection),交通信号分类(traffic sign classification),和 行为克隆(behavioral cloning)。按照Udacity的计划可以得到很多找工作时有代表性的工作经验,但是我还想拓展一些。比如说物体探测就很酷,所以我决定给自己的发展目标定位在深度学习基础上的物体探测研究。最终用时四星期在很火的TensorFlow的目标检测算法(SSD)基础上完成了交通信号探测项目。

还有一个重要的机会是一起做 ”基于深度学习的物体探测项目”的同学创立了波士顿无人车研究见面会。借此接触到了很多高含金量的机会。

找工作!

★申请

2017年1月底开始正式找工作。我主要投与无人驾驶相关的深度学习和计算机视觉岗位。同时也申请了AI芯片设计(一份面试邀请都没收到)和一般的机器学习岗位。申请渠道就是LinkedIn,AngelList,各大公司官网和波士顿第三方招聘。一共投了90多份申请。

★面试问题

我一般被问到这样两种问题:(1)机器学习&计算机视觉 (2)机器学习相关编程。

对于问题(1),围绕着ML尤其是DL概念,提问ML/DL如何应用到计算机视觉,以及“传统”的计算机视觉概念(透视变换,边缘探测,线条探测等)。并且有很多问题是关于障碍线定位,和障碍探测算法优化。

面试也主要关注于我在DL和计算机视觉做的项目——我的动机,过程,项目对我的提升。有个特别的不停出现的问题是:“你在课程项目外是如何提升的?”。所以很重要的一点是你对这个领域的兴趣,你想在这个领域之内和之外想要做出什么创造。

对于问题(2),面试官想要了解我对机器学习的大致兴趣,问到了诸如面试题库Cracking the Coding Interview或LeetCode上的问题。但是CTCI和LeetCode只刷了几个星期,所以回答的一般。

★拿到的面试机会&Offer的数量

最后在三月中旬,90份申请里我得到了9个面试机会,10%这个比例还可以接受。9个面试里4个进了终面:两个是全职岗位两个是实习。4个都面的很好都拿到了offer。两个月的找工作经历我得道了2个全职工作,一个无人车实习,一个自然语言处理实习机会。最后我接受了BMW的正式工作机会。

BMW申请细节

申请

二月初Udacity发布了BMW的多个针对基于深度学习物体探测技能的职位招聘信息,尤其对参与过深度学习物体探测项目对候选人感兴趣。浏览过后我对软件开发/机器学习这个岗位最有兴趣。这个岗位关注于ML在BMW自动驾驶的应用上。

面试

投出简历后的一两个星期接到了面试邀请。首先是一通电话面试,然后是在线面试。都是关于ML和计算机视觉以及他们在无人车上的应用。在线面试有问答和自述环节,解释数据、机器学习。面试前给我发了主题我准备的很开心。

Offer

在线面试是个超赞的经历。这里有很棒的团队,有趣而又不可或缺的工作角色。虽然已经收到了几个offer但还是更期待这份工作。刷了几个月邮箱终于收到了offer! 跟HR讨论过细节就正式动身穿过大半个国家开始新工作了。

一些心得

一年前投入到未知领域,辞去芯片设计工作学习,有些人可能觉得很奇怪。但我有自信(也可能是无知)我做的是正确的选择,而且坚信一定会行得通。希望我转行并拿到BMW机器学习岗位的经历能带给大家一些参考和鼓舞!

来源:medium

猜你喜欢

转载自blog.csdn.net/ctrigger/article/details/90024443