一直以來(lái),作為一個(gè)老碼農(nóng),筆者總是嘗試來(lái)寫(xiě)一份關(guān)于碼農(nóng)的職業(yè)規(guī)劃的文章,然而每每提起筆來(lái),總是無(wú)法找到切入點(diǎn)。今天,我們嘗試從碼農(nóng)的職業(yè)規(guī)劃的必經(jīng)之路“面試”作為切入點(diǎn),來(lái)聊聊職業(yè)規(guī)劃吧。
1. 職業(yè)理想
1.1. 理想分布
碼農(nóng)的職業(yè)理想,無(wú)非有幾大塊(各種猿):
程序猿:做一個(gè)標(biāo)準(zhǔn)的搬磚的程序猿——DEV(Developer)
測(cè)試猿:做一個(gè)驗(yàn)收砌磚質(zhì)量的測(cè)試猿——QA/STE(Quality Assurance / Software Testing Engineer)
項(xiàng)目猿:做一個(gè)承包砌磚工程的項(xiàng)目經(jīng)理——PM(Project Manager)
產(chǎn)品猿:做一個(gè)制定砌墻方案的產(chǎn)品負(fù)責(zé)人——PO(Product Owner)
需求猿:做一個(gè)落地砌墻標(biāo)準(zhǔn)的需求分析師——BA(Business Analyst)
大體上的這些,包含了碼農(nóng)從職業(yè)類(lèi)型上劃分的職位,當(dāng)然,林子大了,這些職位也都會(huì)有小組長(zhǎng)、中隊(duì)長(zhǎng)、大隊(duì)長(zhǎng)咯,常規(guī)操作嘛。不過(guò),從實(shí)際操作入坑的可能性來(lái)看,測(cè)試猿和程序猿是靠譜的入坑方式。
1.2. 入坑指南
首先我們從一個(gè)入坑流程圖作為開(kāi)場(chǎng)。
根據(jù)上圖,可以得出下面的入坑指南。
如果是全日制本科,并且計(jì)算機(jī)相關(guān)專(zhuān)業(yè),包括專(zhuān)業(yè)中帶有“計(jì)算機(jī)”、“軟件”和“信息”的名字,那么你入坑做一個(gè)碼農(nóng)的基礎(chǔ)是不錯(cuò)的。其中非985、211在大學(xué)班級(jí)的 TOP 10% 基本上可以直接入坑,剩下的 90% 需要進(jìn)一步提升可能才有入職的機(jī)會(huì);985、211的童鞋,爭(zhēng)取 BAT 的校招職位吧。 這里的入坑,基本上是“程序猿”。如果是全日制專(zhuān)科,那么對(duì)應(yīng)的大學(xué)班級(jí)的 TOP 10% 也是基本上可以直接入坑,剩下的 90% 需要進(jìn)一步提升,這里的入坑是指“測(cè)試猿”。
1.3. 發(fā)展方向
到這里我們應(yīng)該可以看到,碼農(nóng)入坑的門(mén)檻應(yīng)該最低的就是“測(cè)試猿”了,然后才是“程序猿”。剩下的坑事實(shí)上對(duì)于沒(méi)有在一線大廠實(shí)習(xí)過(guò)的應(yīng)屆畢業(yè)生來(lái)說(shuō),比較渺茫了。當(dāng)然個(gè)人建議本科入坑“程序猿”,專(zhuān)科入坑“測(cè)試猿”。而入坑之后的發(fā)展如下:
程序猿可以有兩大方向:技術(shù)和業(yè)務(wù)。
技術(shù)上,可以做到架構(gòu)師,專(zhuān)門(mén)專(zhuān)研技術(shù)的學(xué)習(xí)與運(yùn)用,作為資深研發(fā),當(dāng)然也有機(jī)會(huì)做到公司的CTO職位。
業(yè)務(wù)上,可以做到項(xiàng)目經(jīng)理,這也是很多程序猿的首選發(fā)展方向,畢竟包工頭和苦力是有截然不同的。此外有一個(gè)新興的職位:敏捷教練,也叫Scrum Master。
曲線救國(guó):
如果你發(fā)現(xiàn)你無(wú)法理解開(kāi)發(fā)框架,也沒(méi)有足夠的溝通協(xié)調(diào)能力和項(xiàng)目專(zhuān)注能力,并且還是希望搬磚寫(xiě)代碼,可以轉(zhuǎn)做“測(cè)試猿”,這樣類(lèi)似于降維打擊,你可能不是一個(gè)很出色的程序猿,但是或許你是一個(gè)很出色的“測(cè)試猿”,尤其在編程能力上面,目前的市場(chǎng)上你會(huì)擁有“維度優(yōu)勢(shì)”;
另外就是做運(yùn)維開(kāi)發(fā),主流的 DevOps 其實(shí)也不錯(cuò)的。

