六大特質看出軟體工程師好壞

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

本文譯自 〈Good Software Engineer / Bad Software Engineer〉,作者為 Color Genomics 軟體工程師 Katsuya Noguchi。

優秀(good)的工程師,與糟糕(bad)的工程師,到底有什麼差別?身為一名軟體工程師,這是一個我們經常必須捫心自問、並與其他人相互詰問的問題,以建立出色的團隊,並且自我成長。Ben Horowitz 撰寫的 〈優秀的產品經理/糟糕的產品經理〉 啟發了我,寫出軟體工程師的版本。以下是優秀工程師的特徵,不分順序。

寫出好的程式

優秀的工程師遵循風格指南(style guide),優秀的工程師能為程式碼恰如其分的命名,優秀的工程師能夠精確的描述程式,而不帶有強烈的個人意見,優秀的工程師寫出的程式儘可能的簡潔,優秀的工程師應該盡量把程式抽象化以防止功能彼此干擾,優秀的工程師在程式庫逐漸豐富的過程中,能夠時常修改程式內部結構(refactor),優秀的工程師能將商業邏輯與程式邏輯區隔清楚。

糟糕的工程師只在乎程式最終是不是有得出自己預期的結果,如果他們看到結果了,就代表工作結束了。

動作快,品質佳

優秀的工程師懂得在品質與時間壓力之間做出取捨,他們掌握技術負債的狀況,而且可以盡快「償還」負債,避免一發不可收拾。優秀的工程師要求自己在有限時間內寫出品質最好的程式,不斷追求進步,追求卓越。時間緊迫,從來不該成為寫出破爛程式的藉口。

糟糕的工程師抱著「趕快把事情搞定」,交差了事的心態,產出亂七八糟的程式,聲稱自己為大家節省了時間。殊不知他們寫出的程式會成為團隊的負擔,終究得要有人出面替他收拾殘局。

追根究底的精神

優秀的工程師從不盲目而行,他們質疑每個問題,以判斷手上的專案出現的到底是真正的麻煩,抑或只是表面的症狀。

他們懂得找出問題的根源,以揪出導致「表面症狀」的深層原因。他們一方面理解細節,一方面也能綜觀大局,確認自己正在著手解決的是真正的問題。

糟糕的工程師則是一個口令一個動作,從不對他們被要求解決的問題發出疑問。盲目地執行無法產生價值,這種行為儘管在短時間內可以見到效果,卻可能不利長期發展。

用個例子來說明優秀的工程師與糟糕的工程師,究竟有什麼差別:產品經理發現公司網站某個網頁載入的速度非常緩慢,於是要求工程師解決問題。糟糕的工程師二話不說,執行這項任務,但是優秀的工程師則嘗試理解數據,判別導致網頁變慢的根本原因,並且發現 90% 的載入時間都耗在其中一個資料庫查詢指令上了,而那是因為少了一個資料庫索引。不急著隨便植入解決方案,優秀的工程師追本溯源,而不只著眼於表面的問題。治標不治本,可能拖延或掩蓋真正的問題,導致「後續治療」更加艱難。

優秀的工程師懂得把巨大的任務拆解成一個個微小的問題。小小的問題更容易思考、理解、編寫程式、維持、重複利用。優秀的工程師辨別模式,並且歸納該種模式。糟糕的工程師只會蠻幹。

做出合宜的抉擇

優秀的工程師知道,沒有什麼完美的設計、服務或工具能夠全面適用於各種狀況。優秀的工程師知道可用的選擇,知道自己手上的籌碼,做出適宜的權衡。

糟糕的工程師漫不經心,一味使用時下熱門的設計、服務或工具,糟糕的工程師不會考慮其他可能的選項。

善於團隊合作

優秀的工程師也是優秀的團隊成員。他們寫的程式不只可與機器溝通,更要緊的是跟其他工程師溝通。他們知道,程式的「一生」多數時間都是被其他人讀取,這些人常常需要修改程式,或在其基礎上創造新的事物。他們編寫測試套件,除了用來驗證自己的程式,也是用來向他人說明,程式應該如何表現,優秀的工程師會讓後人不必花太多力氣就能進行修改。

糟糕的工程師不在乎程式的可維護性與可讀性,他們的工作在寫完程式的那一刻就結束了,只有在被強迫的狀況下,他們才會編寫測試套件。

優秀的工程師充分利用程式審查,學習程式庫其它部分,分享他們的風格,控制整體程式庫的品質,他們既了解也相信程式審查是向他人學習最快的方式,而且可以改善工程團隊的輸出品質。

優秀的工程師發表意見時,目的不在顯示自己的聰明才智,而是誠摯的希望與團隊一同成長。他們思量整體的設計、設想極端情況(edge case)、改進形式,考慮各種可能更進一步加強資料庫品質。他們提出意見時,通常是以「為什麼(why)」(為什麼你會想這樣寫?)起頭,而不是「什麼(what)(這是什麼東西?)」。

洞察力(perspective)

優秀的工程師有長遠的洞察力,支撐他們從容度過軟體開發的高潮與低潮。工程師必然會經歷許多洩氣的時刻,比方說,當他們臨時收到伺服器掛了的問題、或者被要求處理高技術負債的程式庫、或者逼近死線。就算身處這些惡劣情況,優秀的工程師依然抱持積極正面的態度,高度的自我激勵,以及運動員般的專注與自律。

糟糕的工程師隨便都能失去動力,而他們的動機也不是發自內心。糟糕的工程師把壓力發洩在其他人身上,只要事情一不如意,他們馬上就陷入沮喪,不願自己先努力試著解決,而是直接求助別人,卻叨擾了同事。

