我一說出這樣的話,人們大量的評論就會批評道:你錯了,錯了,完全的錯了。 好的程序員需要具備溝通交流的技能,他們要有跟他人一起合作的能力。團隊裡不止你一個人! 事實上,人們會說:最好折中一下對技術上的要求,這樣可以找出更能適應企業文化的人。
你不如這樣說更合適:找不到那種技術上又好、又能適應企業文化的人,我就等著,一直找到為止。
我們很少有敢這樣奢侈的公司,也許Google可以這樣,就是Google這樣的公司也一直處於一個“對招聘程序員感到絕望”的狀態中。如果你決定去等,我可以預見到每招到一個程序員你都要等待一個漫長的時期,同時業務會因為缺乏程序員而崩潰,火燒眉毛。
那麼,那種更好呢?
讓我們來考慮要那些中等或下等的程序員,他們和藹可親,而且努力工作。 他們的程序寫的不好 – 他們的程序根本不是按照他們想的那樣工作,即使他們做到了,那也是爛程序,很難去維護。他們在基本的功能上掙扎探索,更不解決不了復雜的問題。但是他們卻 能跟上團隊,項目進度每天點都在更新,可以看見他們每天都在座位上奮斗。一切都很好,你的經理會很高興,因為整個團隊看起來在平穩的向前推進。
當發布日期不得不往後推遲,產品Bug多的沒法使用,人們會哀歎說軟件本來就是很難做,於是投入更多的和藹可親的平庸的程序員去修復問題。 事情的結果我想大家都知道。
對於程序員,沒有太多的事情可以用和藹來解決。一個友善的平庸的程序員可以成為業務分析師,技術性的銷售員,或著其它的能夠利用他的和藹和他的一點點的技術知識來工作的職位。這樣的工作他們會很滿意,但這都是在茶話會工作上的,可不是去找出有效的辦法做出好的軟件。
另外一個選擇是,找個程序員,他能做出好的程序,但也許不善於和他人相處,或者老是遲到,或其他。他能開發出按照設計運轉的軟件,他能把復雜的問題抽象成一個簡單的問題。軟件好使,可維護,你隨時可以按要求修改。
這個世界很真實,有太多的方式都會讓我們把事情搞砸,但至少我們是有機會的。人可以給人留下不錯的印象。團隊可以建設的不錯。員工在長時間的為你工作,不錯。大量的業務沒有按照預定的設計工作,但還是成功了,不錯。但是絕對不會有偉大的軟件會在平庸的程序員手下實現。.
證據就在代碼裡。 就這些。