我是如何在5個月內(nèi)找到一份薪水翻番的工作的?
英文原文:How I Doubled my Salary in Five Months and Got an Amazing Job
六個月前,我辭掉了初級 JavaScript 開發(fā)者的工作,并去東南亞旅行了五個月。在回到英國后的一個星期內(nèi),我就拿到了三個正式 Offer,并接受了其中一個 Offer,這份工作的薪水差不多是我之前工作的兩倍。這個過程并不容易,但卻是非常值得的。下面是我的整個求職經(jīng)歷。
我的目標(biāo)
我原本計劃去東南亞旅行3-6 個月,我也有信心在旅行回來后能夠找到一份更好的工作。我之前做初級 JavaScript 開發(fā)的工作經(jīng)歷讓我明白了如下三點:
-
我喜歡編程,不僅僅是我的個人愛好,也是我的職業(yè)興趣。
-
我喜歡后臺開發(fā)工作,因為不用涉及 CSS 和可視化的前端開發(fā)工作。
-
我不是很喜歡 Angular 開發(fā)框架。
理清了上述這些東西后,我為自己設(shè)定了旅行回來后理想的工作目標(biāo),以及為實現(xiàn)理想工作目標(biāo)所必需做的準(zhǔn)備工作。我的目標(biāo)是成為一個中級職位的全棧工程師。
審視與調(diào)研
為了能夠成為一名我目標(biāo)中的合格的中層全棧工程師,以及我需要如何進一步提升自己的水平,我四處搜尋了一些我比較向往的工作招聘信息。我明白了他們對候選人的要求以及偏好。
通過我的調(diào)研,我發(fā)現(xiàn)這些工作招聘信息中絕大多數(shù)有如下要求:
-
對 JavaScript 有較為深入的理解
-
至少熟悉一種開發(fā)環(huán)境(通常是 React 或者 Angular)
-
能夠創(chuàng)建一個應(yīng)用編程接口(REST API,通常是 Express)
-
至少熟悉一種數(shù)據(jù)庫技術(shù)(通常是 MongoDB 或者 SQL)
制定行動計劃
基于上述調(diào)研信息,我明白我需要在以下關(guān)鍵方面提升自己:
-
我需要讀完《你不知道的 JS》(You Don’t Know JS)這本書。這個系列的書曾經(jīng)為我初步學(xué)習(xí) JavaScript 知識提供了很大幫助,所以我覺得也應(yīng)該對我學(xué)習(xí)更高階的 JS 也會有不少幫助。
-
我需要努力提升自己前端開發(fā)的能力,至少熟悉一種前端開發(fā)環(huán)境。我簡單對比研究了 Angular, Vue 和 React 這幾種開發(fā)環(huán)境,并決定選擇 React。因為我之前接觸過一點 React,并且很喜歡;我不太喜歡 Angular,而且要求使用 Vue 的工作并不是很多。
-
雖然我可以直接從頭創(chuàng)建一個 Express API,但我不是很有信心,而且我只會做一些很基礎(chǔ)的東西。因此我需要全面強化自己這方面的能力,尤其我向往的目標(biāo)工作又非常重視后端開發(fā)能力。
-
我可以堅持使用關(guān)系型數(shù)據(jù)庫(比如 PostgreSQL),也可以學(xué)習(xí)一種新的數(shù)據(jù)庫技術(shù)。我***決定學(xué)習(xí) MongoDB,因為這個數(shù)據(jù)庫非常流行,并且可以讓我的簡歷上多一種非 SQL 數(shù)據(jù)庫技能。
由于當(dāng)時我還不確定我要旅行多久,所以我制定的學(xué)習(xí)計劃如下:
-
在讀《你不知道的 JS》這本書的同時,開始學(xué)習(xí) React 及 Redux 知識。
-
提升 Express 技能,并學(xué)習(xí) MongoDB。
-
用所學(xué)知識做開發(fā)練習(xí),學(xué)以致用。
-
學(xué)習(xí)其他的東西。
我這樣制定計劃是有原因的。如果我三個月就結(jié)束旅行,并且完成了***條學(xué)習(xí)內(nèi)容,處于第二條學(xué)習(xí)階端中,那么我依然能夠找到一份中級職位的開發(fā)工作,只是可能主要是一些前端開發(fā)工作。如果我先學(xué)習(xí)完后端開發(fā)的話,那么三個月后我可能依然沒有太多信心能夠從事任何后端開發(fā)環(huán)境相關(guān)的工作;那樣的話,就可能對任何一個中級開發(fā)崗位都是一個卡點了。當(dāng)然我也可以嘗試申請純后端開發(fā)工作崗位,但是這些崗位似乎都要求更多的開發(fā)工作經(jīng)驗,而我又不達不到經(jīng)驗這塊兒的要求。
學(xué)習(xí) React 和 Redux,讀《你不知道的 JS》
我之前通過 Youtube 視頻學(xué)習(xí)和一些正常的網(wǎng)上教程學(xué)習(xí)過一點 React 知識,但是這次我決心要系統(tǒng)地學(xué)習(xí)一下。于是我從 Udemy 上購買了《React JS and Redux: 掌握網(wǎng)站應(yīng)用開發(fā)》這個課程。這個課程非常不錯,我之前積攢的一點 React 經(jīng)驗也很有幫助,但是我對 Redux 確實零基礎(chǔ)。課程學(xué)完后,自我感覺已經(jīng)可以創(chuàng)建一個比較復(fù)雜的網(wǎng)站了,并能熟練使用 React 的句法和格式,以及 Redux 的數(shù)據(jù)控制。
我學(xué)完這個課程大概花費了兩周左右時間,這期間包括了一到兩周平均要花費1-2 個小時自我練習(xí)。我在亞洲旅行的時候正好趕上節(jié)假日,所以學(xué)習(xí)就不再是***位的優(yōu)先事項了。就像我只要有機會坐在筆記本電腦前就學(xué)習(xí)這個課程一樣,我路上一有機會就讀《你不知道的 JS》,并讀完了系列的后幾本。我把在線 Github 版本的電子版書存在了手機上,這樣我在旅行穿梭中就可以利用碎片化時間學(xué)習(xí)了。
由于有了一些實際開發(fā)練習(xí)經(jīng)驗,我這次讀起來比我之前讀的時候理解更多了。像 Promises 這種技術(shù)知識點,你如果從來沒有使用過的話,會很難理解。
強化 Express 技能,同時學(xué)習(xí) MongoDB
現(xiàn)在我感覺前端開發(fā)已經(jīng)隨心應(yīng)手了,是時候提升我的后端開發(fā)能力了。這一次我依然打算選擇通過 Udemy 課程學(xué)習(xí)。因為我覺得這些課程是一個比較完整的學(xué)習(xí)體系,內(nèi)容循序漸進并且能夠覆蓋開發(fā)工作的全過程。當(dāng)然你也可以通過 Youtube 或者其他在線教程免費學(xué)習(xí)這些東西,但是它們并不能夠如 Udemy 課程那樣更好的覆蓋全部的內(nèi)容。
接下來是要選擇哪一個課程了,Udemy 上的課程有免費的,有付費的,而且有長有短。我***還是決定為自己投資,購買課程(相對于這么大的課程信息來說,10 美元算是一筆很小的投資)。***我篩選出了大概三個課程,每個課程時長從 7 小時到 25.5 小時不等。一開始我比較傾向于 7 小時的那個課程,因為我可以在一到兩周就學(xué)完,而且還可以很好的享受我的假期。那個 25 小時的課程明顯要占用我更多的時間,但是應(yīng)該覆蓋了更多內(nèi)容。在旅行的這個時點,我決定要一直旅行,直到花光我的銀行存款;于是我就不在于時長長短,就選擇了 25 小時的課程。
Node 加上 React:全棧網(wǎng)絡(luò)開發(fā)(Node with React: Fullstack Web Development)
我其實之前對這個課程做過一個全面的測評,是個非常不錯的課程。由于之前學(xué)習(xí)接觸過 React 和 Redux,這個課程中對 React 內(nèi)容又重復(fù)了一遍。所以為了不浪費時間,你可以跳過你已經(jīng)熟悉的內(nèi)容部分,或者你可以直接 2 倍速播放,就當(dāng)快速溫習(xí)回顧了。
這個課程真正精彩之處是后端開發(fā)部分的講解。它覆蓋了非常廣泛的內(nèi)容,包括 oAuth、事件處理,payments 技術(shù)、開發(fā)密鑰(API Key)處理、MongoDB、mongoose 技術(shù)、以及高級部署等。
這個課程之所以這么長,是因為它非常細致地涵蓋了非常多的內(nèi)容。這既好又不好,我***大部分內(nèi)容都是以 1.5 倍速看完的。這個課程比我***個學(xué)習(xí)課程長多了,但是我最終差不多用了一個半月成功學(xué)習(xí)完。
開始寫作
當(dāng)我在中國的時候,我決定寫一篇文章,闡述在中國做開發(fā)有多么的糟糕。后來這篇文章被自由編程社區(qū)(Free Code Camp)的出版物收錄,現(xiàn)在大約有 1600 多的閱讀量,和 791 次點贊。我對有這么多人閱讀并喜歡我的文章感到很驚喜。
上述是我的文章發(fā)布后 30 天的統(tǒng)計數(shù)據(jù)。那之后,我決定要寫更多的文章,描述我的日常以及我發(fā)現(xiàn)的一些有意思的事情。這也讓我在面試及采訪的時候能有更多的話題可說。寫博客也是一種很好記錄你進步的方式,讓你能夠看到你進步的軌跡。
學(xué)以致用
現(xiàn)在我所有準(zhǔn)備工作和工具都已具備,我要開始學(xué)以致用了。我現(xiàn)在已經(jīng)旅行了三個半月了,并設(shè)想還可以繼續(xù)旅行1-3 個月。這也意味了,如果我想要回去后盡快開始工作的話,我就需要開始思考找工作的事情了。
為了申請工作,我首先需要更新我的簡歷和作品集網(wǎng)頁了。這時候就用到了我這幾個月來學(xué)習(xí)的成果了,用 Node 和 React 建立一個新的作品集網(wǎng)站。
我就是這樣做的,下面這個就是我的成果。我之前就說過,我并不是個設(shè)計師,但是這個網(wǎng)站也運行良好。我甚至用了一個 Wordpress API 將博客內(nèi)容存儲在網(wǎng)站上。我知道我的設(shè)計功底很糟糕,于是我將它放到了 reddit 下一個網(wǎng)站設(shè)計子論壇。我收到了很多很好的建議,其中大多數(shù)都是建議我用幾個月時間好好研究學(xué)習(xí)基礎(chǔ)的網(wǎng)站設(shè)計知識。其中一點建議我確實采納了,那就是利用已有的輔助引導(dǎo)程序。這樣就生成了一個全新的網(wǎng)站,沒有用到任何新技能,但是已經(jīng)看起來不那么花里花哨了。
申請工作
我下一站旅行地是老撾境內(nèi)一個偏遠的攀爬區(qū)。我覺得這應(yīng)該意味著有限的電力以及沒有 Wi-Fi 網(wǎng)絡(luò)。于是我在接下來兩周的老撾旅行期間,就把我的筆記本電腦留在了曼谷。當(dāng)我到達老撾的營地后,我發(fā)現(xiàn)那里竟然有 4G 網(wǎng)絡(luò)!我買了一個當(dāng)?shù)氐?SIM 卡(1.5GB 數(shù)據(jù)流量需要 2 英鎊,超出部分每 GB 需要 89 便士),就滿足了一般性的上網(wǎng)需求。這個時候我意識到我回國之前還可以在老撾待兩周,然后在中國待 4 周。是時候嘗試申請工作了。
在接下來一個半月里,我申請了超過 50 個招聘崗位,通過電子郵件和 Linkedin 與大約 25 個人聯(lián)系過,***得到了 5 個面試機會。我找工作的過程主要是通過電子郵件,但是如果有人想直接通過電話聯(lián)系,我也很推薦(我早就想到這個方法了)。
我認為通過一個真正的對話可以很大程度上提升你與對方的關(guān)系,并提高受邀面試或推薦工作的機會。如果你不想通過打電話或者 Skype 視頻聯(lián)系對方,也可以使用傳統(tǒng)的電子郵件,不過我覺得那樣你的成功機率可能會小很多。
打造更多的案例
其中一個面試中,讓我為一個有著糟糕網(wǎng)站和極少客服服務(wù)能力的公司設(shè)計一個網(wǎng)站原型。我覺得這個很有趣,可以讓我學(xué)習(xí)網(wǎng)站原型設(shè)計。我寫了一系列關(guān)于如何構(gòu)思網(wǎng)站原型的文章,并且具像化地制作了那些網(wǎng)站。
我***又為處理退貨訂單,創(chuàng)建了一個在線智能聊天工具。我學(xué)習(xí)了在線智能聊天工具的工作原理,然后花費了大約一個星期才搞出來一個像樣能夠運行的版本。這個案例成果是我能夠最終得到那個工作 Offer 的很重要的一個影響因素。
面試
現(xiàn)在我有 5 個面試機會,我需要把它們轉(zhuǎn)化成最終的工作 Offer。
?。?)準(zhǔn)備
我之前已經(jīng)寫過一些關(guān)于 JavaScript 面試準(zhǔn)備和掌握面試流程的一些文章,我覺得那些文章已經(jīng)涵蓋的很全面了。
我清楚的知道我想重點強調(diào)哪些東西,如何回答關(guān)于自己弱點的這類問題,以及每個公司的回應(yīng)。
?。?)***的面試
我其實一直比較擅長面試,雖然我天生有點內(nèi)向的性格。我一直學(xué)習(xí)如何讓自己表現(xiàn)的更加外向,更多地與面試官交流。如果你面試中也有表現(xiàn)的害羞和內(nèi)向的話,那么我推薦你找本情商方面的書,并表現(xiàn)的更加自信。
我經(jīng)歷的四分之三的面試中都有技術(shù)筆試(其中有兩個是在線筆試),而我之前的苦練準(zhǔn)備也有回報。雖然其中有點疏忽,但是我還是積極轉(zhuǎn)動大腦思考,并良好的完成了所有測試。
***的 Offer 與談判
我在前三個面試中,得到了兩個 offer。第四個面試結(jié)束后,我就感覺那家公司并不適合我,于是我當(dāng)時就告訴對方,我不會考慮他們的 offer。如果你也有類似情景,如果你不打算接受一家公司的 offer,就盡量不要引誘他們了。
現(xiàn)在我有兩家非常愿意雇傭我的公司的 offer。談判的時候到了。我一直不太擅長談判或者為自己爭取更多利益,但是我讀了一些這方面的指導(dǎo)文章,然后就試著為自己爭取利益了。
-
你可能這樣想:“好吧,我不想抱有太高的期望,而且這個 offer 已經(jīng)很不錯了,我覺得應(yīng)該接受”
-
打住,你還需要進一步談判。
-
或者你這樣想:“我不想一開始表現(xiàn)的過于貪婪,給我未來雇主造成不太好的***印象”
-
打住,你還需要進一步談判。
-
“但是這家公司很小,而且.....”
-
打住,不要繼續(xù)說下去了,抓緊下一步的談判吧。
工作 offer 談判十大原則。我推薦所有正在找工作的人都讀一讀。
我這方面做的肯定不***或者說沒那么好,但是我確實通過一些行動為自己爭取了。我有兩個不相上下的 offer,但是我更傾向于其中的一個。我先自己寫了一個小紙條(幾個緩解緊張的呼吸練習(xí)后),我就向我中意的那家公司的人事主管打去了電話:
您好,Dave。我打電話是想讓你知道我現(xiàn)在想法。首先感謝您給我這個工作機會,我很高興您認為我是公司的合適人選。我現(xiàn)在還有另外一個很不錯的 offer,我這周末做出***決定后,我會下周一 12 點前告訴您結(jié)果。
其實有一點,我覺得如果能滿足會讓我更加傾向于接受您這邊的 offer。由于我無論我接受哪個 offer,我都得搬家尋找新的住所,所以如果您這邊如果能在搬家住所費用方面能給我提供一些幫助的話,那就***不過了。
***事情的進展雖然和上面說的不完全一致,但是它也幫助了我很多。我向他們表達了提供工作機會的感謝,告訴他們***的決定日期,并且在沒有要求更高工資的前提下表達了尋求其他方面利益的想法。
總結(jié)
我先弄明白了為了找到理想中的工作我都需要做哪些方面的準(zhǔn)備。我利用這些信息制定了一個規(guī)劃,并通過網(wǎng)上付費課程快速學(xué)習(xí)到了所需的技能。
我申請了數(shù)不清的工作崗位,***得到了 5 個面試機會。我又通過討價還價的談判從***兩個 offer 中選擇了我最喜歡的一家公司。我現(xiàn)在已經(jīng)在這家公司工作兩周時間了,而且我很喜歡這份新工作。