查看原文
其他

我的十年程序生涯:建模启航

微笑很纯洁 纯洁的微笑 2019-10-30

我是一个有魄力的人!

我是一个有魄力的人!

请大家记住这句话,只有记住这句话,你才能明白我这十年间的选择。

十年前我还是象牙塔中数学系的一名普通的大三学生。

六年前我包里揣着3000块钱来北漂。

三年前我在一家互联网金融公司做到了技术负责人。

两年前我辞职了,在一家公司做架构师,入职半年后连跳三级,被领导提拔到研发副总,最多管理超过100人。

现在我是一名自由工作者。

以上其实只是我的职场生涯,业余时间我还做了一些其它的事情。

2016年6月,开始在博客园写技术文章,当年即被推荐成为推荐博客,陆续成为其它技术社区博客专家,16年年底文章阅读累计超百万。 

2017年,在公众号红利期早过的情况下,开通“纯洁的微笑”公众号,2 年后读者关注量超 12 万,综合指数排在原创个人技术号中前十。 

2018年,尝试在网上写教程,年底成为 Gitchat 专栏销量前三,后面陆续尝试线上演讲、知乎Live、免费视频课程、线下演讲等等,在每个领域去拔草,不为挣钱只为尝试,寻找自己最想做的事情。

2019年,我也在期待会发生什么。

你想听听我的故事吗?

题外话

我的个人公众号介绍只有一句:一个有故事的程序员。说这句话不是吹牛逼,是我非常非常喜欢有故事的人,有故事的事,同时发生在我和我身边朋友身上的事情,足足够我写一辈子了。

生活不是电影,但远比电影更具有戏剧性,更精彩,更荒诞,更不真实,我想用文字记录下这些故事,这些故事就是我的世界。

年归正传,这次还是先来聊聊我的故事,相信我,绝对精彩!

一件事情

回顾我们的历史长河会发现,往往在人生的道路上,突然会有一件事影响到我们,从而改变了我们的一生。

我就有这么一件事情影响到了我,让我找到了自己最喜欢做的事情,就是做一名程序员去 Coding 这个世界。

我的这件事情发生在大学时期,参加了全国大学生《数学建模竞赛》。那年,我们小组还得了一个小奖,我把它保留至今。

我给大家从头讲起。。。

一个机会

09年那会是我读大三的最后一个学期,和许许多多考研的大军不同,我从来都没有想过我还要继续在学业上有所发展。

因为我大学上学家里欠了一屁股的债,所以我对钱极度的渴望,恨不得立刻马上工作,让我的家庭我可怜的母亲可以喘上一口气。

我大学学的专业是信息与科学,大家不要被这个高大上的名字所迷惑了,基本上和应用数学没有太多的区别,整天就是学各种数列、极限、微积分、空间解析几何等等,还有一本书就是专门证明一毫米之内的世界。一想到学这么多东西和我的就业扯不上半毛钱关系,我就提不起一丝丝的兴趣。

大学三年通宵网吧、旷课篮球、挂科重考、探索男女之情,慌慌而过,唯一让我感谢自己的就是,喜欢看书的毛病没有变,泡在图书馆看了许许多多的书,中文系的现代文学、经济系的人物传记、艺术系的人体艺术都是我常常涉猎的内容,极大的扩充了我的世界观和人生观。

大学的碌碌无为加剧了我内心的不甘,耗费了四年火辣辣的青春、还有不知道父母从哪个亲戚借来的学费,我总该学点啥吧!

就是那种你感觉浑身哪哪都是劲儿,就是不知道往哪儿使的感觉,我以为我的大学就这样碌碌无为的过去了,终于等到了一个机会。

干票大的

那年我们学校是抱着干一票大的来准备这件事的,我就喜欢干大的。

虽然我不怎么喜欢数学,但数学系当时是我们学校的名牌专业,但却被兄弟院校虐了好几年,《数学建模竞赛》从来都没有拿到过国家一等奖。

于是09年的时候,学校的重视程度也上来了,在系里抽调了几位有能力的年轻老师组建了一个团队,并且承诺竞赛结束后根据成绩重奖。

老师的积极性被调动了起来(这个世界看来还是钱顶用),学校开始从数学系、物理系、化学系、计算机系招募学生,那年夏天一共招募了七八十号人。

招募过来的人,大家都没有什么建模经验,学校统一安排高强度培训,并且两周做一次模拟竞赛,根据竞赛结果不断进行淘汰,最后真正参赛的人员只有十几个人。

那时候年轻感觉不到累,整个暑假大家都是泡在实验楼。这也成了我大学生涯中最充实的一段经历,老师从建模算法、编程语言、论文书写、历届考题分析等几个维度不断培训,每培训一段时间就来一次模拟竞赛,然后宣布淘汰名额。这个过程很爽、很累、也很残酷。

建模竞赛是模拟现实生活中的真实问题,通过一套理论、算法、建立数学模型来解决问题,涉猎的内容非常多。

因此需要团队配合来解决,每个建模小组由三个人组成,每个人的分工都不同,有的擅长算法,有的擅长论文书写,有的强在编程实现,相互配合完成整个竞赛。

找到自己喜欢做的事情

