在決定轉行前,我是科技公司的一名營銷人員。我嘗試過很多類型的營銷工作,具備活動、公關、搜索引擎優化、內容創作、數字廣告、郵件營銷,但從未找到最適合自己的。
我的上家公司是個人理財的創業公司,品牌知名度很高。公司的座右銘是“內容為王”。與大多數科技公司不同,這家公司里有大量的編輯和記者,只有少數軟件工程師。
在我入職一年后,公司決定改變策略。單純靠內容已經不夠了,許多個人理財初創公司在當年都推出了app,為了不被落在后面,我所在的公司開始減少內容方面的業務,同時迅速招聘產品人員、工程師和設計師。
在這一刻我意識到,是時候轉行了。在本文中,我將介紹我是如何轉行為一名軟件工程師的。下面讓我們開始吧。
第1步:沉浸式課程
我開始找軟件工程方面的沉浸式課程。App Academy和Hack Reactor都提供了一些免費的入門課程,幫助感興趣的人群入門。Hackbright也有針對女性開展一些編程課程。
最終,我選擇了Hack Reactor,它提供了為期一個月的結構化學習計劃(SSP)課程。課程設置很實用,我認識的三名學員在完成課程后都獲得了軟件工程方面的工作。
第2步:沉浸式編程
決定選擇Hack Reactor,之后我需要為SSP做準備。為此,我完成了Udacity上JavaScript的入門課程以及其他一些JavaScript在線課程。
針對SSP和Hack Reactor的沉浸式項目,我共花了四個月的時間學習編程,每周學習6天,每天12小時以上。這段時間,我不僅提高了解決問題的能力,還提高了對JavaScript的理解,而且還學習了前端和后端框架。
第3步:提高求職技能
在學習在線課程的過程中,我學習了很多概念,其中最主要的是算法和數據結構。
沉浸式課程中涵蓋了工程師在工作中所需的技能。針對面試的練習時,掌握算法和數據結構是關鍵。
在提高面試技能時,我用到了以下資源:
CodePath :為期8周的課程,涵蓋從數據結構到系統設計的所有最常見的面試問題。
InterviewCake:針對算法思維中最常見模式的指南
LeetCode :海量練習題
Grokking the System Design Interview: 解釋如何權衡常見的系統設計問題,例如如何設計Instagram
第4步:咨詢經驗豐富的工程師
我向許多資深工程師詢問了求職建議。以下是一些最有用的建議:
邁出第一步:每個工程師都是一步步成長起來的。許多工程師在找到心儀的工作之前,都經過了不斷的嘗試和努力。如果你沒有馬上找到合適的工作,也不要泄氣。
重寫簡歷:如果你是剛入行的工程師,你的簡歷可能有些稚嫩。關注你所做的內容和技術決策,而不是實現了什么。
尋找指導機會:關注擁有30多名工程師的團隊,因為這將讓你很快提升編程技能,并獲得指導機會。
進行個人項目:這將展示你在求職過程中對軟件工程的熱情,讓你在面試中脫穎而出。
第5步:忽略無益的建議
我找工作的時間是2018年的夏天,當時我收到了很多善意但無益的建議。有些來自招聘人員,工程師同事和一些朋友。以下是其中一些:
過去幾年,初級工程師的市場需求已經放緩。中型公司只招高級職位,并暫緩招聘初級職位。
過去幾年,不僅市場過度飽和,而且培訓機構學員的質量也有所下降,很難找工作。
你是很有能力的求職者,但我們公司沒有足夠的資源來培養你。請保持聯系,我們很樂意等你有更多經驗時再面試你。
在暑假期間找工作很難,你還需要與計算機科學專業的學生競爭實習機會。請在秋季有更多職位空缺時再試試。
秋招形勢也很嚴峻,隨著公司接近第四季度,招聘將放緩。如果你今年夏天找不到工作,你就得等到明年了。
你可以試著找找產品經理的實習機會。等你有一定經驗了,也許可以轉行到軟件工程。
我確信很多工程師都聽過類似的建議,關鍵是要學會忽視它們并保持專注,否則很容易分心。
第6步:制定學習計劃
在學習Hack Reactor之后,我花了很多時間復習技術概念,為面試做準備。以下是我大致的學習計劃:
學習算法和數據結構
學習系統設計
完成一次黑客馬拉松
建立個人作品集
記錄下電話面試和現場面試的問題
與他人一起練習
第7步:充分利用社交網絡
讓招聘人員更容易找到你。以下幾個平臺都是不錯的選擇:
Hired
AngelList
GitHub
向未來的雇主展示你的工作能力非常重要。項目鏈接,文檔和清晰的代碼更容易吸引招聘人員。
第8步:記住,這是數字游戲
我經常聽到工程師說“這只是數字游戲”,以下是我的一些數字:
投簡歷:156次 共26小時
電話面試:41次 共20.5小時
技術面試:11次 共11小時
編程挑戰:10個 共80小時
現場面試:6次 共28小時
總計:165.6小時 約6.9天
了解數字能幫助你進行分析,例如:
所投簡歷的26%轉化為電話面試
51%的電話面試將轉化為技術面試或任務
28%的技術面試將轉化為現場面試
根據這些數據我發現,我的簡歷能夠引起招聘人員的興趣,在最初的電話面試中取得了成功,但在展示技術方面我有些薄弱。
因此我花更多的時間去提高技術能力,目標是提高從技術面試到現場面試的轉換率。
第9步:搞定現場面試
現場面試涵蓋的內容很廣,持續2到6個小時不等。我參加的現場面試中主要涵蓋了以下內容:
算法
系統設計
使用公司的API開發應用程序
關于我的編程語言(JavaScript)的問題
關于HTML / CSS的問題
關于前端框架的問題
關于各種數據庫的問題(SQL / noSQL)
解釋你創建的GitHub項目,你做了哪些權衡,以及將來會采取哪些不同的做法
在每次技術面試和現場面試后,我會記下當中的問題,這構成了我之后面試的學習指南。
第10步:進行職業規劃
你認為5年后你的職業發展會是怎樣的?
在面試中我常常會被問到上面這個問題。
關于職業發展我有好幾種選擇,比如web端、移動端、網站可靠性和DevOps等等。
同時還有后端、前端和全棧的選擇。有時這些角色之間的界限很明顯,有時卻模糊不清。在學習和搜索的過程,雖然我不知道只會會選哪條路,但有些工作我更喜歡做,而有些卻不喜歡做。
比如,我不喜歡涉及到網站像素的問題,但我對移動端設計很感興趣;設計架構和建立數據庫有點乏味,但我喜歡獲取大量數據并對其進行操作或可視化。
一些建議
編程挑戰是學習機會
我進行過很多編程挑戰,但最終因為效果不好而沒有提交。也有一些未完成但提交了的。不過在進行這些挑戰中,我學習到了很多,也意識到自己的不足。
坦然接受拒絕
每次技術面試和現場面試都是如此。被拒絕是很正常的,起初我會感到自我懷疑,但慢慢地我開始擺正心態,并從中學到了很多東西。
尋找導師
我很幸運,在我參加面試過程中有導師的幫助。在求職的三個月中,導師每周會跟我交樓,詢問我求職情況以及面臨的困難。
結語
轉行比我想象的要困難得多。
成為一名工程師需要花費很多時間。這意味著我要擴大專業人們,坦然面對學習中的困難,忽視所有的反對者。
在學習中,我需要找到適合自己的學習資源。不斷參與新的項目,研究新算法。
這些努力值得嗎?絕對的。
我很高興地說我找到了自己心儀的工作,并可以繼續學習和成長。最重要的是,我在工作中獲得了信心,不斷充實和提升自己。
-
軟件工程師
+關注
關注
8文章
218瀏覽量
21135
發布評論請先 登錄
相關推薦
評論