資深工程師的條件之ㄧ竟然是當好工具人?

更新於 發佈於 閱讀時間約 4 分鐘

最近正在製作一些工具加速自己開發網站的速度,能夠製作各種工具輔助自己工作是我還沒成為資深工程師之前一直相信的資深工程師條件之一。

製作工具的概念並不是一定要發布或者公開某些套件才算,針對整個專案製作、選用適合的方案跟工具基本上是身為資深工程師的重要能力之一,在研討會中害羞的工程師這篇文章中提到了我去參加演討會,上午在演講結束後聽 Ruddy 老師分享 DX(Developer Experience,開發者體驗)時提到,要讓剛加入團隊的工程師快速上手,就是要讓這些資深的人員去探索、鋪路,讓其他人能夠快速地開始工作。

最近我就將工作幾年來的 DevOps 相關經驗,整理成了 GitLab CI 樣板以及每次將 Ruby 或者 Ruby on Rails 專案進行容器化會使用到的進入點(Entrypoint)製作成 RubyGem - Openbox 來幫助自己在未來的工作更快速,這兩者在每次創立新專案的時候都會需要花上幾小時的時間設定(即使已經標準化),有了這兩套工具時間可以節省到幾分鐘就完成最初的配置。

如同在軟體工程師業界有著十倍速工程師這樣名詞用來形容那些工作效率極佳的工程師,聽起來就是需要非常有天份才有機會成為這樣的人,然而在我自身的經驗中,很多時候就是累積的差異。

過去幾年我很常告訴同事,很多時候並不是我做東西很快,而是我的電腦裡面有著近百個專案的目錄,除了工作上的之外還有各種我自己嘗試的小專案。同時,我也能記得大部分專案的用途跟實驗目的,因此當我遇到某種類型難題的時候我很快就有可以參考的程式碼,接下來只要根據實際的需求調整就能夠快速製作出對應的成品。

製作工具的過程也是這樣,先從大量的實驗開始去驗證想法跟實現的方式,同時再多次的實際應用中觀察規律並且加以熟練運用,最後彙整規則後製作成具備一定彈性(高度抽象化)可以對應特定情況的工具。

基於同樣的規則,我們也可以看出工程師的成長正好也是初期需要大量練習熟悉程式語言和套件,並且在這個過程中累積能夠歸納過去經驗的技巧來選擇適合解決問題的方案,最後到了資深的階段則是能夠基於經驗從抽象的角度去看設計出來的系統,讓系統具備維護和擴充的彈性。

當然,製作工具也不是那麼容易的一件事情,同樣還是需要經過大量的練習。在文章開頭提到 Ruddy 老師分享的經驗中,關於回饋的部分點醒了我一個很重要的觀念,假設這些資深工程師製作了工具,然而卻沒有人能夠很好使用,那麼並不具備意義,因此除了製作工具之外,還需要汲取意見不斷改善,才能夠變成一個好的工具。

這幾年因為職位比較高,所以也會有同事問我「資深工程師」到底需要具備怎樣的條件,然而我依舊很難回答他們。因為很多時候,技術再好也很難成為資深工程師,這些資深的工程師想的總是遠比我們認為的還多、還深,也因此能夠被稱為資深工程師,這大概也是為什麼有些人很快就能夠走在這條路上,有些人卻一直過不了這道門檻的關係。


封面圖片使用 UnsplashNatalino D'Amato 的作品

