我招不到想要的程序員

“不要誤會,我不是針對個人,我是說在座的都是垃圾”

每次打開HR郵箱看到應聘開發的簡歷時,腦子里浮現都是這句話。我不需要招大牛,我只是想招一名合格的程序員。

在很多人的眼里,程序員既然屬于工科,那他就是靠掌握一門技術吃飯的人,就像學校門口修自行車的老師傅一樣,只要學會基本的自行車構造,和常見問題的解決方案,就能靠這門手藝謀生,再加上嘴巴甜一點少點歪心思做人厚道點基本能壟斷附近幾條街的市場。

但實際上,程序員更像是設計行業從業者,不是每個能熟練使用PS的美工都能稱之為設計師。同樣的一個LOGO設計,有些人只能收500,有些人能收50萬,更有些人免費做的別人也不要。

說說我選擇程序員的標準

1.非極端情況,一本以下的不要

2.有編程素養,具備程序思維

3.了解這個行業文化和最近兩年技術發展趨勢

4.至少掌握一門編程語言

就這4點,不要求項目經驗,不要求掌握特定語言,這4條刷掉了HR郵箱的所有簡歷,讓我一度深刻意識到以我公司的水平想招到這樣的程序員有點癩蛤蟆想吃天鵝肉

我相信每個過來人,應該是認同第一個條件的,不用懷疑,這就是偏見。好的大學并不一定能教會你什么,但是在一個相對優秀的文化環境下,這個人的綜合能力和基礎是高于平均水平的,在工作的表現突出在學習速度,工作態度,責任心,自知之明和主觀能動性上。尤其是學習速度,技術學習的快慢絕對不是勤奮影響的,而是文化基礎。

第二條,編程素養和程序思維。編程素養是一個沒辦法被量化的指標,它需要通過非常多工作不需要的基礎學科知識的熏陶,潛移默化建立的。

我和CTO打過一個比方,這個行業是一個江湖,每個程序員都是習武之人,編程語言就是門派,技術框架就是一套招式,編程工具就是各類兵器。現在滿大街的程序員培訓機構都是帶一個人拜一個門派(Java),學一套這個門派的武功(Android),給你一件兵器(Eclipse/Android Studio),第一周教你基本的外功招式(JAVA 基本語法),從第二周開始教你武功第一式(搭建項目),第二式(界面搭建)一直到你能有模有樣打一套,然后讓你到村口接兩個殺山賊的新手任務(天氣預報,星座占卜,食品電商),你噼里啪啦交了任務感覺此刻自己也是江湖人了,可事實上,這類人小說里都是成批撲街連名字都不會有的下場。

這樣說可能太刻薄了,但希望我這個刻薄的比方能打消你去培訓機構學習編程成為程序員的念頭,希望我的刻薄能提前扼殺你未來無盡的失望。

回到這個比方,既然是習武之人,不管你師從少林武當還是明教丐幫,每一個有名字的角色都是從扎馬步練起來的,下盤不穩的打架根本站不住,所有能給你用特效的招式都是需要內功深厚才能練的,張無忌沒練過九陽神功抄十遍乾坤大挪移也沒用。

編程素養就是內功心法,裘千仞一掌打穿桌子碗里的水波瀾不起,你一掌下去手腫了,就是這么直觀的區別。

回到現實,編程素養在實際編程工作中如下區別:

1.效率敏感,資源敏感!!效率敏感,資源敏感!!效率敏感,資源敏感!!重要的事情我說三遍都嫌少。對于同樣的一個數據查詢,效率敏感的人可以幾何級提升執行效率。資源敏感的最直觀體現就是圖片瀑布流顯示效果,不懂得動態釋放資源寫出來的界面滑起來卡,而且還很容易崩潰。最可怕的是寫代碼的人認識不到自己的問題,"我代碼沒問題啊,把要顯示的圖片都顯示到listview空間上了啊,機器性能不夠怪我嘍?"

2.代碼結構,項目框架。不是學過一點OO的思想,按照直觀判斷劃分出一坨class就叫代碼結構。準確的模塊切割需要考慮接口耦合性,繼承關系,可維護性,尤其在多人協同開發的過程中,項目框架決定未來3個月后會不會聽到此起彼伏的“這一塊需要花幾天重構”

3.設計模式,這一塊很難講好壞,很多人都只知道MVC設計模式,最多再加一個單例模式。這個東西屬于學起來抽象無用,做起來沒有相關知識做鋪墊,寫出來的就是一團毛線。

4.可閱讀性。代碼其實只是文本,用記事本寫代碼不只是傳說。良好的編程素養能幫助程序員構建邏輯清晰的代碼,一眼望去是一塊一塊而不是一坨一坨的。代碼風格不只是編寫習慣,更多體現一個程序員在編寫代碼過程中注重的細節程度。

