接近 2016 年底的我是否有資格稱為資深工程師

「有些工程師會把熟練工具後就能完成的事當成自己的能力,進而產生過度的自信;一旦抽離這些工具,他們會很難找到替代方案來解決問題,進而對提出質疑的人產生防禦心態。」
評論
評論

本文原刊登於 網站製作學習誌 ,作者大澤木小鐵,一個不算狂熱的 Web 開發者,目前就職 KKBOX ,擔任資深工程師。INSIDE 獲授權刊登。

看到這篇推,心中還滿有感觸的。本來就不是資歷混夠久、程式寫得好就能算得上資深工程師;資深工程師該怎麼定義其實很難拿個準,我的主管也曾問過我這個問題,我一時之間也很難完整回答。不過在面試時常常看到很多面試者都是應徵資深工程師,但實際問他們一些問題之後,卻發現他們卻缺乏了一些東西。

所以藉這個機會,我想從幾個面向來聊聊我心目中的工程師應該具備哪些特質與能力,而這些特質與能力,我都是從身邊厲害的同事們與社群的朋友們身上觀察到的,他們都是我所敬重的資深工程師(當然職稱不一定是);同時我也會提供一些過去遇到的反指標,避免大家誤會資深工程師是否都是這樣的人。

技術能力層面

對工具技術有深入的掌握度

這個特點大概是一般人用來評斷資深工程師能力最明顯的表象特徵,也就是是否將常用的工具能練得很熟或是對語言理解得夠深,同時也將技術內化到自己平常的開發習慣裡,達到信手捻來的境界。這樣的資深工程師在開發上能有全面性的考量,同時也能幫助團隊更有效率地達成目標。

反指標:有時這個能力會以個人開發的效率來評估,使得有人常常誤認為只要能很快完成功能就有資格當資深工程師,但他們卻忽略掉其他更值得注意的能力,結果為團隊帶來災難。

能寫出可理解可維護的程式碼

這個特點的特徵就是平時就會撰寫測試、並對自己的程式碼做重構;對於自己的程式碼風格、變數或方法名稱等都非常要求,也絕對不會特意去走難懂的捷徑。這樣的資深工程師是非常自律的,所以被他 code review 時可能會有點痛苦,但絕對會學到很多。通常到這個階段的工程師,都是心靈上已經受過不少傷害,也對自己發過誓不再讓自己的程式碼傷害他人。

反指標:有些工程師會過度強調工具或標準帶來的規範,反而讓整個團隊疲於應付這些規則,失去了開發上的敏捷與效率。

選擇技術的能力

雖然實務經驗豐富而能夠精準判斷是資深工程師的優勢之一,然而在面臨專案要使用的技術選項時,資深工程師不會把自己的喜好的技術強加在團隊上,而是跟團隊一起討論與研究,並在多方考量後去挑選出最適合這個專案以及這個團隊的技術。

反指標:有些時候老鳥會認為他所習慣的舊技術可以解決一切問題,即便這種技術維護起來不那麼容易。當專案使用新技術遇到瓶頸時,他不會伸手幫忙,反而會在旁幸災樂禍。

軟體架構分析與設計能力

這個階段的能力靠得是非常多的實戰與專案經驗,加上對理論的融會貫通才能得到。一個優秀的資深工程師可以針對需求做出完整的分析,並從上而下、由粗到細地規劃出良好的軟體架構設計,也能在程式效率與可理解性之間取得平衡。他們對於每個技術的生態系都有一定程度的瞭解,幫助自己的規劃時能夠更快找到工具,也能避開嚴重的缺陷。

反指標:有些工程師可以將書中理論背得滾瓜爛熟,但在實際設計時卻沒有看清現實而規劃出不甚合理的架構,這是多數理論派工程師的通病。

圖像解說能力

能夠在解釋一個技術時,用簡單清楚的圖形來解釋原理,這點是資深工程師必備的能力。通常如果能用手繪圖形的方式來說明,表示對該技術的原理已經有足夠的瞭解。從畫出來的圖也能看出工程師對於知識的組織能力,好的圖像組識要能讓其他人一眼就能理解知識的全貌,這全仰賴工程師對該知識的理解。

