“致一年前的小木土:任务完成。”
6月30日,在获得2023 Amazon DeepRacer自动驾驶赛车企业总决赛中国区冠军三天后的深夜,杜键文发了这条朋友圈,并配上比赛现场的9张图。
“小木土”是杜键文的网名,取其姓氏,包括他的个人微信号、B站账号等。2022年7月,杜键文从暨南大学毕业后加入荔枝集团,一年后,他和荔枝“状元红”团队(注:状元红是水果荔枝的一个品种,参赛团队称呼)一起获得了 Amazon DeepRacer自动驾驶赛车企业总决赛冠军,并拿到Amazon DeepRacer 全球自动驾驶赛车锦标赛的入场券。今年11月底,杜键文将到美国拉斯维加斯,挑战世界顶尖高手。此前,他还开发出属于自己的第一款iOS音乐应用。
杜键文到Amazon DeepRacer 全球自动驾驶赛车锦标赛的入场券,年底前往拉斯维加斯挑战世界顶尖高手。
“一年前我有迷茫和憧憬,希望在技术道路上有收获、有成功。回想这一年的付出,做难而正确的事,并取得了小小的成绩。我想说这一年,没白过。”关于“任务完成”的说法,杜键文解释。
在工作写代码之余,这个28岁的广州技术小伙喜欢弹电子琴,撸猫,从小养了一条大黄狗,剪辑视频并上传到网络上与朋友分享,在公司年会上还作为导演执导晚会节目。
从一个初入职场的应届生到即将奔赴大洋彼岸参与全球大赛,让我们看看这个“资浅”程序员的杜键文这一年的“奇幻旅程”。
从总决赛冠军,到拉斯维加斯……
AWS DeepRacer 是亚马逊云科技推出的一个综合性学习系统,旨在结合强化学习探索自动化驾驶的模型算法,帮助开发者学习和实践强化学习。它包括以下部份:
控制台(图a):借助AWS的云服务、 AWS SageMaker 和 AWS RoboMaker 完成模型的训练与赛道仿真;
车辆(图b):1/18 比例的车辆,配备摄像头、电源传动系统以及用于对模型进行推理从而实现自动驾驶的Linux系统;
AWS DeepRacer League(图c):世界上首个全球自动赛车联赛,争夺奖品、荣耀和晋级冠军杯的机会;
图a:aws控制台用于训练、导出模型、仿真 | 图b:deepracer车辆 | 图c:全球各种deepracer联盟比赛 |
DeepRacer提供的仿真环境让用户可以在虚拟世界中进行实验和测试,以便更快地迭代和改进驾驶策略。用户可以使用强化学习算法来训练车辆在赛道上驾驶,通过奖励和惩罚来指导智能代理在各种情况下做出最佳决策,根据不同赛道,自定义奖励函数,调整神经网络训练的超参数以及赛车运行的速度和角度,从而在训练出模型后,可以让自己的赛车在虚拟跑道以及真实赛道上完成自动驾驶。
与AWS Deepracer的接触最早起于2021年。当时,荔枝的业务技术与产品负责人了解到这个机会,就在公司内的技术大群发帖,招募感兴趣的技术人员加入战队,并在当年的1024技术节举行了一场内部赛事。
2021年1024程序员日,荔枝内部赛,共有8支队伍进入决赛圈
最终获得冠军“CPP”战队成员蔡蔡等也成为了后续荔枝战队对外比赛的“引路人”,做了很多的技术指导和备战支持工作。
2022年7月,还是应届生的杜键文加入公司,在校时有接触过机器学习与深度学习的内容,看到在9月深圳举行的DeepRacer互联网行业南区预赛招募的消息,怀着兴趣报名参加了。
比赛分为线上和线下举行。在深圳的线下比赛,测试和比赛的顺序均由线上成绩确定,荔枝线上成绩第一,因此排在最后出场。不过现场也出现了一些小意外,杜键文回忆,“按照规则,每支队伍的测试时间10分钟,但前面队伍明显超时,轮到我们时勉强测试了两个模型,其余准备的8个模型均没有测试。不过,模型越多有时越难选择,最终我们选了训练了3小时的“testczs-cpp”,这也很大程度上受益于我们以前公司内部比赛学习积累。”最终获得分区赛冠军。
荔枝状元红战队获得2022DeepRacer互联网行业南区赛冠军
2023年1月,海南三亚,2023DeepRacer互联网行业全国总决赛如期开战。这次比赛,赛前的准备相对大部份比赛队伍来讲,是非常充分的,购买了小车和赛道,杜键文作为队长也早早跟团队选定模型,并作了一系列的针对驾驶的训练,总结出许多有用的小技巧,比如调整偏左,然后加大最大正向速度等等。比赛前,使用这个模型可能跑了有将近200次了。
“我自己也有奇怪的习惯,比赛前不会很兴奋、频繁交流,倒喜欢一个人安静,仔细想问题。我觉得这次比较吃亏的一点是,没有去观摩别人的比赛只顾着自己搞小车。”杜键文在赛后的反思总结中提到。
2023DeepRacer互联网行业全国总决赛,状元红团队和其他战队合影留念
比赛后,杜键文写下这么一段话——
上场前虽然是紧张,但信心还是非常十足的。但测试环节意外频频,记得仅仅测试了没两三圈,撞了一下重连、跌了一下重连,然后反复重启连接、加载模型,一直没连上,10分钟测试时间最终就被耗尽……
第一轮的比赛,本来测试得挺好的,已经准备要正式比赛了,但当时手汗很多,一下子拿不稳小车摔了一下,又要重连,一直没连上,第一轮没有成绩……
这彻底把我弄懵了,之前的战术一下子打乱。虽然队友不断安慰增加自信,但我清楚,下一轮的压力相当大,小车不出故障、小车不出赛道、小车用激进战术。到了第二轮,正常测试了三圈,队友让我可以开始比赛了。我本还想熟悉下最优速度,但想到怎么也得有个成绩,又担心再发生故障,所以也就直接开始了。可能出于担心,出于紧张,没有考虑到电池的活跃性,加速时过于保守,也就没有展示出训练时最好的一面……
比赛前我对队友表现得太冷淡太严肃了,比赛后作为队长的我,不应再沉沦于已有的事实中,而是应该拥抱队友,表现出对他们的感谢,享受过程,接受最终的结果。
事后的多个瞬间,都会回想到比赛的那天。如果网络没那么多问题,如果第一轮正式比赛前没有手滑,如果我再调激进一点速度……但这不就是人生吗,到处充满着遗憾,环环相扣,不知当下的每一个选择会有什么样的因果,也只有作了选择才会后悔,但另一个我又提醒自己,会不会这样子就是目前最好的结果?我想这个归咎于运气吧,运气也是实力一部份。
一同现场参与的技术同事彭冬碧回忆,那次比赛获得亚军也不是很差的结果,杜键文对自己的操作有遗憾跟自责,我们就想着说,下一次总决赛去克服避免,然后精进成绩。
时间来到6月27日,2023 Amazon DeepRacer自动驾驶赛车企业总决赛在上海决出了最终结果,Cisco、德勤管理咨询、北京辛诺创新、神州泰岳、敦煌网、荔枝集团“状元红”战队等12支队伍的竞逐中,在两轮比赛中成绩遥遥领先,最终斩获桂冠。
夺冠后合影,奖品是4090显卡
战队成员陈泽森提到,回想在年初互联网行业的全国总决赛,团队在测试期间因为网络相关的原因,导致测试受阻,后选择保守策略拿到了第二名,“这一次的全国总决赛,我们弥补了遗憾”。
左:杜键文 右:陈泽森
“很高兴看到荔枝团队站上大赛舞台并从中脱颖而出,再次证明了我们年轻的技术人才群体不容小觑。” 荔枝集团技术负责人表示。
通往技术之路:一个爱动手爱记录的家伙
广州小伙杜键文从小就很爱玩玩具,基本电视上播啥动漫,有了周边玩具就一定会去买的那种。比如四驱车、乐高、铁甲小宝、弹珠警察、高达、变形金刚、爆旋陀螺……凡是动手的都爱捣弄,而且很专心很上头,一搞一天都乐此不疲。这项“技术”的形成,他归结于对玩具产生了痴迷的状态,达到“匠人”的状态,这在无形中锻炼自己的动手能力和创造能力。
杜键文还喜欢剪辑视频做记录,2013年,他尝试用iPad mini的cute cut应用制作了第一部有关纪念高中生活的视频,开启了视频剪辑之路。视频需要素材,杜键文为此开始爱好拍摄记录,家里的趣事、宿舍的聚餐、班里的活动、旅游的风景、大自然的绚丽,总用镜头记录那些难忘的瞬间。剪辑工具的使用大同小异,重要的是剪辑的思路,如何将声音、画面、文字巧妙结合,如何制作一个完整的、能引起共鸣的作品。十年里尝试了不少风格的剪辑,像班级毕业留念、恶搞、歌唱MV、怀念、采访、讲知识、会议、生活简片……
杜键文参加应届生培训
“自己在剪辑技术方面成长的同时,也感受到剪辑出一个用心的视频给他人带来的意义,因为我知道,这些在以后终将成为一个有价值的回忆。”
杜键文与程序员这个职业产生渊源在2017年。当时,他开发出属于自己的第一款iOS音乐应用,第一次体验到将技术应用到一个实物上,汇聚着自己所有的奇思妙想。他一个人兼任着产品、开发、设计、测试、市场等职务,很多东西都是从零开始,“我最大收获之一,是自己学会了图像设计,应用里的logo、图片、控件都经过大量的迭代更新、推倒重来,自己慢慢对图形构造、颜色的感受有见解,在艺术层面有一定的领悟,会知道什么是大家都会喜欢的样子。”
杜键文开发的音乐应用申请iOS上架
不过,杜键文也坦言,那时候还未曾想过当程序员,他更享受的是开发过程遇到的乐趣。在这过程中技术慢慢在长进,主动地吸收并直接呈现出实用性和价值,这一正反馈的过程会促使自己不断进步。
技多不压身,杜键文喜欢往不同的领域找可能性,不局限仅专攻于某一领域。社会本就一个复杂的综合体,具备跨学科知识、多技能的本领会让自己有不同的解决方式和不同的思考角度。选择将iOS开发这项技术发展成职业,成为一名程序员,其中的一部份原因,是想紧跟社会技术潮流,知道互联网里流行着什么,如何通过技术来改变生活。
新人从写技术文档开始
杜键文在2021年参加了荔枝秋招,面试官单好强对杜键文说:我感觉你的气质很适合我们。
杜键文一下子也不知道要说什么,就笑了。
单好强,大前端组的前辈,后来也成为杜键文的导师(荔枝内部企业文化,带领新入职员工熟悉公司情况)他回忆,“键文性格内敛,讲话有条理,做了几个测试都比较仔细,对技术问题也感兴趣,当时就觉得他的综合素质蛮符合荔枝的校招标准。”
杜键文刚来时,部门给安排了任务目标,就是配合提高iOS开发和flutter开发能力,以降低开发、调试、维护的成本。领导有意识要求他去尝试写一些技术文档,为夯实技术理论,培养一些逻辑能力和对项目开发的经验总结。
杜键文一开始并不习惯做一些技术文档,就想着把一些具体的事情做好。不过,部门的一些老人就表示,写技术文档可以帮助团队完成当前的信息共享和长期的知识传承 ——对于个人而言,一方面可以节省时间 ,因为避免了回答重复问题,也便于检索过去的知识;另一方面可以塑造口碑,比如在某次部门会议中,就突然有个同事发消息说我的文档写的很好,对新接触这块业务的人帮助很大。
刚来的第一个季度,杜键文就完成了近10篇技术文档的撰写,包括技术入坑指南、开发过程的注意事项、提升iOS原生开发的工作效率等,“是较为'入门'的新手文档,但对我的技术思考是很有帮助的。我也相信,一份好的技术文档比起开发口述是不会有多余的理解成本的,甚至更低,因为对于很多信息,图片能比语言更好地表达。”
工作一周年时,他写下这样一段话,未来希望活成自己心目中程序员该有的样子:
- 匠人精神,自己领域的事情需要比外行更清楚
- 切忌不加思考进行复制粘贴
- 一时弄懂的道理,要记录思路和实践,把别人讲明白才是真懂
- 不一味埋头于开发,跳到更高层面,找寻背后的意义,说服自己
- 用技术给别人带来改变,带来价值,带来感动
一位爱撸猫、爱剪辑的程序员,也是导演
工作之余,杜键文还喜欢拿着相机记录下身边有趣的画面。
他拍猫,暨大校园里猫多,有橘猫、狸花猫、三花,躺着、跑着、要吃的。他都拍,记录下来,配上欢快激情的音乐。
他拍狗,一只名叫"欢记”的狗2007年来到家里,就开始记录,2021年,13岁的欢记不辞而别,杜键文将所有影像资料剪辑成五分钟多的短片发在了b站上,还写了一篇文章缅怀欢记。
2016年除夕,杜键文和家里的小狗欢记合影 | 缅怀欢记的文字片段(源于微信公众号“老杜讲节气”) |
2023年初,通过报名和选拔,杜键文和十几位同事组团参与了年会表演,从道具的设计、选取和制作,演出人员的职能出场设计、排练等等,事无巨细,全程参与。经过一个多月时间,《荔枝秀》顺利地出现在观众面前。
杜键文手绘的出场示意图1 | 杜键文手绘的出场示意图之一 |
年会结束一周后,杜键文也将这段记录剪辑成视频,感慨程序员的生活也可以这么丰富多彩。“我们的队伍包含了业务技术、政务、内容、产品、研发以及泛娱乐板块的小伙伴,经过这段时间的合作,认识到一群可爱的人,更好地融入进荔枝。
从拍视频,写公众号,发b站视频,到参与指导公司年会节目,再到AWS舞台,这就是职场新人杜键文一年多来走过的路,回想起来,也与技术成长是一样的,从业务基础,到demo,到项目实战,到自学深研,从量变到质变。
杜键文获得前往拉斯维加斯参赛的通知
获得总决赛冠军后,杜键文也收到了前往美国参赛的通知,这在荔枝推进全球化大背景下体现着包容开放学习的心态,“AWS DeepRacer类似比赛让机器学习不再遥远,帮助鼓励并拥抱创新,同时也提供在AI和机器学习技能的机会。荔枝也愿意继续加大对技术人才的培养,帮助技术团队持续精进,并走向全球。”
几次外界大赛的经历,杜键文也深知外部世界的变化之快,“技术交流带来更多的想法,技术的更新迭代也远超个体的想象,停滞不前可能就意味着被甩在身后。”
同样的感受在公司内部也不在不断传导。外部世界总是在变化的,这几年,和未来的10年,只会挑战越来越多;技术总是在进步的,跟不上很快会被淘汰。今年随着ChatGPT一夜之间改变全球,很多人在惶恐会不会失业,很多公司也在惶恐自己还有没有存在的价值;用户总是在变化的,一代又一代人在成长,每一代人的喜好都不太一样。
现在,有着更大的舞台等着,作为新人逐渐走向成熟的程序员杜键文的下一个任务又是什么呢?他说他会继续去尝试可能性。一想到自己还能有变化的可能,就让人热血澎湃。