您認為優秀的工程師還需具備哪些特質呢?歡迎與我們分享。

歡迎加入「Inside」Line 官方帳號,關注最新創業、科技、網路、工作訊息

好友人數

網路服務領導者第一線 DYXnet,以優質資料中心及 BMS 方案成企業數位轉型最強助手

第一線作為大中華區領先的電信中立網路服務供應商,提供企業可靠、安全、靈活管理的 IDC 解決方案,包含 IDC 機房服務以及新型態雲服務─Bare Metal Service (BMS),在兼顧效能及成本效益之下,協助企業擁抱新世代商業型態。
評論
photo credit:第一線DYXnet
評論

近年 5G、AIoT、大數據及數位內容等服務蓬勃發展,企業也逐漸走向多雲、混合雲部署,同時因為疫情促使遠距會議、宅經濟及影視產業商機崛起,大幅提升企業對各類數據的應用,為因應雲端化及數位轉型而急速增加的跨國通訊傳輸,企業對於資料的妥善儲存和維護亦面臨極大的挑戰。

第一線作為大中華區領先的電信中立網路服務供應商,提供企業可靠、安全、靈活管理的 IDC(Internet Data Center)解決方案,包含 IDC 機房服務以及新型態雲服務─Bare Metal Service (BMS),在同時兼顧效能及成本效益之下,協助企業全力擁抱新世代商業型態,簡單迅速地佈局海外市場,在後疫情時代下取得先機,創造雙贏。

第一線提供全方位的 IDC 解決方案,解決企業快速拓展需求

第一線提供全方位的 IDC 機房服務,滿足企業對機房環境高坪效、高品質及高穩定度的要求,企業無須煩惱自建機房昂貴的成本及繁瑣的管理業務,即可享有營運商等級的基礎設施、全球串聯的便捷網路,以及安全可靠的設施環境。

第一線的 IDC 機房基礎設施包含強大的跨國際骨幹網路架構、電力備援系統、環境控制及防火保護,以符合國際電信機房的標準。另外 7X24X365 全天候的監控與技術支援服務,讓企業主可在安全的環境中,穩定快速地處理所有對內與對外的需求。

第一線的 IDC 機房基礎設施包含強大的 跨國際骨幹網路架構、電力備援系統、環境控制及防火保護,以符合國際電信機房的標準,提供企業專業的 IDC 服務。(本圖為示意,非第一線機房圖片) / photo credit:第一線DYXnet

第一線曾協助某大型雲端供應商,在 2019 年新加坡宣布暫停建置新資料中心後,透過自身強大的合作夥伴人脈,獨家取得獨立資料中心的樓層,完成建置逾 300 個機櫃的任務。第一線也針對客戶的需求,客製化整體電力、空調系統、機房隔間、門禁系統等,增設維運管理及人力外派,一條龍整合資源,一次購足免除客戶東奔西走的繁雜準備,更能專注於核心業務發展。

輕量彈性新選擇─Bare Metal Service 新型態雲服務

Bare Metal Service (BMS) 提供自媒體、串流平台及遠端應用等新型態商業模式公司,高彈性、高安全性、低營運成本、輕資產,快速部署的雲端資料中心解決方案,企業無須一次性支付大筆費用,以使用量彈性計費,讓每一分預算都能花在刀口上。

由第一線採購部署,縮短客戶採購建置週期,BMS 具有更高的靈活性及成本優勢,也大幅提升資料乘載,能支援大數據、高效能資料庫,更能應對遊戲及財務金融產業,高資料負載需求,讓每個用戶擁有專屬、靈活且高效能的服務。

第一線累積逾20年的服務經驗,為企業客戶提供標準化及客製方案多元選擇,並善用 BMS 的優勢,實現物理性阻隔獨佔使用資源,同時結合全球資料中心足跡與實體資源分隔,提升安全性,滿足複雜的安全與法規需求。

以第一線的電商客戶為例,電商產業淡旺季的資源需求有所不同,傳統的資料中心解決方案無法彈性應變,因此第一線結合紅帽 OpenShift 容器平台技術打造「一體化混合雲解決方案」,除了依照客戶的促銷週期,提供即時標準設備的短期服務及快速擴充,7x24 小時全天候遠端及現場的技術支援,迅速排除困難,在這次的合作中,第一線協助客戶靈活地佈建資源,貼心且可靠的技術團隊也成為客戶最有力的後盾。

選擇第一線 DYXnet,成為產業最前線

數位經濟浪潮加速來襲,身處瞬息萬變的網路世界和高度競爭的商業環境,高效、安全穩定的伺服器、資料庫及網路設備成為不可或缺的要素,有鑑於各國對於資料主權及落地權的要求愈來愈高,企業對於資料中心及跨境連線的重視程度也日益升高。

第一線專業、積極且到位的服務深受大中華地區企業口碑肯定,囊括 ISO 27001、ISO 20000、ISO 9001 認證,採取最嚴格的安全措施,以業界最佳標準作業提供服務。

此外,第一線自 2008 年以來,積極於東南亞佈局網路資料中心,深耕東南亞市場多年,豐富的人脈及合作經驗,也是企業發展新南向業務最為可靠的夥伴。第一線在海內外豐富的合作經驗,能有效提供各類型企業專業的 IDC 解決方案,更推出 BMS 全方位服務,滿足企業成本、安全性、服務品質等多重考量,協助企業在數位經濟下快速發展數位業務。

第一線(DYXnet)憑藉卓越的團隊領導及經營,優良的企業形象,及豐沛的專業素養,榮獲中華民國傑出企業管理人協會頒發的「第二十一屆金峰獎十大傑出企業」。 / photo credit: 中華民國傑出企業管理人協會

第一線 DYXnet