反指標:有些工程師會只畫個方塊或圓形,然後就開始講解;而在講解過程中,動筆的次數也不多;也有些工程師只是把記憶裡的圖形畫出來,但卻說不出所以然。這些都是圖像解說能力不夠的現象。

能綜觀全局的能力

在討論一個新功能,或是修改一個舊功能時,能不能考慮到所有會被影響的層面,進而判斷如何處理。另外這也考驗著資深工程師的記憶能力,因為通常這不是已經踩過無數類似的雷,就是對系統已經瞭若指掌了。資深工程師會站在俯瞰的角度來觀看整個專案全貌,並權宜各種技術面的優缺點後,提出可行的方案讓決策者參考,也讓其他執行的工程師在實作時能夠有依偱的方向。

反指標:有些工程師會過度憂慮未來的情況,而提出一些其實沒有明顯必要的因應措施;有時這些人是為了讓自己能佔有一席之地,所以用一些沒有根據的論點來讓自己顯得很資深。

嘗試導入對團隊更好的流程

資深工程師會從木桶定律體認到自己的效率不等於團隊的效率,所以會試著導入良好的開發流程,或是自動化佈署等讓團隊能更有效率的技術。在這期間,他會透過 code review 或是教育訓練的方式來協助伙伴們往好的方向前進,讓他們感受到好的開發流程所帶來的好處。

反指標:有些工程師很喜歡新技術,而沒有考慮到團隊的接受度就貿然導入;這種狀況很容易造成浪費過多人力在解決一些新技術所帶來的新麻煩,進而影響整個團隊的士氣。

心理素質層面

真正能完成一件事的自信

這個特點並不是指自傲,而在技術層面的各項指標都達到一定水準後,資深工程師在面對任何挑戰時所產生的自信心。他能從各種面向來規劃出專案所需要的基礎建設,在開發時也能夠從架構面到程式碼都有很棒的見解與實作。在經歷過多場戰役後,這種態度通常都能贏得其他伙伴的敬重,明白只要有他在團隊裡,很多問題都能迎刃而解。

反指標:有些工程師會把熟練工具後就能完成的事當成自己的能力,進而產生過度的自信;一旦抽離這些工具,他們會很難找到替代方案來解決問題,進而對提出質疑的人產生防禦心態。

不斷地自我提升

在工作之餘,資深工程師會調配自己的時間來接收新知,也會不斷地加強自己的基本能力。由於他們的基礎打得非常好,所以能對新事物有舉一反三的能力。他們對新事物接受度高,但也不會過份追逐新事物;他們會針對自己的興趣或是工作的需要來有計劃性地學習,避免把時間花在太多方向上,結果反而一事無成。

反指標:有些工程師會有自己的一套偏方,認為這些偏方就能幫他達到目標,不用花時間學新事物。但是累積錯誤糟糕的經驗並不能成為好的資深工程師,因為他從來不打算理解有無新的方法可以做得更好。

臨危不亂

專案在進行開發或維護的過程中,常常會有一些意外發生,這常會讓一些沒有經驗的工程師慌了手腳。優秀的資深工程師會秉持著「難題不會因為你的憂心而變得簡單,不如保持平常心來看待。」的心態來面對意外。這會讓他們跳出被框住的思維,看見問題的全貌,進而找到更好的解決方案。

反指標:有些工程師會在問題發生時漠不關心,似乎這些問題事不關己一樣。這會發生在一些權責過度分明,犯錯就會被處罰的制度裡。

樂於分享所知

資深工程師會意識到只有技術能力高是不夠的,他們會透過演說的方式來訓練自己的口才技巧,也會透過紀錄文章的方式來加強自己的文筆能力。而藉由這些分享,除了能幫助他人少走冤枉路之外,事實上也能得到更多回饋來讓自己的視界變得更加廣闊。技術社群有很多這樣的工程師,他們會在工作之餘參加讀書會或研討會,以分享更多工作上的經驗。

反指標:有些工程師很喜歡分享書中的死知識,而不是自己的實務經驗談;他們分享的知識可能很有道理,但卻很難跟實際狀況有所連結。

溝通受人敬重

