我們該向國外程式設計師環境學點什麼?

edithfang發表於2014-09-02

一葉知秋,很多IT“專家”其實都只是“磚家”

linghu9990在部落格中寫到:最近面試了數十個應聘核心開發職位的求職者。這些求職者都來自於晶片或嵌入式作業系統領域出名的非常好的大公司。他們大都聲稱他們在核心開發領域有至少十年經驗。他們的簡歷看起來閃閃發光,充滿著相關專案經驗,各種時髦的技術詞和獎項等等。



但是他們大部分無法回答一個基礎的問題:當你呼叫標準的malloc函式時,核心裡面發生了什麼?

不要吃驚。當讓一位求職者寫一個基於 glib 雜湊函式的簡單 LRU 快取框架時,他首先說他從沒用過 glib,這是我預料之中的。我把 glib 手冊給他並給他詳細講解了介面,接著一個多小時以後他只寫出了幾行糟糕的程式碼。

事件的原因分析:

相信導致這種現象的不僅是他們自己的原因,更要歸咎於他們就職的公司。這些公司會給他們大量的數年不會有重要修改的穩定的程式碼。有技術含量的東西都被封裝進了這些程式碼,所以他們只能因循守舊,不再創新。一旦走到招聘市場,他們這些所謂的“專家”將毫無競爭力可言。這就是程式設計師的困境:我們以程式碼為生,但供養我們的大公司卻慢慢摧毀我們謀生的能力。

如何擺脫這種困境:

我覺得,事件的出現都是有兩面性的,孤掌難鳴。所以解決方案當然既有針對個人的,也有針對企業/用人單位的。

針對個人:首先,做你自己的專案。你需要不斷”磨快你的刀”。工作之餘挑一些自己感興趣的任務去做,並且用自己的時間克服遇到的難題。這樣做,你肯定會學到新東西。假如你在Github上釋出自己的專案,你可能會有機會認識把你拉出當前位置的人。

另外,不要在一個團隊裡呆的時間超過兩年。試著每18個月進行一些面試。你不一定要換你的工作,但是你要看一下市場上需要什麼,而自己如何適應需求。

針對團隊/公司:給你的員工壓力與挑戰。輪換崗位,讓”專家”有機會去擴充技能。開啟新的專案,給戰士們提供戰場。定期舉辦”程式設計馬拉松”。這將建立一種改革與創新的文化。

美國“程式設計師世界”無門檻,人人都可當程式設計師

想在美國當程式設計師?可能沒你想象的那麼難。就算沒錢去正經大學念個電腦科學,也有其他出路。最近,越來越多的線上學習程式設計學校在美國火了起來。許多真實的案例都為一些有志於此的人指出了一條光明大道:無論你是想找工作的窮學生,還是想改行的中年危機男,程式設計師的世界都歡迎你。

“閃電戰”程式設計課程

西雅圖的“程式碼夥伴”(Code Fellows)學校,就非常確信他們能夠幫助學生找到工作。他們為學生提供六個星期的“閃電戰”程式設計課程,讓學生能夠完成從零基礎達到基本入門狀態,收費1.2萬美元——如果還是找不到工作,學費可以全退。



類似學校的興起背後,是美國網際網路市場的日漸繁榮,這導致了程式設計師供不應求的局面。據美國勞工部的資料預測,2020年美國大約會空出100萬個程式設計師職位。而且許多傳統高校對計算機課程的不怎麼上心,正在讓這個缺口越來越大。

比如今年華盛頓大學的計算機系,就只招了1/4完全夠格的申請者。對於那些沒能成功申請上一個計算機課程的學生來說,好在在程式設計師的世界裡,學位並不是通向工作的唯一途徑。

比如業界標杆谷歌公司裡,一些團隊就有14%的程式設計師沒有相關正式學位。放大到全美來看,67%的程式設計崗位都是來自非科技類公司,這就意味著程式設計之外,還需要其他正常商業技能。

