方格精選

LeSS in Action - 延伸思考:工程師的心態

更新於 發佈於 閱讀時間約 1 分鐘
因為經常有面試人的機會,然而在不同的面試條件中有一個「Problem Solving」的項目讓我一直在思考代表怎樣的意義,剛好在 LeSS in Action 的課程中有了一些想法。

能夠解決問題的人

在台灣,我們很學習大多是透過「如何(How)」的方式來解決問題。然而這個「如何」是依靠標準答案所構成的,也因此我們如果沒有先學會工具、標準流程就沒辦法處理問題。
然而,在 LeSS in Action 課程中裡面建議大家比起思考「如何」更應該思考更多「為什麼(What)」去思考問題是為何存在、背後所象徵的意義為何。
在中文裡面 What 跟 Why 幾乎都可以用「為什麼」而來講,然而 What 跟 Why 相比來說具有更多討論「定義」的意義,而 Why 則是希望「解釋」的意義。

比技術更好用的能力

當我們了解到「如何」跟「為什麼」的差異後,就會發現技術實力本身並非影響專業、職涯的關鍵條件,即使我們了解再多技術、能夠用多優秀的技巧撰寫程式很可能都無法提升。
我最早知道的資深工程師定義,是一位前輩告訴我的,也就是「知道自己該做什麼」的人。剛好對照到「為什麼」的思考方式,雖然有點抽象但是也明確的說明了技術條件並不是影響是否成為資深工程師的關鍵。
這也驗證了在我過往的經驗中,經常會發現有些人會用「我能夠用某某工具解決問題」的問題來描述自己的能力,然而並未能深入分析、定義問題,這樣的方式得到的將果也不過是隨著時間增加會使用的工具。

學習探索的技能

要處理未知的問題,其中一個非常重要的環節就是定義「範圍」也就是透過不斷地提出「為什麼」來畫出一個已知跟未知的邊界,最後根據自己所具備的知識來尋找能夠從已知連結到未知的路徑來解決問題。
當我們利用「探索」的方式不斷地嘗試前進,我們可以應用小步前進的技巧來對應無法知曉全貌的「恐懼感」因為當我們出錯的時候,隨時都可以後退一步,也能夠避免在思考全貌時不斷遭遇的「未知」影響我們的思考,最後迷失了方向。
在敏捷開發中會推薦採用驗收測試驅動開發(Acceptance Test Driven Development)就是為了要實踐「探索」的過程,讓我們隨時都學習如何「專注當下」好好的把眼前的問題解決,只要持續這樣的前進,總有一天就會把所有問題解決。而不是專注在「如何一次性解決問題」這樣不太現實的方法上。

文化、時間、環境的挑戰

敏捷開發是源於歐美的方法,當然也受到歐美文化的影響,要在習慣亞洲文化的我們去接受這樣的轉變會需要不少的時間適應。

在刻意練習中提到要使用正確的方法練習才會有效,然而工程師是一個相對新的領域,也因此還未有完善的訓練方式(也是我們的「為什麼」還問得不夠多)因此想要有有系統的訓練就已經相當困難。
同時,環境的存在依舊影響著大部分的人。即使你的內心已經產生變化、也找到自己的方法正確的運用時間訓練自己,仍然要面對的是找不到一個可以接受這樣工作型態的公司。
即使遭遇了重重困難,依舊還能夠堅持的用這樣的方式前進。我想,你會開始看到一個不一樣的「專業」的世界。