測(cè)試猿同樣可以有兩大方向:技術(shù)和業(yè)務(wù)。
技術(shù)上,同樣可以做到架構(gòu)師,這里是測(cè)試架構(gòu)師;
業(yè)務(wù)上,可以做到業(yè)務(wù)專(zhuān)家,這個(gè)是業(yè)務(wù)層面的,精通系統(tǒng)架構(gòu)和系統(tǒng)的業(yè)務(wù)邏輯,數(shù)據(jù)上下游,無(wú)論任何一個(gè)節(jié)點(diǎn),均能夠準(zhǔn)確的確定測(cè)試方案;業(yè)務(wù)上還有一種方向:產(chǎn)品負(fù)責(zé)人。這兩個(gè)在業(yè)務(wù)上有差別,前者追求的是整體業(yè)務(wù)邏輯準(zhǔn)確與可驗(yàn)證;后者追求的是業(yè)務(wù)本身的正確性。
曲線救國(guó):
第一是轉(zhuǎn)開(kāi)發(fā),越早越好,測(cè)試的思維,會(huì)幫助你做一個(gè)高水平的程序猿,前提是你的編程能力和框架理解能力;
第二還是轉(zhuǎn)運(yùn)維。
程序猿的入坑方式:Java 后端開(kāi)發(fā),Web 前端開(kāi)發(fā)兩種方式居多。
測(cè)試猿的入坑方式:手工測(cè)試、自動(dòng)化測(cè)試和測(cè)試開(kāi)發(fā)三種方式。
2. 面試落地
接下來(lái)要提到的就是碼農(nóng)的面試。對(duì)于絕大部分的碼農(nóng),任何的職業(yè)夢(mèng)想,都是從面試開(kāi)始的。如果說(shuō)職業(yè)規(guī)劃是職業(yè)生涯的藍(lán)圖,那么面試就是實(shí)現(xiàn)藍(lán)圖的第一步。不可否認(rèn)的是,無(wú)論是程序猿還是測(cè)試猿,無(wú)論應(yīng)屆生、自學(xué)、參加培訓(xùn)轉(zhuǎn)行哪一種方式,都是通過(guò)面試這一個(gè)落地的方式,從而入坑的。
2.1. 面試準(zhǔn)備
面試準(zhǔn)備這里,首先要做的并不是寫(xiě)簡(jiǎn)歷,更不是找人推薦職位,而是想好自己的職業(yè)發(fā)展,具體落地來(lái)說(shuō),就是確定是入坑哪一個(gè):程序猿,還是測(cè)試猿。這個(gè)要結(jié)合自身的優(yōu)勢(shì)劣勢(shì),以及職業(yè)理想來(lái)確定。
如果想成為技術(shù)專(zhuān)家,專(zhuān)科入坑測(cè)試猿,本科入坑程序猿。
如果想成為項(xiàng)目經(jīng)理,入坑程序猿,后續(xù)轉(zhuǎn)項(xiàng)目經(jīng)理。
如果想成為產(chǎn)品負(fù)責(zé)人,入坑測(cè)試猿,后續(xù)轉(zhuǎn)程序猿(技術(shù)) / 需求猿(業(yè)務(wù)),再做到產(chǎn)品經(jīng)理
如果是轉(zhuǎn)行IT行業(yè),入坑測(cè)試猿。
確定目標(biāo)以后,結(jié)合自身的優(yōu)勢(shì),來(lái)確定簡(jiǎn)歷的設(shè)計(jì)思路??梢允褂玫膬?yōu)勢(shì)如下:

