如何吸引頂尖 Coder : 老闆,你知道程式設計師要的是什麼嗎?

《TO》編按本文作者為美國軟體公司 SymSoft  程式設計師 Henrik Warner,此文為在談論頂尖程式設計師所嚮往的工作環境時,作者在自己 Blog 上所發表的個人意見。以下本文以作者第一人稱撰寫。

上星期我收到三位來自 Halmstad 大學學生的電子郵件,內容提及他們正在做一個為期三個月的專案,內容是關於「程式設計師在工作中追求的是什麼?」,以及「企業如何吸引具有天賦的程式設計師」。

以下是我針對這些問題的一些看法,內容則按我認為的重要性程度來做排序。

  • 參與核心工作

我喜歡編程這工作,通常這工作在公司是屬於後勤單位,所以,可能會有人覺得自己不受重視。

除了編程之外,我也希望能夠參與系統核心部分的工作,因為能夠實踐出完整的產品是我所追求的。

  • 優秀的同事

如果能跟優秀的程式設計師共事,那真是一件值得慶賀的事,因為優秀的同事會刺激你非得迎頭趕上的上進心,尤其是一起討論問題的解決方案時,他們會觸發你有更好的解決思維力能力。

但是,你怎麼識別某個人是不是一位優秀的程式設計師呢?一個非常明顯的特色就是,觀察他們是否樂於持續學習和持續提升自己的技能。例如,透過閱讀或是網路上的資料、或是參加相關課程訓練、或是參加研討會等等。但,這也不必然是個必要條件,像我就曾經和一些不做這些事但仍然很優秀的程式設計事共事過。

優秀的程式設計師,會吸引其他同樣優秀的程式設計師,這就是所謂的物以類聚,也因為這些原因,如果一家企業擁有許多優秀的程式設計師,那麼就很容易招募到更多優秀的程式設計師。

  • 有挑戰性

大多數的程式設計師喜歡透過編程來解決問題,然而,開發軟體往往需要某些技巧性的應用,尤其是在低延遲、平行需求的處理、或是在有限的硬體資源的要求下,更是如此。

但是,許多企業為了維護系統的便利性,往往規格化語法,讓公司內的編程人員全部都按照相同的規範寫程式,所以,如果你喜歡挑戰編程上的難題,那麼你將會感到非常失望,而規格化這件事,對企業而言,可能也是一大挑戰。

  • 好用的工具

這裡主要討論的是程式語言的選用,像是 Clojure、Erlang 或是 Go 等等,當然也包括了軟體架構和應用,像是 Hadoop 或 Cassandra 等等。

因為選用哪種工具可能會是某些公司有問題的地方,例如,有些公司現有的產品是使用 C++ 撰寫的,那麼全公司往後所有的產品都採用 C++ 而不會考慮其它的程式語言。所以,如果你想換其它的程式語言來撰寫程式,搞不好還得換工作才行。

  • 重視使用者回饋的意見

編程最大的樂趣之一,是實踐出一些對他人有益用的成品。但是,卻有不少程式設計師過於重視技術的呈現,或是邏輯性的思維,好不容易完成了自己十分得意的作品,卻沒有消費者賞識,那就真的很可惜了。

所以,你除了要設法吸引消費者注意到你的成品,還得讓他們願意回饋你對你有價值的看法、意見。

  • 優渥的薪資

只要人對了,事情就對了。

優秀的程式設計師和一般水準的程式設計師之間的差異是極大的。優秀的工程師除了在意工作上的成就感之外,也在意自己的付出是否能夠取得對等的回饋。但,有些企業喜歡採取齊頭式的平等,將員工都視為可替換的資源,捨不得花錢留住人才,這樣的公司絕對不要考慮,因為它所帶來的問題將不止是低薪而已。

  • 好的硬體設備

擁有運行快速的電腦和顯示器,可以加速開發的流程(誰會反對這一點呢?)。就像樵夫砍木頭,與其不眠不休的努力工作,不如先將斧頭磨利。

  • 不用加班

如果你的公司常常要求員工加班以完成任務,或許問題不是出在員工的技能問題,而是其它的原因,就個人經驗而言,長時間工作不代表能夠增加產量,也無法帶來效能。

  • 不官僚

在多數的企業中總有大大小小的制式工作要員工一一完成,以便做為考核的依據。但是,過多的制式工作卻消耗掉員工太多的時間,也會讓員工著重在上位者想看的,而不是他的職位該做的事情上,尤其在大公司裡最常發生這種狀況。

所以,除了必要的程序之外,其它的都取消吧。

  • 可以在家工作

如果公司開放員工能夠偶爾在家工作,將會帶來許多的便利性,不過我不常這麼做。事實上,我挺喜歡在辦公室和同事們互動交流跟打屁。

我也曾經透過過視訊會議軟體在別的地方和公司裡的同事開會,或是藉由電子郵件處理公事,但這樣的工作方式長期來看還是不如和同事們一起奮戰來得有效率。

  • 離家近

想想看,如果能夠減少每天花在交通上往返的時間,那是多棒的一件事!

以上就是我個人的看法,當然,每個人都會有不同的偏好以及個人的體驗,所以我對你們的回饋意見也相當好奇,例如,你們認同的部份有哪些,或者你們認為遺漏了哪些部份,都歡迎你告訴我。

(資料來源:henrikwarne.com ; 圖片來源:yago1.com , CC Licensed)