图森同学 | 浙大ACM校队选手:我喜欢随机性
本期主人公:小M
90后,天秤座。
毕业于浙江大学竺可桢学院求是科学班。目前在图森未来负责规划模块的研究。
关于小M的关键句:很多事情,都是一个随机选择的过程
“不是所有事情都有一个原因的”,喜欢随机性,并且对结果也笃定。他曾两次进入ACM-ICPC World Finals(编者注:曾由美国计算机协会ACM组织的年度性竞赛,全球大学生计算机程序能力竞赛活动中最有影响的一项赛事,由于ACM从去年开始已不负责该赛事,现已更名为ICPC World Finals),问及他为什么这么喜欢编程,他说了开头那句话。
回忆起最早接触编程,他说了一个故事。小学5、6年级时的语文老师,也是当时的班主任,生病在家休养。闲来无事就在家自学编程,结果越学越有意思,在自己病假期结束回到学校后,便号召全班数学好的同学一起来学。“我因为数学比较好,课业压力不大,就这样入门了”。
两个月之后,赶上了市里面一个编程小比赛,小M抱着试试看的心情参加了比赛,没想到竟然获得了不错的名次。这之后,他的竞赛之路便开始了。高中之前,小M几乎参加了所有可以参加的计算机比赛,所以后面再提到ACM-ICPC World Finals,看起来是也是如此顺理成章的事情。
浙大会在每年暑假开设几周的课程,通过这种方式来选拔最终进入校队的成员。还是大一新生的小M,由于开学时间在暑假之后,虽然错过了选拔。但他还是找到集训队的老师,争取再三,老师觉得这个大一新生对竞赛这么执着,便也就默许了小M来听听,跟着大家一起做做题。也算是为他加入校队提前做了准备。
竞赛归竞赛,大四的即将到来,同样让小M有些措手不及:大部分时间花在竞赛上的结果,是小M在本科期间基本没有深入科研,也不确定自己能不能在科研这条路上走下去。但显然地,凭借自身硬实力包,无论是工作还是继续深造,他觉得都不会太差。
“我既没有工作过,也没做过科研,那就随机选吧”。是不是很像那句有名的电影台词:生活就像一盒巧克力,你永远不知道你会得到什么。
来图森未来实习,又是托了竞赛的福气。当时小M刚好带集训队来北京参加另一个竞赛,就趁着机会把感兴趣的公司都转了一遍。而最后促使小M加入图森未来的原因,竟然是“工位很宽敞,实习生管住宿”。 也许是抱着肥水不流外人田的想法,实在的小M,最后把自己的女朋友也带进了图森未来。(这样的小M,我们希望再来一打)
成为图森未来一员的小M,现在正在算法组负责planning模块。“公司的科研环境很不错,学习氛围很浓”。无心插柳柳成荫,曾经在“科研”和“工作”之间的举棋不定,在这里得到了很好的平衡。而工作之后,他也依旧沉浸在各种竞赛中。
比如,在2019 Top Coder Beijing中,获得第二名的成绩,喜提小米电视机一台。
TA眼中的小M
大家的眼中他是一个ACM竞赛大神,代码和算法能力超群。
由于我们负责着同一个项目,他是我在公司里最亲近的人。我和他的习惯和思考方式极为不同。他是一个可以突破常规的人,可以提出许多许多我觉得不靠谱的想法,然后把它们实现出来一一测试;而我比较保守,在确认方案理论上的可行性或直观上的合理性之前不会开始动手。这种差异让我们整天在方案上争吵,也正是这种区别使得我们的配合更加高效。
在我和他的身上真的可以看出不同专业学生技能树和思考方式的不同。
在提出一个算法时,他会更加关注算法的准确性、理论复杂度(包括常数)和鲁棒性,而我更在意的是算法的兼容性、可扩展性、数值精度、稳定性、收敛性等。
在实现一个算法时,他希望很快实现然后不断尝试修改,针对我们面对的实际问题提升效率;而我希望我的代码在不牺牲速度的前提下全都是模块化的、可插拔的,最好是在任何一个需要的地方都可以直接调用而不用进行修改的。
在优化一个算法的速度时,他会考虑使用多线程、考察操作系统底层实现、用启发式的方法减少运算量,而我则希望通过观察提取数据输入的特征来缩小问题的规模。
总之,在这里遇到他,可以一起工作,提升自己,是很幸福的一件事。
正如TA说的,我们也希望有更多优秀的伙伴,成为我们的图森同学。(本月底,我们将正式上线秋招的相关信息,敬请期待哦!)
Quick Q&A:
Q:对于应届生在面临工作和继续学业的选择时,有什么建议?
A:对于我自己来说,其实不知道自己适合做什么,刚好planning有空缺,带着学习的态度开始做planning。所以对于给学弟学妹们的建议是,既然都没有体验过,就不要太纠结,自己去“未来”看看。
Q: 如果把自己比作一个卡车零件,你觉得自己像什么?
A:方向盘。因为一方面也是自己正在做的领域,再一方面,想自己把握自己的人生。