相信大家對於 Inside 前一陣子發表的「2014 百大最佳職業,軟體工程師躍居冠軍」這篇文章仍記憶猶新。相信大家第一個想到的問題就是我不是資工系畢業的,有辦法找到一個軟體工程師的工作嗎? 很幸運的 Medium 有一篇文章「Top Tech Skills Required for Entry-Level Programming Jobs (初階軟體從業人員必須要學會的技術)」給了我們解答,這篇文章從美國知名求職網站 Indeed 中對於 231 份並不要求資工系學位的工作中,整理出了你必須會的一些科技技術,讓你即使不是資工系出身,但藉著學會這些技術(其中包含語言,平臺,框架,資料庫等)幫助你搶上初階工程師的灘頭。
資料來源:Talentbuddy
Javascript
在這些技術海中,第一名的是 Javascript ,有 42.4 % 的職缺中都要求必須會這項技能。Javascript 為什麼這麼厲害?最主要在於網路軟體開發的盛行,Javascript 是很多現有的開發框架的基礎除了用在前端的開發( Angular 、Ember 、Backbone 等),也用在後端的架構像是 Node.js 以及資料庫資料的讀取如 MongoDB 。Javascript 所建立起來的生態系非常的龐大也造就了大多數的工作都需要這項技能。Javascript 本身學起來並不會太困難,如果想要懂一些基本的應用那可以參考這裡。
Java
榜上的第二名是 Java ,佔了 34.2% ,關於 Java 有些人認為它一個比較過時的語言也認為它即將被淘汰。但是根據 TIOBE Index 上的排行(根據程式語言的普及與受歡迎程度),Java 還是名列第二的。Java 不僅沒有被淘汰,它還過得很好仍然是很多大企業愛好的後端語言。Java 之所已受到企業的重視,一個很大的原因不止是因為他本身好用,而是因為學好 Java 讓你學其他程式語言相對容易,因為 Java 是種物件導向語言而且不需要處理指標( Pointer ),加上他有很好的開發環境( IDE )讓初學者使用起來相對的簡單,可以說是身為一個軟體工程師絕對要懂得基礎。以筆者的經驗而言 Java 學起來比 Javascript 稍微難一些網路上關於這方面的資源也不缺乏,像是 MIT 就有提供他的課程教材免費讓大家學習。
HTML
在榜上第三名是 HTML,HTML 嚴格說起來並不是一種程式語言它是一種標記語言( Markup Language ),簡單來說就是利用標記可以達到與單純的文字不同的效果。例如一段文字在前後加上標記就可以加上超連結。HTML 是網路開發中基礎中的基礎,尤其在前端的開發上了解 HTML 每一個標記的功能是必要的。 但是筆者還是要強調他本身並不是一種程式語言,如果只會 HTML 對找工作是沒有任何幫助的,他只是基本中的基本。在這裡也推薦一個網站讓大家可以花大約一天的時間就學會 HTML。
SQL and NoSQL
除此之外,榜上有名的是 SQL 在 31.2%的職缺上這項技能都是必須的。根據 Asurvey 的調查 有 79% 的受訪者仍然是使用關係資料庫也就是為什麼 SQL 受到歡迎的原因。但這並不代表 NoSQL 就不重要雖然 MongoDB 在榜上只有 4.3%,但是它主要被用在需要快速存取資料的產品上,像是 Craigslist 還有 Expedia。
NoSQL 與 SQL 究竟孰好孰壞,在資料庫的社群上一直是一個廣受爭論的議題,絕大多數的任認為 NoSQL 是未來的趨勢,但是以目前而言 SQL 仍然是佔了上風。
Javascript Frameworks
建立在 Javascript 上的開發框架總共有三個 Angular.js 、Ember.js以及 Backbone.js,這類的框架可以讓你很簡便而且快速的處理前端的開發。然而這三種開發框架由於性質相近,因此也有很多的誰才是最好的爭論。目前是由 Google 所開發的 Angular.js 站在榜上第一。當然這三種開發框架都有自己的好處,像是 Angular.js 比較適合大型的開發,Backbone.js 比較簡單易學,Backbone.js 讓合作開發更簡單1。
Node.js
在原文中也特別提到了 Node.js 原因是在於其逐漸增加的使用者,以及大型公司像是 Linkedin 以及 Wal-mart 的使用。
結語
文章中提到了很多種的程式語言與科技技術,或許有些讀者會認為把上面所說的每一項都摸一遍就可以找到一份軟體工程師的工作。關於這樣做有沒有效果不敢保證,但是如果對於其中特定的幾項技能能夠有深刻的瞭解,對於找到一份軟體工程師的工作有絕對的幫助。當然以筆者在國外求學以及找工作的經驗而言,要找到一份軟體工程師的工作所需要的絕對不止這些,這部分就留在下次與讀者分享。