小地方看出優秀或卓越

   
2015-03-05

小地方看出優秀或卓越 | 文章內置圖片

(圖/取自網路)

 

卓越(great)的工程師,與優秀(good)的工程師,到底有什麼差別?身為一名軟體工程師,這是一個我們經常必須捫心自問、並與其他人相互詰問的問題,以建立出色的團隊,並且自我成長。

 

 

 

1. 卓越的工程師身上有一些不凡的品質。

 

卓越的工程師能夠在完美主義和實用主義之間找到平衡,他們既能夠做出熟練、快速​​但是劣跡斑斑的解決方案,也能用簡潔並且健壯的方法解決問題,他們能夠明智地選擇適合於所給問題的解決方法。一些稍欠火候的工程師看起來缺少對於必要細節的極致追求。另一些則被困在完美主義者模式中。

 

卓越的工程師也樂意進行除錯與 Bug 修正,一般工程師經常對 debug 感到厭惡和恐懼,即便是他們自己的程式也是如此。卓越的工程師則會以邱吉爾般的堅韌潛入和深挖。如果最終證明 bug 在他們自己的程式之外,他們可能也不會對此感到慶幸。

 

一個優秀的工程師會得出一個看起來可行的解決方案後收工。但是一個卓越的工程師直到進行了大量的測試之後才會相信他們自己的程式。這在數據分析和系統管理中也很常見。普通工程師可能在看到一個看似無害的不符合之處時,並不在意。如果一個卓越的工程師看到同樣的東西,他就會懷疑這可能是造成更大問題的導火索,並且深入研究。卓越的工程師總是傾向於做更多的事。

 

 

2. 優秀的工程師會寫自己必須寫的程式,而卓越的工程師還會寫自己根本不需要寫的程式。

 

從程式的行數來講,成為卓越的工程師並不是意味著他們可以多快地寫出一個程式庫,而是可以多快地在不丟棄功能和性能的條件下縮減程式。

 

如果你開始跟他們爭論「最好的程式語言是什麼」這個問題,他們會微笑著傾聽?還是看起來厭煩地換個話題?或者他們開始向你喋喋不休地講述?如果是最後一種,那他就不是一個卓越的工程師。

 

與程式或者語言無關。也與「痴迷」、「訣竅」、「天賦」或者其他術語無關。很簡單地—他們是否對軟體工程的理解超越了程式的層次?他們是否對軟體工程的理解達到了架構級別?或者他們是否能夠深謀遠慮?他們能否在對問題的數學抽象和和軟體工程之間平滑地轉化?他們能夠和股東工作並且理解他們對於系統的需求嗎?還是他們開發出自己想要編寫的系統,然後認為這就是你真正應該想要的系統?有人可以成為卓越的駭客或者工程師,但那並不意味著他是一個卓越的軟體工程師。我這麼說並沒有用來價值衡量—一個卓越的工程師的確就是一個卓越的工程師…但是你畢竟不能讓一個天才焊接工去設計一座橋。

 

當其他人都在屋子裡迷戀某個解決方案或者新的東西時,他們能否「發現缺陷」?更甚,他們是否能用他們能聽懂的方式向屋子裡的人解釋這個重要的缺陷。

 

能否傾聽?如果不能,那就不是卓越的軟體工程師。

 

【101創業大小事/整理報導】

 

 

免責聲明:

部分圖片、觀點,來源於網際網路及其他網路平台,主要目的在於分享訊息,讓更多人獲得需要的資訊,其版權歸原作者所有。如涉及侵權請告知,我們會在24小時內刪除相關內容。

 

 

 

客服信箱:[email protected]

手機版 Copyright © 101多媒體科技事業群 All Rights Reserved.