跳到主要內容

工程師跨越管理的第一道牆 - 放下

越來越複雜的網路應用

2022 年,網路應用越來越複雜,表層是社群服務,轉頭看是廣告服務,詳細看是個資儲存庫,如此複雜的應用,如此眼花撩亂的系統架構,

現代的軟體開發已經從打個人戰,進入到團體戰鬥的打法。

打群架的時代

現在的許多產業,都在徵求軟體工程師,通常是徵求多位,以往以少少數量完成應用服務的時代已經過去。

現代已經是打群架的年代,前端至少一位,後端至少一位,系統管理,雲端管理等,這些都是在軟體公司內具備的職缺,已經很難回到那一人打天下的時代。

因此,誰能夠在技術領域中讓多種面向職能的人,互相進行協作,互相進行工作分配,將產品進度維持穩定產出,這樣的角色變得至關重要。

而通常,除了外部尋找此職能之外,這樣的職位,會以團隊中,最有技術力,且最能夠經常解決問題的人做為代表人。

帶領的第一課 - 『放下』

相信大家都一定有聽過彼得原理(Peter Principle)

因其某種特質或特殊技能,令他被擢升到不能勝任的高階職位,最終變成組織的障礙物

能力越強的人,通常被拔擢的越快,隨著職位的提升,也越發現能力的不適,而這問題在技術管理職位上特別常見。

因此,技術管理的第一堂課,要跟特別提醒的點是『放下』,特別是要放下自己的技術。

這可能與常理有所違背,為何會讓一個技術最強的人,去放棄他本身的技術呢?

放下的定義

放下,並不是要你放棄,癱軟在辦公室的椅子上什麼都不做,也不是讓你就捨棄掉對於技術的熱情,讓自己故步自封。

放下技術,是放下自己對於任何一種技術的直覺反應,本位思考,我們是否曾經聽過這種話『如果是我來做,兩小時就可以完成了』『這個很簡單,改一下就好了』

但今天,做的人不是你,你已經進入管理者的角色,你已經被賦予帶領的職能,帶領才是你該做的事情。

這時候如果以自己過往的『經驗,效率,能力』來看待『他人』的執行步驟及過程,會發現所有事情都如此的格格不入。

此時,你需要就是『放下』



適當的放下自身技術能力

我們可能是因為自己曾經努力過,也可能自己剛好在那個時代,也可能是因為自己比較幸運,不論是哪一種可能,就是這麼剛好的在這個時間點成為『帶人的那個人』

當我們用自己的眼光去看待所有人,看待所有新鮮人,就如同開著跑車去嘲笑騎摩托車的人不努力一般,是如此的不對等,是如此的扭曲,

我們需要做的是 - 『試著用對方的角度思考 / 運作』,透過對方的角度以我們具備的經驗提供協助,以下提供提升團隊技術力的三個方法。

1. 透過範例,引導出更優秀的結果

對於每個技術問題,每個技術要怎麼解,肯定有許多美麗的範例,套用不同的函式庫,讓程式碼看起來是如此的優美又簡短且易讀。

如果這時候,能夠善用自己此部分長處,寫一段類似的範例,找一段類似的結構,並非提供解答,而是提供一種思路的參考和想像,對於夥伴們,一定有更好的收穫。

2. 建立好基礎架構,引導出更容易實作的內容

對於初學,技術能力尚未深刻思考者,其實要建構起一套架構,要構思一套具備通則的方法,是有難度的。

身為技術管理的你,透過自身經驗,將基礎架構建立,也許尚未完美,建構出最適合此時此刻的應用場景架構,讓夥伴能夠容易的銜接,且逐步的協助完善架構。

透過初步適合的架構,打造出不完美的 MVP 應用,再透過團隊的磨合,打造出最適當的產品架構,這才能凸顯具備經驗『你的價值』。

3. 透過詢問,引導出問題所在

最後是詢問,很多人會害怕詢問,也很多人會害怕聽到真話,但詢問的過程,往往會有意外的收穫,特別是單刀直入的問題,更可以獲得答案以外的收穫。

對於夥伴來說,也許他也期待你的詢問,心中也正在納悶著這問題的答案,不論如何,透過層層的詢問,層層的引導,此方法會是一個美妙的滋潤。

最後,設定成長指標

管理的過程是雙向的,是互動的,當我們透過『捨』的動作,來取得對方的『得』。

此時如果可以透過『指標』來看待是否有明確的成長,雙方和多方的互動是否有顯著的提升,效率上的增進。

透過指標的設定,透過 1:1 的機會進行指標訂定,以個人化的方式持續前進修正,且根據每個人的適應性,調整指標的廣度或深度,藉著修正觀察是否每個指標都逐步的朝向『好的方向』前進。

切記,以『善用個人指標,而非相對指標』作為成長幅度的觀察。

後續的課題

能夠看到這邊的人,相信已經是管理職,或者是深陷於管理職的泥沼當中,管理,不一定會是自己技術的突破,但是透過管理,可以讓自己的經驗以倍數的方式帶動團隊的提升。