從這個角度來看,和焊接工或者木匠一樣,程式設計其實就是一門手藝。是一門任何人都可以在幾周或者幾個月內稍加學習就具備基礎技能的手藝。而且一旦那些剛剛開始的程式設計菜鳥們靠著這些基本技能混到了第一個工作,此後的職業發展道路上,他們就和其他正規學校出來的程式設計師同行們獲得了相等的機會,只要各憑本事就好。

以臉譜網(Facebook)為例,每一個工程師在進入該公司要做的第一件事,就是6個星期的集中訓練,大部分的課程自然都和程式設計相關。公司設立這個規定流程,是因為在大部分的高校裡,計算機系都更注重理論學習而不是實打實的程式設計。後者其實包括了各種最流行的程式語言、專案管理與合作等一系列龐雜知識,這意味著一個合格的程式設計師往往需要和幾十個其他程式設計師以及幾百萬執行程式同時打交道。

程式設計師或最終會被替代

計算機學位有助於理論學習並且幫助那些頂級工程師繼續磨練這門藝術,但在這個網際網路如此普及的時代,要求每一個程式設計師都要有一個計算機學位,就相當於要求每一個砌磚工有一個建築學位一樣。



“樹屋”(Treehouse)的聯合創始人卡森則認為,自己那張十幾年前獲得的計算機學位完全沒有用。一日千里的網際網路科技讓工程師們必須持續學習新的模型和語言,這讓很多半路出家的人有時也能站在同一起跑線上,只要他們願意終其一生磨練這門技能。

“幾乎所有我們現在能觸控到的東西都能和一個什麼軟體連上,這是人類歷史上的頭一遭。”卡森說。這就如矽谷一句最流行的話所言:“未來只有兩種人,知道如何程式設計的人,和只能遵從機器指令的人。”
隨著網際網路科技註定要向人類社會的每一方面繼續快速滲透,程式設計師崗位也會像其他被其所代替的勞動分工一樣,越來越形形色色。

白宮允許程式設計師穿襯衫上班

The Washington Post報導,白宮成立了美國數字服務小組(U.S. Digital Servic),小組長不是奧巴馬,而是前谷歌資深工程師 Mikey Dickerson,去年年底為修復崩潰的 Healthcare.gov 從矽谷來到DC。



一週之後,白宮官方部落格釋出了一條5分鐘的視訊,記錄了Mikey Dickerson在白宮工作的一天。Mikey 小組成員不需要穿西裝,他認為,穿西裝會給有些程式設計師帶來不舒服的感覺,畢竟程式設計師的工作不是以和外人打交道為主,他們更喜歡隨性化的著裝,這樣他們能更快適應周圍的工作環境,提高工作效率,即使這是在白宮工作。

寫在最後

也許上面所列舉的事例只是個例,但我們不能否認,相比於國內的程式設計師行業,國外的程式設計師入職門檻更低、工作環境更好、發展空間更寬闊。之前就有美國的媒體叫囂,如果中美開戰,美國的資訊保安部門分分鐘鍾就能讓中國的網路回到石器時代。或許這麼說有點吹噓,但是也不是沒有可能的。據知情人士訊息,龍山縣皇倉中學軍訓衝突事件一波未平一波又起:龍山縣人民政府網遭黑客攻擊,一名署名“XiaoLan”的黑客在網站首頁留言“貴縣的宣傳部敢不敢要點臉”。



可見,中國政府的網站是很脆弱的,而且被黑的政府網站數量不止一兩個,這都不是什麼新聞了。我們是不是可以聯想:正是因為國內對計算機技術的不夠重視,或者是計算機教育上的放不開,導致了這樣事情的頻繁出現。

說句實話,稍微有點“國家興亡,匹夫有責”的感情的人,都希望在政策上能對網路教育這一塊有所改進,至少應該大力重視、支援國產作業系統的發展。
相關閱讀
評論(3)

相關文章