教育背景:從以下幾個(gè)方面來(lái)說(shuō)
學(xué)校,好的學(xué)校當(dāng)然可以幫助簡(jiǎn)歷提升價(jià)值
專(zhuān)業(yè),由于是入坑IT是要與各種猿交道,計(jì)算機(jī)相關(guān)專(zhuān)業(yè)有優(yōu)勢(shì)
學(xué)歷,全日制比非全日制好,本科比專(zhuān)科好
相關(guān)經(jīng)驗(yàn):從以下幾個(gè)方面來(lái)說(shuō)
測(cè)試,手工測(cè)試經(jīng)驗(yàn),能夠帶來(lái)測(cè)試思維和測(cè)試方法。
開(kāi)發(fā),編程經(jīng)驗(yàn)是IT行業(yè)最寶貴的能力,沒(méi)有之一
硬件,軟硬件結(jié)合是一個(gè)趨勢(shì),做軟件行業(yè)需要硬件經(jīng)驗(yàn)
運(yùn)維,在服務(wù)器層面的能力,非同小可。
思維能力
邏輯,很多時(shí)候,邏輯能力決定了碼農(nóng)的上限
溝通,凡事都有溝通,好的溝通能力是成功的保證
分析,良好的分析能力給學(xué)習(xí)和總結(jié)都會(huì)帶來(lái)好的基礎(chǔ)。
在簡(jiǎn)歷中突出優(yōu)勢(shì),重點(diǎn)描述優(yōu)勢(shì)帶來(lái)的經(jīng)歷和總結(jié)。
2.2. 面試回答
回答問(wèn)題,一句話就是“展現(xiàn)自己的優(yōu)勢(shì)”。這里與上一部分是一脈相承的,回答面試的任何問(wèn)題,都需要刻意或者無(wú)意的圍繞這一主題。
具體的方法是:做過(guò)的具體內(nèi)容,以及從該內(nèi)容中的收獲和積累,可以從以下三個(gè)方面作答:
技術(shù):用到的技術(shù),解決的難題,收獲的方法等
業(yè)務(wù):處理過(guò)哪些業(yè)務(wù),以及通過(guò)業(yè)務(wù)抽象出來(lái)本質(zhì)
項(xiàng)目:項(xiàng)目管理的經(jīng)驗(yàn),例如 Scrum 敏捷,Kanban 或者通過(guò)項(xiàng)目管理工具進(jìn)行描述。
2.3. 常見(jiàn)誤區(qū)
懷疑面試官的目的,其實(shí)這個(gè)是誤區(qū)之一,尤其是遭到了“壓力面試”的時(shí)候,便更加明顯,此時(shí)往往會(huì)懷疑面試官在針對(duì)自己,故意讓自己難堪。其實(shí)需要放平心態(tài),一般來(lái)說(shuō)面試也同樣花費(fèi)了面試官的時(shí)間和精力,大家更多的時(shí)候目的是一致的:你要工作,他要招人。
處理不擅長(zhǎng)的領(lǐng)域,這個(gè)是常見(jiàn)的操作了。畢竟別人問(wèn)你,問(wèn)的內(nèi)容和出發(fā)點(diǎn)只能基于他本身的能力經(jīng)驗(yàn),以及你的簡(jiǎn)歷。這里需要補(bǔ)充一點(diǎn):不擅長(zhǎng)的內(nèi)容不要在簡(jiǎn)歷中吹牛。被問(wèn)到不擅長(zhǎng)的領(lǐng)域內(nèi)容,請(qǐng)不要繼續(xù)下去,不如大方的承認(rèn)并將話題引向自己擅長(zhǎng)的部分。
緩解面試中的緊張,這是必備的能力。任何人都可能緊張,但是如果緊張的情緒不去加以制止,那么將會(huì)蔓延到整個(gè)面試的過(guò)程中,你的表現(xiàn)將會(huì)差強(qiáng)人意。正確的辦法:深呼吸,深呼吸,深呼吸。此外可以向面試官交代自己的緊張情緒,有良好經(jīng)驗(yàn)的面試官也會(huì)幫你平復(fù)情緒,此時(shí)也可以進(jìn)一步觀察面試官的水準(zhǔn)。
2.4. 如何觀察
判斷面試官的身份,需要判斷出來(lái)面試官是HR,還是技術(shù)主管,或者是總監(jiān)(老板)等角色。對(duì)癥下藥,這個(gè)很重要。
觀察面試官的反應(yīng),很多個(gè)問(wèn)題的回答,請(qǐng)立刻關(guān)注面試官的面部表情以及肢體語(yǔ)言,到底是贊賞你的回答,還是否定你的回答。
觀察面試公司的雇員,雇員的狀態(tài),便是公司大部分內(nèi)容的呈現(xiàn)。
觀察面試公司的環(huán)境,這個(gè)就不加以贅述了。
3. 職業(yè)發(fā)展
本篇重點(diǎn)討論了如何入坑,以及坑位區(qū)分。發(fā)展的部分并不會(huì)花大量篇幅。盡管如此,筆者還是建議碼農(nóng)們以3-5年為一個(gè)技術(shù)周期來(lái)思索和學(xué)習(xí)。碼農(nóng)是一個(gè)逆水行舟的角色,在搬磚的過(guò)程總需要時(shí)時(shí)刻刻保持饑餓感,對(duì)新的技術(shù)加以學(xué)習(xí),并且思考。學(xué)習(xí)新的技術(shù)只是一個(gè)過(guò)程,在這個(gè)過(guò)程中的思考,才能給你的提升帶來(lái)質(zhì)變。
建議思考兩個(gè)方面:
必要性:為什么會(huì)有這個(gè)新的技術(shù),新的技術(shù)解決了什么問(wèn)題
合理性:新的技術(shù)并不是萬(wàn)能的,那么舊的技術(shù)如何才能進(jìn)一步趨于合理
無(wú)論什么方式入坑,無(wú)論入坑哪里,都希望能夠在入坑的3-5年以?xún)?nèi)進(jìn)入一個(gè)正規(guī)的廠,增長(zhǎng)知識(shí)見(jiàn)地,學(xué)習(xí)企業(yè)文化。有這樣的經(jīng)歷,方可做到進(jìn)可攻退可守,進(jìn)可堅(jiān)守大廠,發(fā)揮平臺(tái)優(yōu)勢(shì);退可尋找小店,發(fā)揮經(jīng)驗(yàn)優(yōu)勢(shì)。
今天先寫(xiě)到這里吧,對(duì)文章有任何疑問(wèn),或者您有不同的見(jiàn)解,建議,意見(jiàn)等,隨時(shí)歡迎與筆者進(jìn)行交流(郵箱: liu.tingli$qq.com),共同進(jìn)步,為碼農(nóng)們盡我們的微薄之力。