封面圖片使用 UnsplashNorbert Kundrak 的作品,這系列的文章只是課程的一小部分,因此並無法完整涵蓋所有概念以及精神,看關於技術的主題可以到弦而時習之找找靈感。
為什麼會看到廣告
avatar-img
55會員
40內容數
軟體工程師逐漸變成一個熱門的職業,當我們進入這個職業之後應該要具備怎樣的技能才會在工作上更加順利呢?這系列的專欄會分享日常工作中的經驗以及一些案例分析,讓我們一起努力成為一位更優秀的軟體工程師吧!
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
蒼時弦也的沙龍 的其他內容
這系列大概花了快兩個月的時間快速的把學到的一些知識記錄下來,然而還是有許多內容很難用文章簡單的說明。
雖然這系列的課程是設計給工程師的,然而在學習敏捷開發(Scrum 為主)的過程中,我們是從如何做「產品」的角度去做切入,也因此在課程接近尾聲的時候我們再次討論了產品跟專案的差異,也是這一週課程中各種安排的理由所在。
我們已經了解到了驗收驅動開發、持續整合以及壞味道這幾個概念,要減少技術債的方式就是重構,然而在實踐重構的時候並非我們所想像的必須「安排時間」重構,而是在開發的過程中不斷的進行。
當我們使用主幹開發(Trunk-based Development)、以及驗收測試驅動開發(A-TDD)之後,所撰寫的程式碼會逐漸的變多,也因此我們會開始注意到程式碼有壞味道(Code Smell)的出現。
不同於我們大多數討論持續整合(Continuous Integration)是以工具為主的議題,在敏捷開發中持續整合更接近於團隊之間協作的議題。這是因為我們希望能夠快速迭代,也因此必須持續的將團隊的產出整合在一起。
當我們能夠通過一個驗收測試後,就是時候將程式碼推送到遠端的服務中。跟基於分支的開發方式不同,我們是以 Trunk-based Development(主幹開發)的方式進行,也就是只有 main 一條分支,並且所有人都會提交進去。
這系列大概花了快兩個月的時間快速的把學到的一些知識記錄下來,然而還是有許多內容很難用文章簡單的說明。
雖然這系列的課程是設計給工程師的,然而在學習敏捷開發(Scrum 為主)的過程中,我們是從如何做「產品」的角度去做切入,也因此在課程接近尾聲的時候我們再次討論了產品跟專案的差異,也是這一週課程中各種安排的理由所在。
我們已經了解到了驗收驅動開發、持續整合以及壞味道這幾個概念,要減少技術債的方式就是重構,然而在實踐重構的時候並非我們所想像的必須「安排時間」重構,而是在開發的過程中不斷的進行。
當我們使用主幹開發(Trunk-based Development)、以及驗收測試驅動開發(A-TDD)之後,所撰寫的程式碼會逐漸的變多,也因此我們會開始注意到程式碼有壞味道(Code Smell)的出現。
不同於我們大多數討論持續整合(Continuous Integration)是以工具為主的議題,在敏捷開發中持續整合更接近於團隊之間協作的議題。這是因為我們希望能夠快速迭代,也因此必須持續的將團隊的產出整合在一起。
當我們能夠通過一個驗收測試後,就是時候將程式碼推送到遠端的服務中。跟基於分支的開發方式不同,我們是以 Trunk-based Development(主幹開發)的方式進行,也就是只有 main 一條分支,並且所有人都會提交進去。
你可能也想看
Google News 追蹤
Thumbnail
隨著理財資訊的普及,越來越多台灣人不再將資產侷限於台股,而是將視野拓展到國際市場。特別是美國市場,其豐富的理財選擇,讓不少人開始思考將資金配置於海外市場的可能性。 然而,要參與美國市場並不只是盲目跟隨標的這麼簡單,而是需要策略和方式,尤其對新手而言,除了選股以外還會遇到語言、開戶流程、Ap
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
這篇文章探討了工程師在如何有效提升自己,強調不僅僅是多coding,而是要對程式碼有更深層的理解。隨著職涯發展,工程師需要從單純的技術執行者轉變為團隊領導者,具備解決複雜問題和與他人有效溝通的能力。
Thumbnail
工程師希望能釐清任務的輕重緩急,其中那些「看起來不錯,但目前重要性沒那麼高」的任務,就叫做 nice-to-have...
Thumbnail
一步步每天堅持執行,習慣煉化肌肉記憶,把目標刻在思維裡、通勤中、讀書時、睡夢裡。
Thumbnail
職場中有句話常被人提起:“先懂做人,才能做事。”這句話看似簡單,卻蘊含了深刻的智慧。今天,我們就來聊聊這個主題,並通過一個真實的故事,讓大家更深入地理解這句話的真正含義。
Thumbnail
無論是生活上或工作上每個人都難免會遇到一些問題,但為何有些人面臨問題時往往束手無策,而有些人卻能輕易迎刃而解呢? Why-Why分析,也被稱作5個為什麼分析,常被用來識別和說明因果關係鏈,透過不斷提問為什麼前一個事件會發生,直到回答 “沒有好的理由” 或,直到一個新的問題被發現時,才停止提問。
Thumbnail
實際就業後,會發現收集與分析需求,通常都不是工程師在做,會有另一群人,以非工程的角度收集及分析需求,然後在開發過程中蹦出不同的火花,於是很好奇另一群人的想法是什麼?我不敢說這本書能完全代表另一群人的想法,但確實能夠得到很多有用的思維。推薦給所有的軟體工程師。
Thumbnail
專案經理與工程師在工作上面對的挑戰和需求截然不同。專案經理需具備溝通、督促、認知及行政等四種核心能力,以便成功轉型。文章中舉例以生動的故事來說明這四種能力的重要性,並強調從工程師升遷為專案經理並非易事,需要不斷學習與努力。
Thumbnail
在《為什麼這樣工作會快、準、好》一書中,作者Charles Duhigg介紹了「工程設計流程(engineering design process)」決策法,這是一套要求人們在解決問題的過程中,需要根據以下幾個步驟:明確界定問題、蒐集資料、提出解決方案、討論選擇並透過持續的實驗找到最好答案。其實這個
Thumbnail
追求乾淨的程式碼是好的開始,但不要陷入過度設計的陷阱,導致程式難以維護。實際上,考慮團隊狀況和專注於解決真正的問題更為重要。了解公司的規模和現實情況,適時調整工作重心。技術不斷進步,使得寫程式變得更加容易,但這並不意味著工程師的角色會消失。在選擇技術時,也要考慮隱形成本有時簡單的解決方案反而更有效。
Thumbnail
在選大學校系,甚至是選擇職業的時候,大家通常都會關注產業前景跟工作報酬,但卻忽略了最重要的一點,你的熱情在何處?如果沒有熱情,連持續學習該領域都顯得困難,又要怎麼做到在產業中競爭呢?不是別人做的工作看上去好就是好,自己過得好與不好只有自己知道,也無須和他人比較。
Thumbnail
隨著理財資訊的普及,越來越多台灣人不再將資產侷限於台股,而是將視野拓展到國際市場。特別是美國市場,其豐富的理財選擇,讓不少人開始思考將資金配置於海外市場的可能性。 然而,要參與美國市場並不只是盲目跟隨標的這麼簡單,而是需要策略和方式,尤其對新手而言,除了選股以外還會遇到語言、開戶流程、Ap
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
這篇文章探討了工程師在如何有效提升自己,強調不僅僅是多coding,而是要對程式碼有更深層的理解。隨著職涯發展,工程師需要從單純的技術執行者轉變為團隊領導者,具備解決複雜問題和與他人有效溝通的能力。
Thumbnail
工程師希望能釐清任務的輕重緩急,其中那些「看起來不錯,但目前重要性沒那麼高」的任務,就叫做 nice-to-have...
Thumbnail
一步步每天堅持執行,習慣煉化肌肉記憶,把目標刻在思維裡、通勤中、讀書時、睡夢裡。
Thumbnail
職場中有句話常被人提起:“先懂做人,才能做事。”這句話看似簡單,卻蘊含了深刻的智慧。今天,我們就來聊聊這個主題,並通過一個真實的故事,讓大家更深入地理解這句話的真正含義。
Thumbnail
無論是生活上或工作上每個人都難免會遇到一些問題,但為何有些人面臨問題時往往束手無策,而有些人卻能輕易迎刃而解呢? Why-Why分析,也被稱作5個為什麼分析,常被用來識別和說明因果關係鏈,透過不斷提問為什麼前一個事件會發生,直到回答 “沒有好的理由” 或,直到一個新的問題被發現時,才停止提問。
Thumbnail
實際就業後,會發現收集與分析需求,通常都不是工程師在做,會有另一群人,以非工程的角度收集及分析需求,然後在開發過程中蹦出不同的火花,於是很好奇另一群人的想法是什麼?我不敢說這本書能完全代表另一群人的想法,但確實能夠得到很多有用的思維。推薦給所有的軟體工程師。
Thumbnail
專案經理與工程師在工作上面對的挑戰和需求截然不同。專案經理需具備溝通、督促、認知及行政等四種核心能力,以便成功轉型。文章中舉例以生動的故事來說明這四種能力的重要性,並強調從工程師升遷為專案經理並非易事,需要不斷學習與努力。
Thumbnail
在《為什麼這樣工作會快、準、好》一書中,作者Charles Duhigg介紹了「工程設計流程(engineering design process)」決策法,這是一套要求人們在解決問題的過程中,需要根據以下幾個步驟:明確界定問題、蒐集資料、提出解決方案、討論選擇並透過持續的實驗找到最好答案。其實這個
Thumbnail
追求乾淨的程式碼是好的開始,但不要陷入過度設計的陷阱,導致程式難以維護。實際上,考慮團隊狀況和專注於解決真正的問題更為重要。了解公司的規模和現實情況,適時調整工作重心。技術不斷進步,使得寫程式變得更加容易,但這並不意味著工程師的角色會消失。在選擇技術時,也要考慮隱形成本有時簡單的解決方案反而更有效。
Thumbnail
在選大學校系,甚至是選擇職業的時候,大家通常都會關注產業前景跟工作報酬,但卻忽略了最重要的一點,你的熱情在何處?如果沒有熱情,連持續學習該領域都顯得困難,又要怎麼做到在產業中競爭呢?不是別人做的工作看上去好就是好,自己過得好與不好只有自己知道,也無須和他人比較。