0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一名工程师在谷歌无人车组的职场生涯

工程师人生 来源:网络整理 作者:工程师吴畏 2018-07-16 16:46 次阅读

在谷歌无人车组全职工作已经有四个月了。写一下感想。鉴于项目的高度机密性,很多话不能说,我唯一能透露的,就是两条:同事们都很牛,然后都非常努力。

我们组基本上是9点开始工作,然后晚上6点多走,老板不怎么主动管,但大家都明白如果事情做不完就得加班,因为一个一个小发布(release)的最后期限(deadline)摆在那里,不能不干。总的来说,比谷歌的其它部门要忙一点,节奏很快,不像是在大公司里工作,反倒更像是在一个初创团队里忙碌。

这四个月感觉下来,Google[x]实验室有几个很有趣的特点。其一是软硬件结合极其紧密,这一点从已有的报道里可以看出,不论是无人车(Self-driving car)、眼镜(Google Glass)还是最近公布的气球无线网络(Loon)及能测血糖的隐形眼镜(Iris),都是软硬结合的产品。这直接导致的结果,就是我们每天面对的问题和之前在学术圈时思考的完全不同。

在学术圈,问题的已知条件和数据集都是给定的,我们要做的就是像解数学题一样,钻进去找到更好的解法,并在已知的数据集上和前人对比证明其有效性。但在Google[x]则完全不同,大项目(比如说开发无人车)摆在这里,但已知条件,解决方案,使用何种硬件,如何分配资源,都是不确定的;唯一确定的,是要以最快的方式和最小的成本把它实现出来——让一辆车能安全地自行其道,同时生产成本又最少。在这样的特定背景下,碰到一个难题,首先想的不是把它死命解出来,而是问自己是不是有必要解它,能不能绕开它而实现目标?事实证明,在这样高自由度的空间里寻找一个特定的解决方案,几乎总是能绕过学术界的难题,找到简单易行的实用方法。这就像要发明能在道路上移动的机器人,不是绞尽脑汁去研究人类两足的机理,而是用容易控制又廉价的轮子代替;要设计飞机,不去模仿鸟类形态优美却机理复杂的扑翼,而是使用固定机翼加喷气动力。

其二是几乎没有专职的研究职位。所有人既是研究员(Researcher),又是软件工程师(Software Engineer)。基本上每个人负责一个具体的方向,对这个方向自主地分析现存的问题,并不断通过和同事讨论提出新方案,最后评估方案的效果。就算是组里的老板(Manager),甚至是老板的老板,也要写代码查错误完成具体工作,唯一的不同点,是他们对系统有更整体的理解,遇到问题能帮忙找到下属找不到的角度。碰到许多任务同时需要完成的时候,能分清主次,丢卒保车,确保整个组的大方向正确。

对于从来没有碰到过的新问题,思考新思路和写代码开发是同时进行的,C++代码写完就直接上产品去测试看效果如何,不行就分析研究再换一种,如此快速迭代直到找到好方案为止,如果一两周里找不到好方案,那就认为这个问题是困难的,于是就要退一步思考,想办法绕开它。

因为这个原因,诸如“写代码和做研究的时间比例是多少”之类的问题就没有什么意义,因为完全看需要解决的是什么问题,写很多格式漂亮架构清晰的代码却不能解决问题没有意义,天马行空地思考不在实际数据上跑也没有意义,最重要的只是“解决问题”这四个字。

这种思路决定了研究风格是“具体问题具体分析”式的,有额外条件和额外信息就尽量用上,不会花时间思考一般情况;是“崇尚简单方案快速出结果”式的,而不会使用精巧复杂却不太直观的数学理论,也不会花几个月赌一个万能算法。这种研究方式的缺点显而易见,就是没有办法产生深远及本质的成果,但是既然目标是利用人类现有的技术,去完成一个举世瞩目的新系统和新产品,我想不出来有其它更好的推动方式了。

其三是组内信息交流的极端重要性。学术界强调钻研问题,独立工作和原创性成果;但至少在无人车组,是鼓励也必须时常和别人沟通的。一个人,特别是刚进来的新人,对整个系统的组成没有深刻理解,也不去询问同事,老板给一个问题就按自己的想法单干,结果发现三分之一工作和无人车目前急需解决的难点无关,三分之一工作已有人做出过类似工具,还有三分之一工作听起来很有道理,自成一说,但是在实际数据上一跑效果很差。这些情况是完全可能的。按学术界的思路,这些工作都可以发(不同风格的)文章,但在我们这里,全都是没有用的。

