iT邦幫忙

2024 iThome 鐵人賽

DAY 2
0
佛心分享-IT 人自學之術

洞察十倍工程師的內心世界系列 第 2

掌握技術的關鍵:成為會做也會說的工程師

  • 分享至 

  • xImage
  •  

學習要點

能清楚解釋自己的程式邏輯給別人聽,才能算是真正掌握了技術。

故事描述

2009年,我踏入了軟體開發的職場。這份工作是在校內的就業博覽會上找到的,是一家新創公司。相信待過新創公司的人都知道,這樣的公司沒有什麼正式的教育訓練,大多數時候都是在實際工作中邊做邊學。

但畢竟這些都是真實的專案,所以核心功能仍由資深工程師負責,菜鳥工程師只做支線任務,而這給了我第一次與主管協作機會。主管經常邀請我觀摩他的開發過程,讓我搬張椅子坐在旁邊,並鼓勵我隨時提問。他會暫停工作,耐心解釋每一個步驟。現在回想起來,這其實就是我第一次體驗結對開發(Pair Programming),儘管當時我還不知道這個專業名詞。

由於我在大四時已修完大部分學分,我向公司提出了畢業前提早進入工作崗位的請求,公司欣然同意。這讓我比其他應屆畢業生提前了兩個月進入職場,積累了更多實戰經驗。而自然而然,成為了帶領其他新人上手的角色。

我嘗試模仿主管的做法,與另一位新人進行結對開發。這次,我負責寫程式並向對方解釋邏輯。然而,我很快就發現,同時一邊程式一邊解釋程式邏輯,整個過程遠比想像中困難許多。在回答同事的問題時,我常常發現自己對某些概念的理解存在誤解或盲點。

啟發

這段經歷讓我意識到,許多優秀的工程師,都具備清晰解釋複雜程式邏輯的能力。僅僅能寫出可以執行的程式,只是最基本的要求。真正的挑戰在於:

  1. 撰寫具有良好可讀性的程式碼
  2. 能夠清晰地向他人解釋程式的邏輯

只有同時達到這兩點,才能說是真正掌握了這項技術。

理論:費曼學習法

著名物理學家 Richard Feynman 曾說:「如果你不能夠用簡單的語言向他人解釋一個概念,那麼你自己也還沒有真正理解它。」

費曼學習法強調:

  • 通過向他人解釋來檢驗自己對概念的理解
  • 在解釋過程中發現知識盲點
  • 通過反覆解釋和修正,不斷深化理解

費曼學習法不僅適用於物理學,在軟體開發領域同樣適用。當我們嘗試向他人解釋程式邏輯時,往往能發現自己理解中的不足,從而促進更深入的學習。

實踐指南:結對開發

幸運的是,結對開發在當今已是廣為人知。只要主動尋求協作機會,通常不難找到願意一起進行結對開發的同事。然而,即使在無法找到實際夥伴的情況下,我們仍有替代方案,利用 ChatGPT 作為虛擬夥伴。

你可以將一段程式碼提供給 ChatGPT,並進行角色扮演,模擬結對開發的過程。例如:

[在此處插入你的程式碼]

---
你是我結對開發的夥伴,讓我們開始進行結對開發吧。請你扮演一個經驗豐富的
軟體工程師,仔細審視我的程式碼,並提出問題或建議。

上一篇
洞察十倍工程師的內心世界 - 前言
下一篇
快速提升技能的關鍵:玩具箱
系列文
洞察十倍工程師的內心世界34
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言