不是資科畢業卻又想當工程師?這有 4 個超實用建議

評論
評論
Photo Credit: Little programmer

原文來自 DaedTech《How to Get a Programming Job without a Degree》,INSIDE 獲作者同意後編譯轉載。

編按:不是資工、資管等本科系出身,卻又想當工程師?對,在台灣你可以去學巨匠聯成然後等著他們幫你媒合(但個人比較推薦跟新創連結較深的 ALPHA Camp 或 AppWorks School)。但本文會教你許多其他一步一步在技術社群中扎根的方式;畢竟在軟體的世界,越開源越強。

本週的讀者提問是「一個非電腦科學背景的人,如何應徵軟體工程師?」。這是一個好問題,儘管我有兩個電腦科學學位,但我在自己寫的《Developer Hegemony》書中曾懷疑在學費昂貴大學唸電腦科學的投資報酬率不一定就好,也不一定會跟有志成為工程師的人推薦這條路。

好,所以如果你沒有獲得學位,那該怎麼做?下面是讀者原文。

「如何在沒有電腦科學學位的情況下,獲得一份工程師職缺?我到現在看到所有的入門級職缺都明定需要相關科系畢業。網路或其他地方也只有教你要看書、要會寫程式,但這些我都會啦。現在我在哪裡找工作?我沒有看到任何入門級職缺不需要電腦科學學位的。」

首先要思考:為什麼公司不開這種不需要學位的缺?

你可能會認為公司起碼在面試會給你一個合理的解釋。你跟他們說你會寫程式,甚至可以上機考或回答更多細節證明你會,這就不是面試的目的嗎?證明你真的會?難道市場上工程師供不應求是假的嗎?

這點在宏觀經濟面上沒錯,但到了任何一家公司的實際運作面就有差了。在這網路化時代任何公司都比以前更需要工程師,而且理論上應該在面試過程中提供面試者證明自己的機會。

但更重要的是:這些公司比起擁抱機會,更怕找錯人進了公司。

裝逼人才傷害最深

坦白說,「陌生面試」是 徵才最可怕的一種方式 。一群不認識的人坐在一起大眼瞪小眼,理想中他們看似彼此慷慨地坦誠相見,不會在技術層面上彼此上下交相賊,然後再由直覺、衝動和其他各種非科學事物決定要不要用這個人。

而且某種程度上所有公司就算自知不可能每次 100% 都找到完美人選,但他們還是會盡量表現出自己做最會用人的模樣,所以他們會偶爾會嘗試一下,然後不小心聘到一個外表光鮮亮麗的非典(裝逼)人才。

聘到這種人很慘。所以每間公司的面試流程都會盡量制式化,來把這種機率降到最低。如果你面試的人寫著有十年工作經驗,還壓著兩個「高階軟體工程師」頭銜的人,你怎麼驗證?這相對簡單,但如果你要的是不用什麼經驗的初階工程師呢?如果他真的沒經驗又沒學位,最後還真的是個裝逼仔,那蠢的反而就是你。

所以這篇文章就在教你怎麼在缺乏學位的狀況下獲得職缺,並在別人眼中是個好選擇而不是裝逼仔。

1. 從貢獻開源社群開始(著眼於網絡)

最簡單的第一步,就去 Github 找個開源案子參與進去,案子可是一大堆,取之不盡。

為了這個目的,你應該在互動中表現你的編碼能力與觀點,而且關鍵是向未來的雇主證明這一點,所以你這些互動應該公開,讓所有人都可以看到。

但我還會在這邊下一點功夫。當你開始為開源案做出貢獻時,選擇一些你認為可能在求職中最有影響的部分。這是一個來自你想應徵的公司裡員工一起做的活躍案子嗎?你想去哪些公司工作?如果你跟他們一起工作並結交這些人,他們就很可能在求職中發揮關鍵作用。

所以趕快去參與跟你想去的公司有關的開源案吧,然後向他們證明你會什麼。

2. 做出一個有潛力的專案

儘管它可能更累,這是另一招有效的社群證明。你可以自己建一個有用的專案,而不是單純為其他人專案做出貢獻。

這絕對會花你更多時間與心血,只是要注意如果你建的是一個沒有人注意或關心的專案,最後也可能無功而返。在 Github 寫了一些代碼還不足以讓潛在雇主主動去挖掘它。

但如果你作出了一些大家會想去開始下載和使用的東西,那事情就不一樣了。我還建議你要為其他開發者額外再做一些東西,例如某種 API、資料庫或開發者專用的產品。這是你讓你最想留下印象的人注意你的最好機會。

3. 寫部落格

另一種可供選擇的方式是去寫某種跟程式碼技術有關的部落格。你可以考慮寫專案或開源案貢獻力量的同時,也寫部落格來分享這方面的經驗。也許你可以寫一些有關小技巧或深入研究技術與框架的文章。

無論如何,這會為你提供一些社群的可信力。但就跟寫 APP 或資料庫一樣,這會是一個花你更久時間的過程。很少面試官會說「沒有學位或經驗沒關係,你部落格寫得不錯所以就進來吧。」但是,如果你能有效散佈你的文章,並開始獲得一些粉絲和影響力,就可能在某些關鍵時刻,從技術社群獲得正面評價。

4. 找一個跟寫程式相關的職缺先卡位

前面三個作法都需要長時間經營,透過社群來幫助證明的能力,而且需要幾個月的時間才能也所回報。

但第四招會更快、更確實一點。你可以應徵一個你認為可以讓你轉職為工程師的非編程工作。我第一份工作(但我還是具有學位)在技術上名為「軟體測試工程師」但其實就是測試員,只是過了大概一年,公司就把我的頭銜改為軟體工程師。

以下是可能適用這招的幾種職缺。

  • 軟體產品技術支援
  • 軟體測試員
  • ScrumMaster
  • 資料輸入員(這時你就該想辦法讓工作自動化,凸顯你的工作能力)

我很難在這給出一份詳盡清單或特定職缺,因為每間公司實際上的狀況會有很大差異。但你應該懂了,擴大你搜索工作的範圍,方便作為你的跳板讓你成為工程師更近一點。

5. 報一間電腦培訓班

這是「盡一切努力都失敗」後的最後一招。如果你沒有時間花在前三招經營社群的部分,也找不到相關的職缺可以卡位,那試著報名一間電腦技能培訓班。

對,如果你一開始就會寫程式的話,這招會傷了你的自尊心,但也能讓你在一定程度上可以驗證之前所學的內容。

你也可以換個方向,選擇一個你沒學過的語言去並擴展你的能力。然後當你畢業後,就會在履歷中獲得認證,以及相關在工作資源部分的幫助。

但這是關係問題,而不是工作能力問題

沒有學位或相關經驗確實不容易應徵上工程師,因為這些公司都是利益導向,越讓其他公司承擔越多的新手風險越好。所以關鍵是讓自己在他們眼中這種新手風險越少越好。

本文講了這麼多。但是其實這一切都歸結為「關係」。你會寫程式,但不代表那些公司就要相信你。學位或過去工作經驗可以證明你的能力,但你沒有。所以你需要主動去證明,並那些可能會推薦或以某種形式為你擔保的人建立關係。

你越早開始建立這種人際關係,你就會越早被聘為工程師。

相關文章

評論