15-数学与应用数学-就业-依图科技
前言
当数学系学弟通过知乎和 QQ 找上我,希望我可以分享经历时,我是比较受宠若惊的,也很乐意分享。
但是当我回忆自己在大学里的经历时,发现我的经历基本不具有参考性。魔改一下良神(殷子良)分享里的一句话就是:
“但是我的经历就是,我是完全兴趣驱动的,目的性没有很强,XX 和 XX 就是我运气好顺便拿到的奖励。”
因此,我主要分享的会是一些形而上的观念。但在此之前,我还是按照文章格式先放一些我的基本情况和经历供大家参考。
基本情况
- 15 级上海大学理学院,数学与应用数学专业
- 绩点记不太清,大概是 3.2-/4.0,系内排名大概是倒数的 20%
- 选择数学系的原因简单来说就是喜欢数学。至于绩点为何这么低、为何最终反而去就业了,后面会细说原因。
- acm-icpc 2018 区域赛北京赛区银牌
- 可能在 acm 圈更出名的是比较好的数学基础,以及研究一些奇奇怪怪的科技。例如 某个版本的 Min25 筛
- 真的没有金牌,也没有 ccpc 经历,因为只认真打了半年就被迫退役了。
- 毕业去向为依图科技(cv 四小龙之一),计算机视觉算法工程师。
- 总包是不能说的,但大概是个 sp ~ ssp,有一些期权。
- 按毕业时看应该是数学系就业的人中最高薪资,甚至在计算机系我认识的人中也没有更高的
- 我猜是有的,只是部分大佬的薪资我不太了解
- 好像如今研究生毕业后选择回国就业的当年数学系同学,也没听到起薪比我毕业时高的…(小声)
- 我猜是有的,只是部分大佬的薪资我不太了解
- 兴趣非常广泛,会点硬件会点电子会点机械会点控制理论,喜欢兴趣使然的做好玩的东西
- 外号叫 Tesla 真的不是因为特斯拉这家公司,而是因为最崇拜的人是大发明家尼古拉·特斯拉,并且在初中时做了特斯拉线圈,所以外号叫 Tesla
经历
我的大学经历概括起来大概就是一个字:玩(诶,就是玩儿),只是我玩的东西可能比较奇怪,比如学数学在我看来属于玩的一种。有的时候我玩一些东西需要一些其他的基础,那么这些基础也会成为我"玩儿"的对象。
- 比如要造明白一个喷气滑板需要力学知识,那么这段时间流体力学/空气动力学就会是我玩的对象了
- 澄清:我没有造喷气滑板
基于此,我的整个大一基本都是在玩儿,除了玩数学以外也兴趣使然的玩些其他东西。得益于我比较好的数理基础、高中时数学竞赛的经历(高中参加数竞也是玩的产物)以及玩数学的奇奇怪怪观念,我成了当时理二(理工二组)的学术部副部长之一,参与学术部各种答疑、帮扶等活动。当时的高数/线代/工图之类的也顺理成章的全都裸考 4.0 。但由于我对绩点基本是放养的态度,总体绩点在那时就已经呈现颓势。得益于我的答疑等工作,在同学间刷脸刷的比较厉害,最后分流时拿到了 1.0 的班委加分,再加上我是浙江考生,高考分数也比较高,最终算是有惊无险(事实上分流排名好像还蛮高的),如愿以偿进入了数学系。
大二进入数学系后,没有 “分流需要绩点” 这样的压力后,我玩的就更 high 了。但我发现了一个问题,上大数学系的小学期制太快了,哪怕是我在大一已经玩了一些数分高代的情况下,仍然来不及在一门科目的考试周来临前,达到我所认为的“玩会了”的状态。再结合我不喜欢为考试学习的态度,我的绩点更加一落千丈。
大二还发生了一件我觉得比较有趣的事,那就是我成了学盟社的社长。学盟社当时传社长的“规矩”是只传给数学系的人(一年后,向来不喜欢守规矩的我坏了这个规矩)。而当时社团内只有我和另一位朋友两个人进入了数学系,她不愿意当社长,于是我成了社长并强迫(划掉)她成为了副社长。
众所周知学盟社的功能是帮助大一小朋友的学习,不众所周知的是学盟社也会帮助一些数学系内的成员学习,毕竟数学系内学习困难的同学其实也是非常多的。历年的学盟社社长基本都是学霸,绩点非常高的那种,于是可能大家以为我也是这样的,便出现了一个很怪的现象:
- 超高绩点的同学们来问我这个绩点低的离谱跟在摆烂似的人数学专业课问题,然后专业课要上课之前我又去问他们要作业抄,因为我玩着玩着可(一)能(定)就会忘掉要做作业这件事。
- 更微妙的是他们问我的问题我基本都能答得上来,可能是我在吃老本也有可能对应内容恰好被我玩到了
- 注:这段希望不要被当时的任课老师们知道,怕被打)
我的绝大部分数学系专业课都是低分飘过的,甚至某门课由于我逃作业太多,某位老师不给我平时分把我给挂了(导致我后来有一年领不到 3k 的奖学金),还有一次选了我最擅长的数论课,本来以为这次绩点会好看点,结果那年数论考试用的英文,因为不认识 Quaternions
空了一整道大题,没拿到满绩。
时间线来到大三,大三时有一门令大多数数院人都闻风丧胆的专业课:泛函分析。但我非常喜欢教这门课的杨老师的教学观念,以及这门课的讲课/考评方式,同时泛函本身也让我充满了兴趣:他抽象起来、触及本质的样子实在太好玩了。这门课让我在保持玩的态度的同时,轻巧的、几乎裸考的拿下了满绩。
- 小彩蛋:泛函分析课几乎所有的同学都选择“坐在前排而又不是最前面的那一两排”,原因是坐后排容易被杨老师点起来回答问题,做最前排又容易触发“杨老师邀请你激情互动”的事件。那你们猜猜我坐在哪一排?
- 猜对啦!我永远坐在阶梯教室最后一排最中间,往前数两三排都是空荡荡的,有种“会当凌绝顶,一览众山小”的观感。没准现在去问杨老师,他还会因为这独特的座位记得我呢(?)
在大三下半学期,我算是比较认真的开始玩算法竞赛了。其实大二时我就被朋友拉了去组队比赛,但整个大二我都没刷超过 10 道题,纯纯的混子。大三时逐渐发现算法竞赛也很好玩,把我学过的数学知识应用上去的感觉非常爽,加上那个时候我可能意识到了“留给我的时间不多了,不能这么对不起队友”,于是开始狂刷半年题,最终在大三升大四时在北京拿下了一个银牌。后来由于在 ec_final 名额分配等问题上与 sj 教练有不小的矛盾,没有打 ec_final,也放弃了心中延毕冲 final 的念头。
之后就是找工作。我把我玩的各种东西挑了几个比较有牌面的,再加上一些 acm 相关的奖项和较好的数理基础写进简历后就去随便投了一些公司,最后基本只认真面了依图和谷歌(我觉得他们和我的理念相符),依图给我开出了无法拒绝的价格(划掉)和很符合我期望的算法工程师岗位,而谷歌倒在了三四面英文面,于是顺理成章进入了依图。
以上就是我的个人经历,相信你看完之后会觉得很有趣,但是几乎没有可参考的地方(参考我低绩点还是参考我挂科?)
因此,结合我的个人经历,有一些可能更有价值的“观念”,我在以下简单的归纳出来,希望能对更多人起到帮助。
一些观念的分享
观念一:要有大胆的独立思考
如果你按顺序读到了这里,还没觉得我的经历中透露出的任何理念存在问题,那你可能要好好思考一下这一点了XD
这一点对数学系的学生而言尤为的重要。所谓大胆,是要敢于质疑任何人、事甚至定理,再小心的求证,确认到底是自己的质疑存在问题,还是这个地方真的有问题。如果是自己的质疑存在问题,那么再回头思考为什么自己会质疑,疑点在哪里。类似这样的大胆独立思考可以很好的锻炼自己的思维,并且使我们在学习数学时对知识的理解更深刻。
- 相信你此时已经在质疑“这个倒数 20% 的数学系学渣凭什么教我学数学”了
观念二:富有创造力,不要被已有的框架限制
这点一定程度上是对观念一的扩展。进了数学系必须拼绩点?数学系本科毕业一定不好就业?读研/出国能去名校必去名校?数学本科毕业一定比数学研究生毕业的人数学水平差?这里的每个观点都有他的底层逻辑、数据支撑在。但这并不意味着他对于你来说是“正确”的。有句老话叫“不要以为你很特殊”,但在这里我要说的是:“不要觉得你不是例外,于是不加思考的去墨守成规”。
以我个人为例:我从大一开始(事实上是初高中甚至小学)就在玩数学,但到了最后我选择去工作,而不是继续基础数学的研究,这“离经叛道”的举动仿佛舍弃了自己的理想,对现实“妥协投降”。但仔细思考就会发现,且不谈“工作一段时间再回来读基础数学”这种策略,“我想玩下去的数学”和“做算法工程师”本身其实就并不矛盾。计算机、算法的世界有太多需要数学来抽象的概念,比如 cpp 标准库中对 gcd 的抽象是在 UFD 上的(如果我没记错的话),比如函数式编程的思想可以追溯到范畴论,分析学的方法就更不用多谈,数值分析里到处都是。这些都是作为算法工程师可以去学习、甚至必须去学习的。因此与其说是“舍弃数学转行计算机”,不如说是“让自己的数学与计算机知识互相借力,扶摇直上”。
还有一个关于创造力的例子,我至今也不知道这么做到底是不是合适的,因此在这里放出来抛砖引玉:当我在学习一门新学科的时候,我会尝试先“创造定理”。在我了解这门学科想探究的是什么问题之后,我会尝试自己思考“发展这门学科的人会从什么角度切入,以这个角度切入的话会先考虑怎样形式的定理”,然后再对着这门学科真正的定理作比较,一点点矫正我的理解的同时尝试证明前人和我的“定理”。这么做会使得学习东西的速度变得极慢,但是似乎对理解学科的深度和创造力有不少的好处。
观念三:挑战做很难、很本质、很抽象的东西
这点其实应该算是一个数学系学生的“基本素质”,但由于是一定程度上与人类固有的思维方式相对抗的,所以还是想抽出来强调一下。我一直持有一个观点就是“学了数学,你几乎就会了一切理工科”(也是我看起来“会很多东西”的原因之一),这不是学基础学科而引出的“傲慢”,而是说“你几乎可以从任何理工科的知识里抽出数学的模型”,这使得在你数学够好的情况下,在对概念的抽象层面就能实现“降维打击”。为了达成这样的效果,需要去不断刨根问底,挑战更抽象更本质的数学概念。这一过程对大多数人都是有一定痛苦的,但确是值得的。
- 另外,“几乎就会了一切理工科”的意思不是说“会数学了就能随便抢别人饭碗了”,大部分理工科无论是工作还是科研需要理论基础的同时,也是需要高熟练度的,熟练度的锻炼是躲不掉的。因此如果你想去做一些和数学相关的工作,千万不要抱着“我是学数学的,转起来很轻松”的想法,提高熟练度是相当重要、相当耗时间、需要做好规划的。
观念四:重剑无锋,大巧不工
这句话出自金庸的《神雕侠侣》,意思大概有点类似“一力降十会”。我在数学系的时候,曾说过一句“刷题不破万,妄为数院人”(反正我自己是妄为数院人了)想表达的是与这句话相近的意思。尽管未必需要这么夸张,但是对于学数学的人来说,刷题确实是十分重要的。这里说的刷题是带有自主性的刷题,而不是“老师划了这些题我做一下”。有些概念你以为你掌握了,但是在刷题的过程中你才能逐渐意识到这个概念背后真正的抽象到底是什么,并且随着对这个概念相关习题熟练度的增加,对其背后的抽象也会越来越有感觉。我在学习泛函分析时,刷完了整本书的题(以前在我博客还能看到我写的答案,但现在好像图床挂了没法看了),才勉强达到了自我感觉的“杨老师上课内容初步掌握”。除此之外,数学大师小平邦彦有过看不懂《代数学》而“抄书”的暴力学法,丘成桐暴力尝试数千个函数,在我看来都是“重剑无锋,大巧不工”的体现。
观念五:比起知识更注重思维
对于大多数人,对数学的兴趣终究是不够大的,或被摧残得遍体鳞伤,或知难而退及时止损,最终做的工作与数学相关性很低甚至完全无关。这个观念就是对这一类人说的。如果你确定未来的工作不会与数学有多大关系,那么相比起学习更多你未来不会用到的数学知识,我更建议你基于数学这门学科的纯粹性好好的锻炼逻辑思维能力、抽象能力,这是在你未来更有用的核心竞争力,从长远来看,远比 0.0几的绩点提升来的有用有意义的多。