我將用系列文章,回顧自己的十年程式生涯,一方面是對自己職場生涯的階段性總結,另一方面希望我的經歷,對大家的職場生涯有所啟發。
我一直都堅信人生的關鍵選擇就那麼幾次,每次只要你抓如了它,你的人生將是完全不同的旅程。
我很欣慰我的人生一直由我來決定,沒有太受到其它的影響。
這是系列文章的第一篇,回顧我是如何走向程式設計師這個職業的。
十年的選擇
我是一個有魄力的人!
請大家記住這句話,只有記住這句話,你才能明白我這十年間的選擇。
十年前我還是象牙塔中數學系的一名普通的大三學生。
六年前我包裡揣著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年畢業的那年,我將曾經練習過的一個競賽題目作為畢業論文進行了提交,沒想到畢業時還成為了學校的優秀畢業論文。也正是因為數學建模競賽的這段經歷,讓我和程式設計結緣,為我以後走向程式設計的這條道路,埋下了伏筆。
大家以為我就這樣直接走向了程式設計師這個職業嗎?當時我也是這樣認為的,直到我碰了一鼻子灰,走了很多的彎路,甚至還南下去了深圳流水線工廠工作了幾個月,才讓我真正的下了決心走上程式設計這條路。
當然了我找工作的這段經歷其實更精彩,我會在後面的文章中慢慢來告訴大家。限於篇幅這篇文章就寫到這裡,我計劃用連載的方式來記錄我渡過的十年程式設計師生涯,預計會寫下十萬字,所以故事才剛剛開始。。。
最後,想問一下大家,你是因為什麼原因走向了程式設計師這個職業的?