第三條,了解這個行業文化和最近兩年技術發展趨勢。這也是掌握單一技術很難在這個行業立足的原因,互聯網行業技術淘汰是非常快的,別看php,jsp,asp這么多年還是占據半壁江山,其框架上的大調整每年都有。技術開源和敏捷開發,在這兩個詞的帶動下,每年都有熱門技術被推到臺前,你可以不用,不學,但你一定要了解。知道每個新鮮技術解決了什么歷史問題,在哪個領域有突出表現。做不到這一點你會發現你能做的事情越來越少,身邊談論的技術方案你越來越陌生。比如現在移動端很火的混合開發,不是簡單的在原生webview下請求一個H5網頁就一概而過的。

第四條,如果一個人滿足前三條而不滿足第四條。我都不知道怎么科學的理解這個人。

本來還想寫很多,但寫到這感覺已經偏離了自己打開文檔時的初衷,言辭不當之處看官也別包涵了。

歡迎來噴。


這個月會再寫一篇關于創業本身發展模型的文字。

———————————————————————————————————————————————————————————————

看到大家的評論,我覺得還是要補充幾句。

最近因為公司拓展需要而苦苦招不到滿意的程序員而苦惱,半夜有感而發寫下此文,次日醒來再讀很多地方自感言過其實。但如果再次討論這個話題,樓主還會這么說,所以我不會修改原文。

樓主公司在魔都,創業2年多,核心開發都是從公司創立初期一路跟著我打拼到現在的,按照這個標準他們當初也多數不符合,但他們對公司的貢獻巨大,自身的工作能力也很優秀,我非常感激他們。

看下來大家對于234都大體認同,對條件1的學歷門檻有敵視情緒,也有朋友舉例比爾蓋茨和王江民先生。的確蓋茨輟學創辦微軟,王江民先生據說初中文化水平畢業,36歲開始接觸計算機并迅速成為國內安全領域專家。

首先,此文的背景是因為招聘,樓主相信蓋茨如果想找工作就不會輟學了,王江民先生36歲自學計算機的年月是1989年,那個時候樓主還沒出生,96年在中關村創業,也就是win98還沒發布,整體環境和現在是天壤之別,那個年代的程序員都是真才實學的,受制于早期計算機處理性能,不深入理解程序運行的背后機制,寫不出能用的程序。樓主相信那個年代的程序員對于數據結構,基礎算法,內存管理機制都是當基本功看待,而對比如今越來越低的技術門檻,不可同日而語。

對于技術本身而言,學歷的高低并不能代表其技術水平如何,樓主畢業于上海某985高校計算機系, 畢業時同班同學不會寫代碼的也大有人在。我也相信高手在民間,很多二本三本甚至中專大專的學生比所謂的名校畢業生強太多,但從一般情況上客觀看待這件事,高校畢業起碼一半是靠譜的,后者只有少數突出的。招聘和相親本質上是一碼事,大部分人相親的時候都很在乎對方的學歷和工作情況,高校畢業的一般綜合素質高,一般學校畢業的也不乏很多社會精英,但概率上前者更普遍,所以取一個相對普遍適用的標準我并不覺得有何不妥,雖然最終影響兩個人是否在一起的是性格,對于招聘就是能力。

門檻的作用從來不是擋住不適合的人,而是讓適合的人進來的更容易。

每一個發給過我第二封求職郵件的人,我都會給他面試機會,希望他是有能力而需要機會的人,但至今我還沒緣分遇到。

我很希望招聘到應屆大學生,對于社招我反而沒什么興趣,我說的條件,本科就達到的太多了,我身邊就一票,可惜均勻分布BAT不愿意在自己事業上升期跳槽,也可能是對樓主太熟悉,知道樓主不靠譜。

最后我要申明一點,樓主自己是程序員,雖然現在寫代碼的時間越來越少,但我深愛這個行業,編程帶來的樂趣,成就,幸福感無與倫比。

——————————————————————————

評論看的傷神,為不影響工作狀態,關評論。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,024評論 25 708
  • 本文把程序員所需掌握的關鍵知識總結為三大類19個關鍵概念,然后給出了掌握每個關鍵概念所需的入門書籍,必讀書籍,以及...
    dle_oxio閱讀 11,202評論 6 244
  • 我,畢業于一所三流的大學,在私企里做著最平凡、最底層的工作,拿著微薄的工資,看不到明天,也看不到希望,好像一不小心...
    閆小凡閱讀 785評論 6 8
  • 安裝好IntelliJ IDEA以后(從官網下載的均可) 然后點擊,激活時按照下圖所示選擇, 在License s...
    Y先生的領地閱讀 891評論 1 12
  • 這里的大山,貧瘠的像村里的人們,世代的詛咒,也許是真的。 “易小二,出來玩。”一個八九歲模樣的女孩喊道。 “燕子姐...
    許不說閱讀 431評論 0 0