留言
avatar-img
留言分享你的想法!
avatar-img
蒼時弦也的沙龍
55會員
40內容數
軟體工程師逐漸變成一個熱門的職業,當我們進入這個職業之後應該要具備怎樣的技能才會在工作上更加順利呢?這系列的專欄會分享日常工作中的經驗以及一些案例分析,讓我們一起努力成為一位更優秀的軟體工程師吧!
蒼時弦也的沙龍的其他內容
2022/04/11
大多數時候,我們在討論壓力測試通常會先想到 ab 這個工具,然而這個工具會一次性的發送請求,有時候不一定符合現實的使用情況,同時也會受限於運行測試機器的限制(例如:Thread 上限)因此可能會得到不太精確的結果,在測試一定請求等級的瞬間壓力是有用的。
Thumbnail
2022/04/11
大多數時候,我們在討論壓力測試通常會先想到 ab 這個工具,然而這個工具會一次性的發送請求,有時候不一定符合現實的使用情況,同時也會受限於運行測試機器的限制(例如:Thread 上限)因此可能會得到不太精確的結果,在測試一定請求等級的瞬間壓力是有用的。
Thumbnail
2022/04/04
在我們要進行壓力測試的時候,必定會需要有「目標」而這個目標大多就是商業考量,也就是我們希望提供多大規模的服務。
Thumbnail
2022/04/04
在我們要進行壓力測試的時候,必定會需要有「目標」而這個目標大多就是商業考量,也就是我們希望提供多大規模的服務。
Thumbnail
2022/03/28
在一個功能完成後,比較嚴謹的方式會進行壓力測試來驗證是否能夠符合業務上的需求,在測試的時候是否能夠準確的測試就變得相當重要。
Thumbnail
2022/03/28
在一個功能完成後,比較嚴謹的方式會進行壓力測試來驗證是否能夠符合業務上的需求,在測試的時候是否能夠準確的測試就變得相當重要。
Thumbnail
看更多
你可能也想看
Thumbnail
這是 30 天寫作挑戰的第 14 天。今天要跟大家分享的主題是:從 0 到 1 成為前端工程師應該養成的 3 個寫程式習慣
Thumbnail
這是 30 天寫作挑戰的第 14 天。今天要跟大家分享的主題是:從 0 到 1 成為前端工程師應該養成的 3 個寫程式習慣
Thumbnail
這是 30 天寫作挑戰的第 13 天。今天要跟大家分享主題是:從 0 到 1 成為前端工程師的 3 個技巧
Thumbnail
這是 30 天寫作挑戰的第 13 天。今天要跟大家分享主題是:從 0 到 1 成為前端工程師的 3 個技巧
Thumbnail
如何成為軟體工程師?前端、後端、全端工程師之間的差異?這篇文章推薦給不知該怎麼開始學習的你,學習路線與必備技能一次詳細說明!
Thumbnail
如何成為軟體工程師?前端、後端、全端工程師之間的差異?這篇文章推薦給不知該怎麼開始學習的你,學習路線與必備技能一次詳細說明!
Thumbnail
如果有在接觸軟體開發產業,很常見的一個說法是非本科(資訊、工程背景)的工程師底子差,做出來的東西很糟糕之類的。然而,事實真的是這樣嗎?又或者說,我們能夠如何解決這樣的問題?
Thumbnail
如果有在接觸軟體開發產業,很常見的一個說法是非本科(資訊、工程背景)的工程師底子差,做出來的東西很糟糕之類的。然而,事實真的是這樣嗎?又或者說,我們能夠如何解決這樣的問題?
Thumbnail
畢業後每年年底大多會跟大學同學一起到家裡聚會,剛好就聊到朋友的父親是自己開硬體相關的公司,經常覺得工程師只專精在某塊領域上沒問題,然而很多時候跟客戶討論時需要的卻是每一種都懂一點的工程師,能夠回答客戶問題很重要。
Thumbnail
畢業後每年年底大多會跟大學同學一起到家裡聚會,剛好就聊到朋友的父親是自己開硬體相關的公司,經常覺得工程師只專精在某塊領域上沒問題,然而很多時候跟客戶討論時需要的卻是每一種都懂一點的工程師,能夠回答客戶問題很重要。
Thumbnail
最近正在製作一些工具加速自己開發網站的速度,能夠製作各種工具輔助自己工作是我還沒成為資深工程師之前一直相信的資深工程師條件之一。
Thumbnail
最近正在製作一些工具加速自己開發網站的速度,能夠製作各種工具輔助自己工作是我還沒成為資深工程師之前一直相信的資深工程師條件之一。
Thumbnail
最近剛好在工作中聊到關於現今工程師的狀況,相比過去我自己在學習寫程式的那個時間點,現在多了很多「轉職工程師」這樣的人存在,也有不少是我認識的人或者朋友。 不過,我們是抱著怎樣的心態去當一名工程師的呢?
Thumbnail
最近剛好在工作中聊到關於現今工程師的狀況,相比過去我自己在學習寫程式的那個時間點,現在多了很多「轉職工程師」這樣的人存在,也有不少是我認識的人或者朋友。 不過,我們是抱著怎樣的心態去當一名工程師的呢?
Thumbnail
正在前往成為工程師的道路上,你可能會覺得需要一點東西來證明你自己的能力。最容易想到的證明方式就是作品、證照和技術了,尤其補習班的講師都會建議非本科的考生要去補點東西來證明自己。在文章中會分享自己對於這個議題的觀點,快來看看吧!
Thumbnail
正在前往成為工程師的道路上,你可能會覺得需要一點東西來證明你自己的能力。最容易想到的證明方式就是作品、證照和技術了,尤其補習班的講師都會建議非本科的考生要去補點東西來證明自己。在文章中會分享自己對於這個議題的觀點,快來看看吧!
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News