只有透過帶領,透過管理,才能將自己這數年的內功與百戰不敗的經驗進行傳承,每把鋒利的刀,都需要時間的淬煉,人員的養成也不例外。

最後這句話送各位苦主,

『不怕人成長出走,就怕毫無成長又不走。』

歡迎留言給我,讓我知道你的問題,讓我們一起討論,一起成長,

並將文章分享給那苦海中的朋友。

https://www.facebook.com/caesarfromtaiwan

留言

這個網誌中的熱門文章

Vibe Coding:到底?氛圍驅動程式開發必殺技?

Vibe Coding(氛圍編程) 是由 OpenAI 共同創辦人 Andrej Karpathy 在 2025 年提出的革命性程式開發方式,它讓開發者透過自然語言與 AI 對話來生成程式碼,徹底改變了傳統的編程模式。 這種開發方式的核心理念是 「順著感覺走」 ,讓 AI 處理技術細節,開發者專注於創意和需求描述。 Vibe Coding 需要基本上的規劃和執行,但並沒有強制規範,從日常經驗來說可分為三個階段, 前期準備、開發過程、和後期維護 三個關鍵階段。每個階段都有其特定的任務和注意事項,正確執行這些步驟將大幅提升開發效率和程式品質。 將靈感與需求透過 AI 快速轉化成產品功能或原型。以下幫你分成 「前、中、後」 三階段要做的事情,適合你自己做、或帶團隊做 前期:設定 vibe & 準備素材 這個階段的重點是 「建立開發語境」 ,因為 AI 的生成表現高度依賴前期提供的上下文與資料。 明確目標 :釐清要解決的問題、預期要做的功能與核心價值。例如在筆記軟體的情境中,可能是:「我要做一款讓使用者能用 Markdown 記錄筆記,並提供標籤與全文搜尋功能的簡單 App。」 收集靈感 :觀察同類產品(如 Obsidian、Notion)、蒐集市場痛點(例如太多筆記軟體無法脫機使用,或同步效能差)。 建立語境 :準備初步 prompt、背景知識、產品定位、品牌調性、目標使用者輪廓等。 確認資源 :決定用哪些工具(Gemini、ChatGPT、設計軟體、流程管理工具等)。 確認完上述內容之後,就可以先開始進行準備規格,進行第一次的 Vibe Coding 方向驗證 提示詞模板準備 很多人會跳過這步驟,但一份 「好的 AI 提示詞模板」 將決定接下來每一次 AI 對話的品質。有效的提示詞模板需具備: 描述具體且無歧義 包含技術要求和約束條件 提供範例資料和測試案例 指定程式碼風格和慣例 例如針對筆記軟體的案例:   「建立一個支援 AI 功能純文字筆記,輸入內容可即時渲染;需支援儲存到本地檔案,提供標籤欄位做分類;以 React 架構,程式風格採用 Tailwind style components 並使用 hooks。」 開發工具選擇 開發工具的選擇 同樣重要,目前市場上主要的 ...

Claude Code Hooks:自動化與安全的最佳實踐

寫在最前頭,這份文章主要寫起來是給自己看, 同時內容是比較適合開發者,工程師們可以做些自動化處理的簡單筆記。 Claude Code hooks Claude Code hooks 是一種強大的自動化機制,允許用戶在 Claude Code 的不同生命週期階段,自定義執行 shell 指令。這種設計讓開發者能夠將規則和自動化行為嵌入到應用層級,確保每次都能可靠執行,而不必依賴 LLM(大型語言模型)是否會選擇執行某項操作。 Hooks 的核心用途 通知 :自訂收到 Claude Code 等待用戶輸入或執行權限時的提醒方式。 自動格式化 :如在每次檔案編輯後自動執行 prettier (針對 .ts 檔)、 gofmt (針對 .go 檔)等。 日誌記錄 :追蹤所有執行過的命令,便於合規或除錯。 自動反饋 :當 Claude Code 產生不符合團隊規範的程式碼時,自動給出反饋。 自訂權限 :阻擋對生產環境檔案或敏感目錄的修改[^1]。 配置與結構 Hooks 透過設定檔進行配置,分為全域( ~/.claude/settings.json )、專案( .claude/settings.json )、本地專案( .claude/settings.local.json )以及企業級策略設定。每個 hook 由「事件名稱」和「匹配器」組成: "hooks": { "PreToolUse": [ { "matcher": "Bash", "hooks": [ { "type": "command", "command": "jq -r '...'" } ] } ] } matcher :用於匹配工具名稱(支援正則表達式),如 Write 、 Edit|Write 、 Notebook.* 。 hooks :當匹配時要執行的命令陣列。 type :目前僅支援 "command" 。 ...

[CSS] z-index 在不同瀏覽器繼承問題

今天會討論到這個課題,是因為要實做一個Popup dialog,所以我們希望的結果如下圖。 可是在IE7 卻發生了這樣的情況。 Popup不論怎麼設定z-index都無法浮在最上層,我們看一下html架構發生什麼事情。