劃分軟體開發人員的兩種尺度

發表於2011-06-20

行業分析師 James Governor 試著建立一套開發人員的分類學。我認為他利用了開發人員與思維的關係。我開始思考我怎麼將開發人員分類,最後歸結為兩種尺度來衡量他們。

第一種尺度是“職業 VS 愛好”,第二種是“專注內在 vs 專注外在”。

第一種尺度與動力有關。程式設計師編寫程式,是因為這是他們的工作,還是因為他們他們享受軟體開發本身?知道你的同事和潛在的僱員屬於那一種是有幫助的。因為在管理員工的時候,這極為重要。如果你不能切實地向那些為了工作而工作的開發人員,說明做這些事情會對他們的職業生涯有好處,要他們學習新東西或者變得經驗至上會很困難。其他則是為愛好而做程式設計工作。在選擇解決方案時,他們很難決定是否已經給出了最好的解決方案或者最能激起他們興趣的解決方案。

“專注內在 vs 專注外在”,這和開發人員更喜歡怎樣去解決問題有關。當一個“專注外在”的開發人員遇到一個問題,他們會用Google搜尋答案,會請教同事,會在Stack Overflow 或者適當的論壇提交一個問題。當他們接到一項任務,他們會查詢符合需求的開放原始碼庫,或者會查詢過去解決了相同問題的人的部落格。他們不排斥團隊中有其它的開發人員站在白板前與他們一起想出解決問題的辦法。但這樣做的缺點是,他們會建立一個用了jQuery 和MooTools 的網站,導致最後網站的每個網頁頁都會載入25個jQuery 外掛。他們複製和貼上在博文找到的程式碼,即使他們並不知道他是怎麼執行的。

補充:關於如果利用搜尋技巧,國外開發人員 Andriy Solovey 在他的博文《如何使用搜尋技巧來成為一名高效的程式設計師》中的觀點是:如果不借助搜尋技術、網路及集體智慧,現代化高效程式設計是難以想象的。因此,搜尋技巧對高效程式設計師變得愈發重要。現在,我們不需要了解和記住如何解決眾多的程式設計問題,可以採用搜尋技術。我們正變得更加高效、高生產力,並能夠解決更多的問題。

“專注內在”的開發人員一般更喜歡儘可能依靠他們自己的腦力。他們常常為展示“這裡還沒有被髮明”的典型體現選擇時機,但只是個人層次的。當他們遇到一個棘手的問題,他們常常會完全消失似的,直到他們已經解決了問題。他們解決簡單問題的時間常常會更長,因為他們不會利用社群,他們不會留心社群中其他人是怎麼解決問題的。另一方面,你越偏向於這一端,你越有可能能夠解決所有深層次的問題。當Google不能搜尋出任何關於他們的問題的有意義結果時,他們從來不會卡住在這裡。他們也常常是團隊中僅有的熟悉整個系統是怎麼運作的開發人員。他們是那些實際發明東西的人。

兩個尺度都各有千秋。一個好的團隊會擁有各種各樣的開發人員。如果團隊太專注內在,就會常常不能將行業的進步帶入他們自己的編碼和實踐中。如果團隊太專注外在,會很難在技術上獲得有競爭力的優勢,儘管他們常常可以快速交付產品。如果團隊中有太多開發人員為自己的愛好而程式設計,他會因各種原因打擊公司中其餘的員工。如果團隊中有太多專注於職業的開發人員,就會缺少創造力,並通常不能成就非凡。

其他相關的尺度是“好 vs 不好”。成為前文提到的兩種尺度的一方或另外一方,並不會促使你擅長或不擅長軟體開發,但是優秀的和不及格的開發人員在分類上以不同的方式證明它們的重要性。區分好的和不好的開發人員是一門獨立的學科,是一門我希望會更擅長的學科。

 

原文:Tony Bargnesi  翻譯:敏捷翻譯張顥鏵

如需轉載,但請註明原文/譯文出處、譯文超連結和譯者等資訊,否則視為侵權,謝謝合作!

相關文章