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