在進行專案討論時,在自己有把握的部份會做出有自信的發言;而且也會尊重同事的想法,而不是用嗤之以鼻的方式來反駁。謙遜是資深工程師一個很重要的特色,他不會在不懂的地方上爭辯,而是會在時間允許的狀況下虛心請教,不然就是下次討論前先作足功課再上場。伙伴們通常都會喜歡找他討論技術,通常也不一定是因為能力落差的關係,而是跟他聊技術這件事本身就很快樂。

反指標:有些能力很強的工程師,會以強勢的方式來讓對方接受自己的想法。即便他是對的,但通常時間一久之後,就會破壞皇城團隊內的和諧。

勇於認錯、自我反省

不論是線上的大問題,或是開發時的錯誤,資深工程師都會勇於認錯;多數這樣的工程師,也都是勇於承擔責任的人。他懂得承認自己的錯誤並不是可恥的事,因為他知道這是自己成長的契機;所以他會在問題被解決之後,重新省視自己做錯了什麼。這倒不是說資深工程師該把責任往自己身上攬,而是要讓團隊能夠儘快發現問題,儘快去解決。這樣的工程師通常可以在反省會議上提出不少好的見解,因為他其實就是團隊的鏡子,能幫助大家看見自己忽略的問題。

反指標:有些工程師會抱著「把過錯推給別人,比自己承認來得簡單。」他們可能會以職責權限來讓自己不受責難,或是毫無肩膀地把過錯直接推給資淺的同事。

這些不是全部

以上這些面向並沒有完整地涵蓋一個資深工程師會有的特質與能力,我想各位可以就近觀察自己身邊的優秀同事,看看他們身上是有哪些值得你敬重的地方。當然也不是說每個資深工程師都要能做到上面這些,像我自己也常常會自省有哪些特質與能力是我還沒達到的。

而不論是能力或特質,其實都是相輔相乘的。在技術能力上雖然可以透過自我訓練來加強,不過心理素質就比較難在一夕之間改變了。優秀的資深工程師則會在這兩方面同時俱進,從工作上去找出讓自己的技術能力與心理素質都能提升的機會。


VAG 車主有福了!這廠商出手,立刻從 ACC 升級到 Level 2 等級

ADAS 先進駕駛輔助系統已成用車與購車顯學,不僅減少開車負擔、更提升用車安全。由世博科成立的「VAG Openpilot 同樂會」,針對廣大 VAG 車主開發專用線組,配上車上既有的 ACC 功能,達到 Level 2 輔助駕駛等級。
評論
Photo Credit:世博科
評論

ADAS 先進駕駛輔助系統已成用車與購車顯學,不僅減少開車負擔、提升用車安全,更有利於二手車價。除了汽車品牌針對旗下新車積極開發以外,市面上也有不少專精此領域的科技公司,針對舊款車型積極開發升級套件,其中由世博科成立的「VAG Openpilot 同樂會」就是最佳代表,針對廣大 VAG 車主開發專用線組,讓配備有 ACC 與 MQB 底盤基礎兩條件的 VAG 車主可以透過 DIY 自行升級車道維持功能,配上車上既有的 ACC 功能,達到 Level 2 輔助駕駛等級。

Comma ai 所開發的 Openpilot 自動駕駛輔助系統可支援 2015 年後具備 ACC 與 LKAS 系統的車主升級車道維持功能,並於「消費者報告」測試中獲得高分評價。Photo Credit:世博科

為何我需要 Level2?

由於 ADAS 系統發展日新月異,國際汽車工程師學會便針對此作出定義界定,自動駕駛科技等級目前從零到五共區分出六個等級,也就是從 Level 0 到 Level 5,其中 Level 0 就是僅搭載如盲點偵測、車道偏移警示等功能;Level 1 則是導入如 ACC 主動是定速巡航系統、車道偏離輔助系統等進階功能;Level 2 則是可以將 ACC 主動式定速巡航功能與車道置中功能整合,也是目前市面市售車款最高可達到的自動駕駛科技等級。

在 Level 5 等級的ADAS科技尚未到來之前,駕駛人為主、科技為輔都是絕對必備的駕駛觀念,不過可以透過 Level 2 等級的  ADAS 系統的輔助,在長途開車時,有效協助駕駛減少體力負擔、減少因一時分神所可能帶來的危險等。

Openpilot評價高,消費者報告給讚聲

