優秀程式員的首要特性:判斷力

來源:互聯網
上載者:User

 

我發現很多公司在招聘Ruby on Rails程式員時,往往注重開發人員的三個主要特徵:足夠聰明、大技術社區中的知名度、深厚的Ruby開發技能。其實這些考察點並不正確。雖然這三大特性很重要,但他們卻忽略了一名出色開發人員所應具有的首要特徵:判斷力。

關於Jack和Dianne的故事

Jack是一個搖滾巨星。Jack喜歡談論世界上最酷會議中提到的最新發展趨勢。他很重視在一個新項目中使用三種以上的新技術。當請他做一個基於互連網的控制後台,用於將烹飪方法與廚具進行匹配。他投入很大的精力開始做此事。最終該後台中用到了Google Protocol Buffers、node.js,具有可擴充性,卻很難維護。

Dianne是一個優秀的程式員。最初Dianne是一個Unix 管理員,兩年前才開始做Ruby開發。當被要求開發一個同樣的系統時,她首先問了以下幾個問題:

“預期會有多少廚具?”

“我們希望12個月內賣出500套廚具。”

“需要多長時間出一份報告?”

“大概一小時一次。”

“這網路的可靠性如何?”

“使用WiFi,它很穩定。”

Dianne使用MySQL資料庫寫了一個RESTful API結點。PostgreSQL可能更適合,但她只懂MySQL。

Dianne採用的這個解決方案可以擴充到1萬個使用者嗎?不能,但這個系統並不需要這樣做。Dianne的解決方案很簡單、容易理解,具有更好的維護性。Dianne知道它並不是最簡潔的解決方案,但她卻知道任何更複雜的事都會超出她現在的能力。

判斷力很重要

當給定一個很有趣的“問題”時,沒有判斷力的開發人員就會陷入精心設計最簡潔解決方案的陷阱中。他們總會有一種很自然的慾望而導致過度設計該解決方案,要麼追求複雜度、速度和功能性,要麼很簡單地找機會演練一下他們所掌握的新技術。他們需要時常被檢查,以確保不會在半路掉進“兔子洞”裡。

更遭的是,他們並不知道什麼時候才超出他們的能力,所以他們總會在整個項目中留下代碼炸彈。

僱傭有判斷力的員工

我會讓我的團隊判斷應聘者是否聰明,是否適合我們的文化。而我負責判斷他是不是有很好的判斷能力。為了做到這一點,我會帶他出去喝啤酒,並問兩個主要的問題:

1.對於Ruby和 Ruby on Rails架構,你最不喜歡他們的哪一部分?為什嗎?

2.請告訴我你最後一次使用的很有趣的技術?你從中學到了什嗎?

這些問題可以很好地協助你,讓一個開發人員充滿熱情地談論他們在什麼時候充滿激情,在什麼地方情緒低落。從中你可以瞭解到很多,他們是怎樣的人,他們來自哪裡。他們是否喜歡NoSQL這種資料庫?他們是否瞭解什麼時候不能使用它們?他們是否瞭解多線程編程中最痛點?他們是否喜歡使用函數式編程、雜湊函數,原因是什嗎?

原文連結:The Number One Trait of a Great Developer

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.