刚开始培训的时候大家啥都不懂,也不知道自己擅长做什么,模拟竞赛的过程中遇到很多问题,大家都不会,但其实这个并不重要,重要的是你可以学呀。

99% 的问题在搜索引擎的加持下都可以解决,所以竞赛对自我学习能力要求极高。另外竞赛是开卷的,你可以利用任何你可以搜索到的资料包括书籍。

有的杠精可能要说,既然是开卷的是不是就可以抄了,so yong so simple。《数学建模竞赛》强调的是模拟现实解决实际问题,那在现实生活中解决问题当然可以查阅任何资料。

但是并不意味着可以抄,第一,你可以想到的,考题老师也可以想到;第二, 建模都是解决现实中的具体问题,这些具体问题当然是搜索不到的。

我给大家截图看下2018年数学建模的题目,大家看完就可以理解了。

感兴趣可以去这里下载:http://www.mcm.edu.cn/html_cn/block/8579f5fce999cdc896f78bca5d4f8237.html

经过一个多月的封闭培训、模拟竞赛,我终于找到了自己擅长做的事情,那就是用编程来解决问题,我喜欢敲打键盘的那种感觉,通过 Coding 实际解决问题简直太酷了。

那时候老师推荐使用 MATLAB 来做数据处理,但我个人更喜欢使用 C 语言来编程,也就是在那段时间让我体会到了编程的乐趣,于是心里想终于找到了我喜欢做的事情。

疯狂三天

2009年9月经过3个多月的拼杀,我们十几个人总于迎来了最终的考验,前面提到了我们学校准备今年干票大的,于是把我们整体拉到老校区的招待所里面,好吃好喝伺候,要求只有一个:三天三夜不许出去,完全无干扰的完成竞赛。

2009年竞赛照片,左小角就是我们团队。

给大家解释一下《数学建模竞赛》规则,试题出来后会给参赛者三天时间,三天后交出一份解决方案的论文,附带程序。所以也会涉及到战术问题,是三天都不睡觉完成竞赛;还是第一天睡觉,第二天第三天不睡觉;每个团队根据情况自行决定。我们是第一天每人睡6小时,第二天轮流睡4小时,第三天通宵。

每次竞赛会出四道题,小组根据自己的情况来选择,我们当时选择的B组题,解决医院眼科病床的问题。拿到这道题的时候,我们还挺高兴,觉得就是个处理数据的问题,但是做着做着发现并没有那么的简单,同时我们尝试了很多的数学模型,但是结果并不是很理想。

三个人不断的讨论、争吵,实验数学模型,调整着细小的参数,时间一下就过去了一天,还是没有太多的头绪,脑子都快炸了。这个时候我们组内最小的那个女生(她来自物理系),提出了一个假设,我虽然立刻就否定了她的这个设想,但还是按照她的思路进行了调整,意外的发现找到了解决问题的方法。

当找到解决方案后,最最重要的一件事情就是要写好论文,因为不论你的模型多么的好,如果不能明白的把它讲清楚,那其实效果就大大打折扣了。写论文我们也会进行分工,有的负责写开头,有的负责写论文的中部,有的专门来写结尾。我就是那个写结尾的人。

写完之后,再按照竞赛的标准去审稿,一遍一遍不断的去审,改个它罗汉十八次后才到定稿。其实到了最后的那天晚上,不管是人的精神还是体力都已经到达了极限,改着改着我在座位上坐着都能睡着了,被指导老师骂醒之后,爬起来接着改。早上当我检查完所有信息无误后,点击了邮件的发送按钮,拼命三天终于结束。

过了几个月后,竞赛结果出来了,那年我们学校终于扬眉吐气了一把,获奖数量和质量都突破了历史,拿到了学校的第一个国家一等奖。我们小组得了一个省级的二等奖,虽然成绩并不是特别好,但我们知足了,三个月的辛苦努力并没有白费。

后来

2010年毕业的那年,我将曾经练习过的一个竞赛题目作为毕业论文进行了提交,没想到毕业时还成为了学校的优秀毕业论文。

也正是因为数学建模竞赛的这段经历,让我和编程结缘,为我以后走向编程的这条道路,埋下了伏笔。

大家以为我就这样直接走向了程序员这个职业吗?当时我也是这样认为的,直到我碰了一鼻子灰,走了很多的弯路,甚至还南下去了深圳流水线工厂工作了几个月,才让我真正的下了决心走上编程这条路。

当然了我找工作的这段经历其实更精彩,我会在后面的文章中慢慢来告诉大家。限于篇幅这篇文章就写到这里,我计划用连载的方式来记录我渡过的十年程序员生涯,预计会写下十万字,所以故事才刚刚开始。。。

注:前两天我在文章《我的前六年程序生涯》做了个舆情调查,看到大家的热情后我写下此文。

因为这段时间比较忙,可能并不会即时连载完,请大家见谅。文末点击:在看,会鼓励我加快连载的速度:>


作者简介纯洁的微笑,一个有故事的程序员。曾在互联网金融,第三方支付公司工作,现为一名自由职业者,和你一起用技术的角度去看这个世界。我的个人微信号puresmile2,欢迎大家找我聊天,记录你我的故事。


推荐阅读

*  《你为什么有那么多时间写博客?

*  《技术总监到底要不要写代码

*  《Spring Boot为什么这么火火火火火火



< END >


    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存