對於新世代車款而言,搭載 Level 2 等級的 ADAS 科技越來越普遍,但對於舊款車型的車主,也想要擁有此類輔助科技該如何呢?市面上已經開始有廠商投入此類相關研發,其中由 Comma ai 所開發的 Openpilot 自動駕駛輔助系統就是相當具代表性的產品。

Openpilot 目前於市場上相當知名,廣泛適用於如 Toyota、Honda、Hyundai、Kia、Lexus、Nissan、Subaru 與 Volkswagen 等品牌旗下 2015 年後且有搭載如 ACC、LKAS 車道維持輔助等系統的車型,就可以透過 Openpilot 自動駕駛輔助系統的升級,達到 Level 2 的自動駕駛輔助等級,其中 Openpilot 第二代系統 comma 2 還曾在美國相當知名的第三方調查單位「消費者報告」測試中獲得高分評價。

廣大 VAG 車友受惠,升級車道維持功能

專精於 VAG 車系 Openpilot 自動駕駛輔助系統專用線組開發的「世博科」,在台灣全新推出針對擁有 ACC 科技與 MQB 底盤兩基礎條件的 VAG 車款,推出專屬「Dream Harness 2/2 Pro」系列,系列共分為 DH1(新台幣 1,490 元)、DH2(新台幣 2,490 元)與 DH2 Pro(新台幣 2,990 元),都可與 Openpilot 相容組合。

「Dream Harness 2/2 Pro」將原本複雜的線組簡化,並由重新設計的插頭與 Volkswagen 原廠母頭設計,以及可啟閉的 30 分鐘斷電系統與 Pro 版的專屬抗干擾雙絞線,提供與VAG 原廠 Gateway 系統百分百的相容性,電子訊號傳輸效率也相當優異。

Photo Credit:世博科
Openpilot 可以迅速讓原本有 ACC 與 LKAS 功能的車輛達到 Level 2 自動駕駛等級表現。Photo Credit:世博科

安裝「Dream Harness 2/2 Pro」之後,並不會介入車輛上既有的 ACC、AEB 或是 FCW 等功能,而是僅會針對車道維持系統來控制,達到 Level 2 等級的輔助駕駛科技表現。

目前與世博科合作安裝廠商分別為板橋富技汽車、新竹反骨汽車站、台南 Playground Tuning Tainan 等,如需了解更多詳情,可上 [SaberCord 世博科] VAG Openpilot 同樂會臉書粉絲團

選擇世博科開發的專用線組更可以縮短安裝時間,並讓運作更順暢。Photo Credit:世博科

非 VAG 車主團購照過來!

除了 VAG 車主以外,針對非 VAG 車主,也可以參加團購方案,區分三種等級,皆須達標十台才可成團(註.團購報價會隨匯率波動):

●  Comma 水

comma 3 採用最新主機,目前軟體能力與 comma 2 主機表現相近,但立基 comma 2 過去 AI 升級模式與經驗,加上更優異的硬體規格,可提供較 comma 2 更多的能力表現。目前十台團購方案每台 comma 3 主機需要價約 55,000 元起,若搭配原廠線組則需加價約新台幣5,600 元左右。

● Comma 兔

comma 2 目前為主力主機,擁有軟體穩定、分支功能多等優勢。十台團購方案每台comma 2 主機需要價約 27,500 元,搭配原廠線組同樣需加價約新台幣 5,600 元左右。comma 2 預計開發至明年 7 月達到最終版本,將進入長期穩定版不再進行軟體更新。

● Geroge  省

定位為最入門的方案,雖然入門卻與 comma 2 主機一樣擁有相當犀利的車道維持能力,團購價為 11,190 元,方案包含運費、DH1 線組、台灣一年保固與內含稅金。

車款科技日新月異,但並非人人都有預算直上最新車款、享受最先進的輔助駕駛科技,因此透過售服有保障、評價好的升級套件,也可讓自己愛車享有 Level 2 等級的輔助駕駛科技。對於廣大的 VAG 車友們,可以選擇由世博科成立的「VAG Openpilot 同樂會」打造VAG 專屬的「Dream Harness 2/2 Pro」線組;而非 VAG 的車友們,也可選擇上述三項團購方案,讓自己快速晉升 Level 2 一族!

Photo Credit:世博科