優(yōu)秀程序員的首要特性:判斷力2011-11-06 22:53 | 7690次閱讀 | 來源:EngineYard 【已有24條評(píng)論】發(fā)表評(píng)論 | 作者:Tammer Saleh | 收藏這篇資訊 公司在招聘程序員時(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套廚具,?!?/P> “需要多長(zhǎng)時(shí)間出一份報(bào)告?” “大概一小時(shí)一次,?!?/P> “這網(wǎng)絡(luò)的可靠性如何?” “使用WiFi,,它很穩(wěn)定,。” Dianne使用MySQL數(shù)據(jù)庫寫了一個(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ù)庫?他們是否了解什么時(shí)候不能使用它們,?他們是否了解多線程編程中最難點(diǎn),?他們是否喜歡使用函數(shù)式編程、哈希函數(shù),,原因是什么,? |
|