2-3 目標

2-3 目標

來自專欄 改行CS導論

前文算是心靈雞湯,本文回歸現實。

現實對改行者是很不利的。如果我說,你隨便轉個行就能比科班的人強,那我一定是騙子,或者是培訓機構。我不願意騙你們,我可以說,改行者的現實是很不利、很殘酷的。

我深有體會的是以前看過一個CS科班出身寫的一段話,大概意思是:科班出身(本科學CS的,下同)看似沒有什麼優勢、在本科也浪費了很多時間、最後找到的工作跟改行者可能也差不多;但哪怕即使是水平一般的科班,其基礎和積澱也不是優秀的改行者所能媲美的。

這段話怎麼理解?我不覺得是歧視,說出了一些事實。

就我自己而言,我到今天,已經畢業多年,也一直感覺基礎是自己最弱的一環(當然,這裡是跟同級別、身邊的程序員比,對二線三線大公司的普通程序員應該還是碾壓的)。無論是刷題準備面試,還是工作中。 當然,現實工作中並沒有受太大影響倒是真的。畢竟工業界和學術還是有距離的,簡單的來說,有時候閱讀能力、學習能力遠比基礎重要:不會不要緊,現學現賣么。

其中的道理其實超級簡單:人多學了4年,而且還是在好學、精力集中、年輕時的本科階段。想靠兩年碩士學習就打敗4年本科+2年碩士出身的科班,其實根本不現實:說到底,就算你牛,人CS科班也是牛人很多對吧?你努力,人CS科班的難道在睡覺?而且,必須承認本科CS出身有很大的先發優勢,改行者其實追趕得非常累,比如CS科班就容易找到實習,改行的就很難,所以兩者的距離是進一步放大的。

所以我反對兩個極端:(1)學習CS需要循序漸進,不能一蹴而就;(2)CS不需要基礎,培訓培訓編程高中生就能上手。

反對(1),是因為改行者來不及,除非從本科學起,實效性差,時間和金錢資源消耗太大;

反對(2),是因為類似飲鴆止渴,短期有一定效果,長期來看發展受阻;

我個人認為的折中道路是:早期重視面試和實用技術,快速找到第一份工作,快速解決最基本的金錢和生存問題;找到工作後的中期反而注重基礎和進階的知識,同時刷題、系統設計等慢慢跟上;到後期時因為基礎、工作、面試方面都不弱,綜合起來可以開始衝擊一線大公司或是創業公司,此時的實力才趕上科班出身。

整個過程應該至少給5-7年的時間,更多也不奇怪。有人限於資質和努力,但主要是個人追求不同,一生可能就停留在早期或是中期,也是很正常的。

早期大概是0-2.5年,主要是讀書期間,以找到第一份「正經」工作為結束標誌;

中期大概是2.5年-5年甚至8年,主要是工作早期,H1B時期,兼排綠卡,加強基礎的時期;

後期就很靈活了,每個人都有自己的玩法,不提;

天資高或是機遇好的人很可能極大地縮短這個過程,比如名校改行的畢業就進一線大公司很正常,相當於是早中後期一起同時完成了,不在討論範圍內。

有人肯定會說有沒有捷徑或是其他路線。當然是有的,可惜我不知道、不清楚、沒試過。知之為知之,不知為不知。我之所以建議這樣,也是因為當前(2018)形勢下,這條路應該說最中規中矩,並且按投入產出來說,回報的數學期望很高。

那麼我試著定一下最基本的明確目標:(Primary是必須完成的,Secondary是可選(optional)的目標)

早期:

(1) (Primary)找到一份Developer的工作;

(2) (Primary)該工作支持H1B抽籤;

(3)(Primary)該工作是永久性(FTE)工作,非contractor;

(4) (Secondary)該工作年收入大於80K(灣區標準,其他地方自己調整,下同);

解釋:(1)中對developer的要求是為了職業前景,暫時不考慮Support,DevOps,QA,Tester等情況,後面具體討論;(2)是為了不浪費OPT,儘可能地最大化H1B概率,移民的重要步驟之一;(3)是為了保證工作穩定性;

早期階段的整體難度:很高。

中期:

(1)(Primary)找到一份支持辦綠卡的Developer/Engineer工作;

(2)(Primary)年收入大於120K;

(3)(Secondary)該工作是至少2、3流大公司;

(4)(Secondary)該工作技術是主流;

解釋:(1)是關鍵,移民的重要步驟之二;(2)不解釋;(3)2、3流大公司有助於build resume;(4)技術主流很重要,對後面自身的市場價值有利、跳槽有利等,是長期投資;

中期階段的整體難度:一般。

後期:

(1)(Secondary)找到一流大公司,熱門startup或是舒服的大公司;

(2)(Secondary)年收入大於240K;

(3)(Secondary)技術先進;

(4)(Secondary)Work/Life Balance好;

解釋:後期沒什麼可說的了,基本上都是optional的目標。

後期階段的整體難度:無,因為沒有必須完成的。如果實現全部Secondary,很高。

所以整體來說,最困難的是早期:早期看似時間多,有全職找工作的2.5年甚至可以拖得更長,但也是難度最大的,因為基礎和經驗都是從0開始的。學習相對低效,很多東西都不會,連聽都沒聽說過,更別說建立成熟、有效、適合自己的學習方式了。

同時,這一階段往往也是剛到美國後生活、語言等方面的轉變時期,所以要花費很多額外時間。

這個階段還因為資金有限,經濟上的壓力也很大,必須規劃好財務(假設錢很有限的情況下),防止在找到工作前生活費燒乾的困窘情況。有人可能說可以打工啊。的確如此,但是個人不推薦,除非萬不得已。畢竟打工消耗了大量時間和體力,短期解決資金,長期看則消耗了大量機會。

很多心智不夠堅毅的人在早期的壓力也是最大的。無論是適應一個新領域,還是面對自身以及周圍的壓力都是很有挑戰性的。

一旦找到第一份工作,一切就會好很多。因為一旦有工作經驗,就開始了正反饋過程:經驗帶來了更多的機會,更高效的學習,更優越的環境和更好的起點。後面的難點可能來自於需要花費大量的下班時間加強自身。CS是一個終身學習的行業,這個恐怕是共識。那些技能簡單陳舊、「簡單而且能幹到老」的職業很可能在接下來30年中面臨失業的挑戰,被自動化和AI所取代。

心靈雞湯

知乎上年輕人多。其實20多歲的年紀,膩煩或是喜歡心靈雞湯都是正常的。膩煩,是因為逆反心理、年輕有活力、夠反叛;喜歡,是因為年輕,還有夢想,喝雞湯當汽油燒。

很多知乎大神也都燉得一手好雞湯。我不善於這個,但想藉機說說:的確,尤其是改行早期,因為比較痛苦和煎熬,是需要一定心靈雞湯的,換句話說,執著的態度和堅持。

人的精神是可以調整的。為什麼這麼多改行者生存下來並且活得很好?雖然很多不利,但是這些人大多能堅持、善鼓舞自己,逐漸就柳暗花明了。

喝雞湯差不多是最廉價的興奮劑了,還沒副作用,為什麼不喝呢?到我這個年紀,雞湯基本上就無效了。在早期學會激勵自己,是蠻重要的技能。


推薦閱讀:

相思入眸,歲月情長
紅色不該被遺忘
永遠不要對自己做這些事!
老闆給哥熬了三鍋雞湯,含淚喝下
你愛逞強嗎?

TAG:心靈雞湯 | 計算機專業 | 轉行規劃 |