而充分交流讨论就能避免这类情况。有越多来自别人的信息,就越能明确目标直入主题;越知道系统的优劣和目前的可用工具,就越能借风使力,提高效率。有时候跨组间不经意的一两句对话,少则抵得上几小时或者几天的辛勤劳作,多则改变整个组的行进方向。无人车组里中国人非常非常少,因此英语的地位相应提高,实在是需要在业余时间多加训练才好。

对于这样一个开创性项目,虽然已经取得了重要的进展,但还是有很多棘手的具体问题需要解决,每一个细节都决定成败。并且,越接近最终目标就越为艰难,有时候为了有百分之一的效果提升,是不惜从头再来,将原来的工作全部推翻的。所以说这个项目最后是否成功,还要看全体同事的聪明才智和勤奋努力,及一点点捉摸不定的运气。

希望运气在我们这边。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 谷歌
    +关注

    关注

    27

    文章

    6161

    浏览量

    105279
  • 工程师
    +关注

    关注

    59

    文章

    1569

    浏览量

    68495
  • 无人车
    +关注

    关注

    1

    文章

    301

    浏览量

    36469
收藏 人收藏

    评论

    相关推荐

    OpenAI从谷歌DeepMind挖角三高级工程师

    近日,据Wired最新报道,OpenAI人才争夺战中取得了显著成果,成功从竞争对手谷歌DeepMind“挖角”了三高级计算机视觉和机器学习领域的专家。 据悉,这三
    的头像 发表于 12-04 14:13 275次阅读

    用二创,1:1复刻工程师职场现状

    工程师
    扬兴科技
    发布于 :2024年07月19日 18:30:07

    嵌入式软件工程师如何提升自己?

    嵌入式软件工程师如何提升自己? 作为一名嵌入式软件工程师,在这个充满机遇和挑战的领域里,如何提升自己显得非常重要,它决定了你未来的发展方向和成就。接下来,我们起探讨
    发表于 06-12 11:20

    索尼诚邀软件工程师参与PS免费手游平台设计

    据悉,近日,澳大利亚知名媒体TweakTown发现,索尼互动娱乐正在为其旗下的PlayStation Studios Mobile招募一名资深的软件工程师,负责设计PlayStation的免费手机游戏平台。
    的头像 发表于 05-23 17:08 717次阅读

    嵌入式软件工程师和硬件工程师的区别?

    嵌入式软件工程师和硬件工程师的区别? 嵌入式软件工程师 嵌入式软件工程师是软件开发领域中的种专业工程师
    发表于 05-16 11:00

    大厂电子工程师常见面试题#电子工程师 #硬件工程师 #电路知识 #面试题

    电子工程师电路
    安泰小课堂
    发布于 :2024年04月30日 17:33:15

    Domo与Tableau和Power BI?前Tableau工程师建议最大化BI工具潜能

    作为一名解决方案工程师,TannerBrockbank曾在两家流行商业智能(BI)公司工作:Tableau和Domo。在他的职业生涯中,使用过许多BI工具。他发现部分组织选择使用两种BI解决方案
    的头像 发表于 03-28 08:04 421次阅读
    Domo与Tableau和Power BI?前Tableau<b class='flag-5'>工程师</b>建议最大化BI工具潜能

    单片机如何通过代码控制硬件:一名工程师的分享

    今天跟大家聊聊单片机是怎样通过代码来操控硬件的。作为一名单片机工程师,我们平时的工作就像是给单片机编写“指令集”,让它按照我们的意图去驱动各种硬件设备。
    的头像 发表于 03-06 14:46 1461次阅读
    单片机如何通过代码控制硬件:<b class='flag-5'>一名</b><b class='flag-5'>工程师</b>的分享

    如何搞崩个硬件工程师心态?试试对ta说这几句

    硬件工程师
    扬兴科技
    发布于 :2024年02月20日 18:05:49

    优秀电源工程师需要哪些必备技能?

    随着电源市场的不断扩张,开关电源行业飞速发展,企业对电源工程师的需求日益增加,对电源工程师的技能要求也日渐提高,相信没有位电源工程师会错过让自己变得更优秀的机会。作为
    发表于 01-29 11:29