|
公司在招聘程序員時(shí),可能更注重開發(fā)者是否聰明,是否有深厚的開發(fā)技能等,但 Tammer Saleh 在 EngineYard 中發(fā)表文章《The Number One Trait of a Great Developer》中表示,判斷力才是一名出色開發(fā)者所應(yīng)具有的首要特征。下面是對(duì)該文的譯文:
我發(fā)現(xiàn)很多公司在招聘 Ruby on Rails 程序員時(shí),往往注重開發(fā)者的三個(gè)主要特征:足夠聰明、大技術(shù)社區(qū)中的知名度、深厚的 Ruby 開發(fā)技能。其實(shí)這些考察點(diǎn)并不正確。雖然這三大特性很重要,但他們卻忽略了一名出色開發(fā)者所應(yīng)具有的首要特征:判斷力。
關(guān)于 Jack 和 Dianne 的故事
Jack 是一個(gè)搖滾巨星。Jack 喜歡談?wù)撌澜缟献羁釙?huì)議中提到的最新發(fā)展趨勢(shì)。他很重視在一個(gè)新項(xiàng)目中使用三種以上的新技術(shù)。當(dāng)請(qǐng)他做一個(gè)基于互聯(lián)網(wǎng)的控制后臺(tái),用于將烹飪方法與廚具進(jìn)行匹配。他投入很大的精力開始做此事。最終該后臺(tái)中用到了 Google Protocol Buffers、node.js,具有可擴(kuò)展性,卻很難維護(hù)。
Dianne 是一個(gè)優(yōu)秀的程序員。最初 Dianne 是一個(gè) Unix 管理員,兩年前才開始做 Ruby 開發(fā)。當(dāng)被要求開發(fā)一個(gè)同樣的系統(tǒng)時(shí),她首先問了以下幾個(gè)問題:
“預(yù)期會(huì)有多少?gòu)N具?”
“我們希望12個(gè)月內(nèi)賣出500套廚具。”
“需要多長(zhǎng)時(shí)間出一份報(bào)告?”
“大概一小時(shí)一次。”
“這網(wǎng)絡(luò)的可靠性如何?”
“使用 WiFi,它很穩(wěn)定。”
Dianne 使用 MySQL 數(shù)據(jù)庫(kù)寫了一個(gè) RESTful API 結(jié)點(diǎn)。PostgreSQL 可能更適合,但她只懂 MySQL。
Dianne 采用的這個(gè)解決方案可以擴(kuò)展到1萬個(gè)用戶嗎?不能,但這個(gè)系統(tǒng)并不需要這樣做。Dianne 的解決方案很簡(jiǎn)單、容易理解,具有更好的維護(hù)性。Dianne 知道它并不是最簡(jiǎn)潔的解決方案,但她卻知道任何更復(fù)雜的事都會(huì)超出她現(xiàn)在的能力。
判斷力很重要
當(dāng)給定一個(gè)很有趣的“問題”時(shí),沒有判斷力的開發(fā)者就會(huì)陷入精心設(shè)計(jì)最簡(jiǎn)潔解決方案的陷阱中。他們總會(huì)有一種很自然的欲望而導(dǎo)致過度設(shè)計(jì)該解決方案,要么追求復(fù)雜度、速度和功能性,要么很簡(jiǎn)單地找機(jī)會(huì)演練一下他們所掌握的新技術(shù)。他們需要時(shí)常被檢查,以確保不會(huì)在半路掉進(jìn)“兔子洞”里。
更遭的是,他們并不知道什么時(shí)候才超出他們的能力,所以他們總會(huì)在整個(gè)項(xiàng)目中留下代碼炸彈。
雇傭有判斷力的員工
我會(huì)讓我的團(tuán)隊(duì)判斷應(yīng)聘者是否聰明,是否適合我們的文化。而我負(fù)責(zé)判斷他是不是有很好的判斷能力。為了做到這一點(diǎn),我會(huì)帶他出去喝啤酒,并兩個(gè)主要的問題:
1. 對(duì)于 Ruby 和 Ruby on Rails 框架,你最不喜歡哪一部分?為什么?
2. 請(qǐng)告訴我你最后一次使用的很有趣的技術(shù)?你從中學(xué)到了什么?
這些問題可以很好地幫助你,讓一個(gè)開發(fā)者充滿熱情地談?wù)撍麄冊(cè)谑裁磿r(shí)候充滿激情,在什么地方情緒低落。從中你可以了解到很多,他們是怎樣的人,他們來自哪里。他們是否喜歡 NoSQL 這種數(shù)據(jù)庫(kù)?他們是否了解什么時(shí)候不能使用它們?他們是否了解多線程編程中最難點(diǎn)?他們是否喜歡使用函數(shù)式編程、哈希函數(shù),原因是什么?
英文原文:The Number One Trait of a Great Developer
it知識(shí)庫(kù):優(yōu)秀程序員的首要特性:判斷力,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。