FYI: 人人搶學程式,美國工程師:「Coder」不等於「Engineer」 | 香港矽谷

這篇文章所說的適用於所有研究生。你讀懂幾分,就收穫幾分。

baby computer

(Photo Credit: Chris Harrison)

iOS 獨立開發工程師 Basel Farag 在 TechCrunch 投稿,提到矽谷甚至整個美國對於培養工程人才已經到了過火的程度,並認為社會不該盲目鼓吹人人學程式,這個世界還是需要不同角色專長的人才。

現在美國科技圈似乎吹起一股風潮,從政治界到類似 Code.org 等非營利組織,還有前紐約市長彭博,都認為這是勞動力未來的必備技能,美國總統巴拉克歐巴馬前陣子也頒佈了將程式納入基礎教育的法案。看起來好像人人都該學程式,懂程式碼變得跟識字一樣重要,但 Farag 卻不這麼認為。

經過政治人物和影視、科技名人的鼓吹,美國人開始幻想《矽谷群瞎傳》(Sillicon Valley)影集中,那種 20 出頭小夥子熬夜吸著大麻趕程式,同時還能月入斗金的畫面,一面崇拜起 Elon Musk、Mark Zuckerberg 等科技界成功典範,幻想着寫了程式就能一夜致富。而坊間許多程式補習班也應運而生。

學程式是必備技能?他倒覺得會修水電比較重要

美國的科技業的確還有人才缺口,而且這個需求還在增長。但問題在於,這些補習班利用社會對矽谷的幻想,向大家承諾高薪工作,但很多卻是資格不符、成效不彰。雖然還是有真材實料,在乎學員就業狀況的補習班,更多的卻是品質低劣,靠這股熱潮大撈一筆的補習班。

話雖然這樣說,其實 Farag 還是相信工程和程式技能很重要,但是得認真付出汗水和淚水學習。同樣的道理在其他的領域也一樣,而與其鼓勵人人學程式,他覺得人人學着怎麼修水電還稍微重要些。

解決問題優先的工程邏輯,讓人忘了問「為什麼」

聚焦在程式上,容易膨脹方法的重要性,讓我們急於解決問題,卻忽略了要先理解問題。

在開始用寫程式來解決問題之前,我們應該先看清問題,或判斷這是不是一個問題。如果多數人都慣於直接想程式該怎麼寫才能解決問題,而不管這適不適合用程式的角度來解決,我們就失去洞悉「為什麼」的能力了。

Farag 有個朋友是 ACM 國際大學生程式設計競賽的冠軍,而 Farag 在他身上學到最重要的一點,就是理解問題有多重要。他朋友在贏得冠軍那年,發現就算是頂尖大學的菁英,也都只瞄了一眼問題就埋頭寫起了複雜的程式,因為程式就是他們唯一的武器。

而他這位朋友把所有時間都花在分析問題上,到了時間只剩幾分鐘才開始寫程式。

然後就得到了冠軍。

這是因為他知道程式本身解決不了問題,重要的是背後冷靜有條理的分析。

工程師很競爭,跟不上新技術就淘汰

過度追求「學程式」,是忽視了開發者的現實處境。科技日新月異,幾年前 Farag 還在用 Objective-C,現在卻完全都在寫 Swift。工程師必須時時跟上最新技術,快速學習,而唯一的誘因是跟不上就會被淘汰的壓力。

如果專精 Objective-C 的工程師被 2014 年蘋果 WWDC 發表會的 Swift 嚇到,他能怎麼辦?要繼續用愈來愈少人用的語言,還是從頭開始學新語言?對 20 幾歲的年輕人來說可能很容易,但如果是要餵飽一個家庭,還有帳單要繳,額外再去學習新語言就變得異常艱難。

學了程式就能當工程師?

「學程式」和「收錢提供專業的程式設計」這中間有道很大的鴻溝。

Basel Farag 花了一年多自學才能開始接案,而且一開始薪水都非常低。甚至時常因為他沒有電腦科學相關學位,連面試的機會都沒有就被拒絕。

有一段時間他甚至沒地方住,得靠朋友接濟,更在數不清的夜晚萌生放棄的念頭。但最後是「堅持」的態度讓他得以留在這個領域。

真實的情況是,要進入職業開發者的圈子並不容易,就算只是見習也一樣。你需要人際關係,要有人推薦,一個經常維護的 GitHub 帳號,還有許許多多該注意的條件。就算是公開職缺,如果你身為少數族群,那還得比別人加倍努力,而這在在都顯示當工程師是相當競爭的。

而負責面試的人當中,處處可見不合理之處。比如常春藤名校的畢業生會問一些像是「你該怎麼反轉二元樹」這種教科書問題。也有迷信白板測試的專案經理,還有會在職位條件寫上「5 年 Swift 經驗」的人資。(Swift 是 2014 發表的),而這些就是擋在你和理想工作之間的人。

而明知這些測試很不公平,你還是只能跟着他們的遊戲規則走。

如果工程師是你的夢想,那就付出血淚去追尋

Farag 認為,如果工程師真的是你的夢想,那就別讓任何事阻擋你追求目標,也不要讓教育系統等傳統的框架拖住你的腳步。但千萬別被矽谷的夢幻形象迷惑,進入這個領域不代表你就能獲得財神眷顧。你得建立對這個行業正確的認知,你要接受自己是個解決問題者,而不能只會填入框架。你得要認清下一分鐘你可能就得從頭學習一個新框架或語言,而且如果沒有正式資格,就得拚命爭取職位。

軟件工程是有機會賺大錢的行業,但從「寫程式的人」到變成「工程師」是相當大的挑戰。如果你堅持下去,不只能改變你的生命,還能完全改變你的思考方式。

歡迎加入「Inside」 Line 官方帳號,關注最新創業、科技、網絡、工作訊息

好友人數

相關

想在手機閱讀更多iOS 開發資訊?下載【香港矽谷】Android應用