程式設計師內心真正的需求到底是什麼?

2014-10-13    分類:程式設計師人生、首頁精華3人評論發表於2014-10-13
上週,哈爾姆斯塔德大學的三名學生髮給我一封電子郵件,諮詢的內容主要是關於他們做了三個月的專案課題——程式設計師在工作中需要什麼,以及企業怎麼樣才能吸引有能力的程式設計師。下面是我的回答(按重要程度排序)。當然每個人都有自己的看法,所以我非常樂意聽到各位的點評,如果各位認為有什麼不贊同或者遺漏的地方,請務必指出,謝謝。


產品是軟體。

我喜歡搞那些公司主營計劃的業務。但是由於IT部門只提供間接支援,所以我只能放棄。我也很喜歡做系統的中心部分——總之,越重要我越來勁。最後因為我真心不想再僅僅只是給不同公司的軟體寫配置、除錯和銜接——我決定聽從自己的心聲,開始去寫一些有意義的功能模組。

牛逼的同事。

和一些很厲害又對工作充滿激情的程式設計師一起工作,是一件非常刺激的事。事實一次又一次地證明,和這些傢伙討論之後出來的方案,比我們各自絞盡腦計想出來的還要好。而且整個討論的過程也能讓人學到很多東西,非常過癮。

那麼我們怎麼判定對方是否優秀呢?有一個非常顯著的標誌就是,看他們是否保持著不斷學習的勁頭,是否在持續改善自己的職業技能,相關途徑有:閱讀書籍和部落格、接受新課程以及參與會議等等。但是這些並非是必要條件,我也曾與不少著實可稱之為牛逼的程式設計師共事過,但是他們也沒有上述這些特徵。最後,還有一點,同性相吸,優秀的開發人員往往會因惺惺相惜而匯聚在一起。這也是為什麼如果一個公司有很多優秀的員工,那麼就會招攬到更多優秀者的原因。

不斷地挑戰。

程式設計師喜歡用程式碼解決問題。所以產品中至少總得有需要改進的地方,哪怕是低延遲要求、很多併發請求還甚至是有限的硬體資源限制都可以。但是,很多軟體的難度都不高,毫無挑戰性。所以不要寄希望於能找到一些難題然後好顯示你的聰明才智。此外,將一些枯燥乏味的程式碼組織得易於理解和維護也是一種不錯的挑戰。

酷炫的技術。

這一點主要是指使用一些有趣的程式語言(例如,Clojure、Erlang和 Go語言等),也包括框架和應用程式(例如Hadoop和Cassandra等)。不過這一點很多公司都無法滿足我們。因為一個公司一旦為他的程式選擇了某種語言(如C++),那麼就不會再輕易去改動。如果你想換種程式語言,那可能就只能換工作了。

忠實的使用者。

程式設計的樂趣之一就是能製作出一些對他人有用的東西。如果辛辛苦苦的成果沒人願意享用,那太悲劇了。最好使用者(使用者數量愈多愈好)在關注的同時,能給予一些寶貴的意見。唯一的例外是在初創企業,壓倒一切的當務之急就是儘快釋出給使用者。

令人滿意的薪水。

大公司往往更懂得人才的價值。不過由於牛逼程式設計師的薪水要求會遠遠高於平均水平,故而留住他們得更有經濟效益——即兩者之間的生產力差距應該遠遠大於薪水差距。不過,也有的公司並沒有付給程式設計師相應的薪水,只管死命地壓榨員工資源。像這種公司往往還會有其他原因逼得我們不得不離開,而不僅僅只是因為超低的酬勞。

好工具。

其原因不言而喻的。一臺高速的電腦、多個顯示器絕對能加快我們的開發速度——沒人反對?!(不過也有那種見識短淺只看到了成本,沒意識到效益的boss,會say  NO。)

一週工作40小時。

如果你經常要加班,那麼說明這個組織結構有問題。再說,不是工作時間長產生的效益就多。

最簡潔的行政管理。

在開發過程中,或多或少都會涉及敏捷開發的方法,這已經非常普遍了。

在家工作。

最好有時候能允許在家工作。當然在我看來這一點沒那麼重要。因為我比較喜歡在辦公室工作,可以和不同的人交往。我曾使用視訊會議、聊天工具和電子郵件來和遠端團隊協作開發軟體,不過這種形式的生產力遠遠比不上和身邊的人合作產生的。

公司離家近。

雖然沒那麼重要,但是能不必每天長時間得被堵在馬路上總是好的,不是嗎?

小結

以上是按照我認為的重要程度排列的程式設計師的各項需求。但是,生活不會盡善盡美,人生總會有妥協。但是越前面的需求,我越不願意輕易放棄。各位程式設計師,你們最重要的需求是什麼呢?歡迎留言。

英文原文:What Do Programmers Want?

翻譯作者:碼農網 – 小峰
來自:碼農網
評論(2)

相關文章