人的一生每隔3年就需要發(fā)生一次巨變。有很多時候如果你現(xiàn)在不改變,以后就很難改變了。
?
從一個并不優(yōu)秀的文科生,蛻變成一個硅谷的程序員,再變成業(yè)務的產品經理。如果你身邊有正在發(fā)愁不知道該選什么專業(yè)/職業(yè)的?還是有想轉行的??梢苑窒斫oTA我的小故事,希望能給更多人帶來一些啟發(fā)。
為什么從文科生變成程序員?
因為找不到工作。這是最真實的理由了。
本科讀的是經濟學,在一所不太知名的小學校。但我的想法很簡單,既然都出國了,一定要在國外積累一些工作經驗。當時讀書是真的努力。一般來說本科生每個學期會上12~14個學分的課程。我一口氣報了兩倍的課程,因為超過了學校上限的21個學分,還被院長請去做心理輔導。只能從別的學校賺學分。還一鼓作氣拿了全級第一。
?
本來以為工作穩(wěn)了。沒想到一個offer都沒拿到。信心瞬間崩塌。
在絕望的時候,無意間在Youtube上看到一個視頻:“What most schools don't teach”。
突然發(fā)現(xiàn),原來寫代碼是一件這么酷的事?!澳憔拖褚粋€法師,自己就能創(chuàng)造整個世界”。計算機是一個未來必備的技能。更重要的是,它能幫助我找到工作。我一定學會它。
?
先拿到一個計算機學位做敲門磚
那時候已經是我大學最后一年了??鐚I(yè)考計算機專業(yè)的研究生基本沒戲(當時壓根沒有選過一門計算機相關的課程)。但在我人生詞典里,不可能沒有辦法。在最后一個學期里,我爭取報上了幾門計算機相關的課程。跑遍了數(shù)學學院和計算機學院的所有教授,懇求他們收我為徒。免費幫他們干活做項目。有兩個教授被我的精神感動了,收留了我。那段時間都快瘋了,上著跨年級的課程,下課立馬跑到教授實驗室?guī)兔?,晚上還得熬夜背GRE的要你命3000。既然時間不夠,就想辦法提高效率。人都是被逼出來的,當時我還自己研究出了適合適合我自己高效的學習方法,比如背單詞周期性訓練法,寫文五段模版,抽象概念具象圖畫法等等。在吃飯的時候,洗澡的時候,我都在思考怎么樣提高效率?;仡^才發(fā)現(xiàn),正是這個階段的壓力,反而促成了我日后高效學習能力的養(yǎng)成。
?
終于,我拿到教授們的推薦信,順利考上了計算機的研究生。
如果不占優(yōu)勢,別跟隨大眾常規(guī)操作
入學后發(fā)現(xiàn)身邊的同學都是國內211,985計算機的名校。有許多從初高中就開始學習計算機。相比之下我就是各種膜拜。身邊還有很多在北京工作多年,把房子賣了,拖家?guī)Э谌野醽砻绹鳤ll in的同學,很佩服大家的勇氣。大家的目標都只有一個:進入頂級互聯(lián)網公司。
?
當時聽師兄師姐的反饋就業(yè)形式并不樂觀。更別提我這種轉專業(yè)沒什么經驗的小白,就連許多名校的土著,也沒幾個能拿到大公司的offer。常規(guī)套路肯定沒戲了,要達成目標,必須另辟蹊徑。?
掌握一種技能最好的方式:創(chuàng)業(yè)?
當時我在想一個事情。怎么樣才能更快學習一項新技能?許多同學會去找一大堆資料,買一大堆書,這一切都完成后已經很累了。就沒有然后了。制造出一種假象滿足感。但最好的學習方式,是你有十足的熱情,系統(tǒng)還會給你持續(xù)有效的反饋。
?
我想到了創(chuàng)業(yè)。大部分同學不太認同:課業(yè)都忙不過來,哪有時間搞這些?我只好自己單干。
找到一個需求:剛來紐約的時候,發(fā)現(xiàn)找房子很困難。我想搭一個網站,專門給紐約中國留學生提供租房信息。當時是干啥啥不懂,全得靠Google。覺得不可能完成的一件事,吭哧吭哧過了三個月反而被我做出來了。這個小項目當時也做到了上萬的用戶量。一件不可能的事情,回頭看其實也不是很難。最重要的,我把搭建一個產品從前端到后端的技能熟練掌握了。
如何學算法?要把自己當成老師
大公司工程師的面試主要考算法。怎么學好算法?這是大部分同學當時的痛點。
我總結出來的方法是:學習一樣東西最好的方式:把自己當成老師。
我在第一個學期就選了算法課。每次上課前,我會提前在coursera(Priceton的算法課)上把當天要講的內容預習一遍。然后在課間給同學們講題解題(其實我是在通過這種方式學習)。后面教授注意到我了,讓我?guī)退鲋?。那時候我有一個任務是幫教授出題和批改作業(yè)。要出題,就必須對這個算法有更本質的了解。后面你會驚訝的發(fā)現(xiàn):核心的算法也就那么十幾個,所有的題目,其實都是圍繞這些核心算法做變形。萬變不離其宗。
?
當你是老師視角的時:
你會更了解這道題的本質。讓學生學到/理解了知識的核心點,你就成功了。
當你是學生視角的時:
你只要解決了這道題。你就算完成了。
?
發(fā)現(xiàn)了這個規(guī)律后,我強行把自己硬掰成老師的視角。果然效率提升好幾倍。我對算法的認知不在停留于表面,而是有了更深層次的理解。當時發(fā)現(xiàn)一個好玩的事情是:一開始我對算法沒有什么特別的感覺,但當我開始深入研究,算法反而變得越加有趣。很多東西,有趣的點都在很深的地方。許多人說對一樣東西沒興趣/不喜歡,那是因為你還沒專研得足夠深,還沒有看到它有趣的點??吹皆S多人用意志力,自制力強行讓自己學習,其實是很低效的。
?
當時我身邊同學一遍一遍在刷著題,許多都流于表面。記住了這道題,稍微變一下型就不知道怎么做了。還會因為帶著之前做題豐富的“經驗”而擾亂思路。其實在實際工作中也是一樣,一個同學把業(yè)務做得很熟練,很有經驗。但只要環(huán)境一改變,變量一多,之前再多的經驗反而成為累贅。很多同學工作多年,其實是在不斷重復著第一年,實際并沒有什么進展。
?
功夫不負有心人,最后還是拿到了Google/Facebook/Amazon等一眾offer。世界上有很多看似不可能的事情,但人類最厲害的地方就是你的大腦。如果你在某一個領域不占優(yōu)勢,不要用大家都用的常規(guī)套路出牌。用巧勁而非蠻力,因為蠻力斗不過。任何的困難,都是機會。任何的機會,你都能想辦法抓住。
特別推薦一個分享架構+算法的優(yōu)質內容,還沒關注的小伙伴,可以長按關注一下:
長按訂閱更多精彩▼
如有收獲,點個在看,誠摯感謝
免責聲明:本文內容由21ic獲得授權后發(fā)布,版權歸原作者所有,本平臺僅提供信息存儲服務。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!