理解職場動態和人際關係,是持續發展的關鍵。

職場政治#

為什麼政治存在#

  • 資源有限
  • KPI 不清晰
  • 貢獻難以衡量
  • 組織重組需要打破舊的權力結構

「只要做好工作」的想法是不現實的。理解組織動態是必要的。

程式設計師的角色#

應該做不應該做
尊重政治的存在假裝它不存在
理解組織利益只關注個人利益
成為好的參與者公開抵抗決策
仔細觀察過度參與
遵守規則抱怨、說壞話

技術變革的政治#

業務驅動技術變革比完美架構更重要:

  • 語言變化
  • 框架轉換
  • 雲遷移
  • 微服務改造

方法:接受變化不是完美的;看到新可能性;積極參與(或者恭敬地離開團隊)。

選擇主管#

好主管的標誌#

  1. 持續擴展業務機會(不只是維持現狀)
  2. 創造開放、透明的溝通文化,有公平的獎勵
  3. 提供指導/教練;幫助你看到盲點

評估主管的問題#

  • 團隊有多久沒有新業務機會了?
  • 團隊成員最近有晉升嗎?
  • 主管會保護團隊還是推卸責任?
  • 主管是否給予建設性反饋?

向上管理#

核心原則#

讓主管的工作更容易,你的工作就會更順利。

具體做法#

做法說明
主動匯報進度不要等主管問;定期同步狀態
帶著方案提問題不是「怎麼辦」,而是「我建議 A 或 B,你怎麼看?」
理解主管的壓力知道他關心什麼,幫助解決
接受反饋不要防禦,展示你在改進
守信承諾的事情必須完成

與主管意見不同時#

  1. 私下溝通:不要在公開場合反對
  2. 提供資料和理由:不是情緒
  3. 接受最終決定:即使不同意
  4. 執行決策:不要消極抵抗
  5. 如果無法接受:考慮換團隊,而不是破壞關係

把不同意見「說得讓對方聽得進去」的兩個關鍵:

  • 從事實開始,別從結論開始:「這季有三個需求延期了」(可驗證、最不傷人)勝過「你規劃能力有問題」(侮辱、必引爆)。沿著「事實 → 我的推論 → 邀請對方看法」的順序走。
  • 用「不是/而是」對比化解誤會:「我不是質疑這個方向的價值,也不是要推翻你的決定;我擔心時程會擠壓到測試。」「不是」的部分先恢復安全感,「而是」再澄清真實意圖。

同事關係#

建立信任#

  • 兌現承諾
  • 分享功勞
  • 承認錯誤
  • 幫助他人成功

處理衝突#

  1. 直接溝通:不要透過第三方
  2. 關注問題:不是人身攻擊
  3. 尋求共贏:不是輸贏
  4. 必要時升級:但要謹慎

衝突升溫時,先看自己#

衝突之所以失控,往往不是因為「對方做了什麼」,而是我們在事件與情緒之間,替對方編了一個故事。同一組事實可以編出無數種故事——十個人面對同一情境,會有十種情緒反應。

沒有人能「讓」你生氣。是你對所見所聞的詮釋(故事)製造了情緒,情緒再驅動你走向沉默或攻擊。故事是你編的,所以你有掌控的著力點。

最常見的是三種「自利型故事」,它們讓我們感覺良好,卻讓結果更糟:

故事類型內在台詞被刻意省略的部分
受害者「不是我的錯」我自己對問題的貢獻
加害者「都是你的錯」對方可能有合理正當的動機
無能為力「我也沒辦法」沉默與攻擊以外的其他選項

要從「自利故事」走向「有用故事」,問自己三個問題:

  • 我是不是裝作沒注意自己對問題的貢獻?
  • 一個合理、理性、正派的人,為什麼會做這件事?
  • 我真正想要的是什麼?如果真心想要,我現在會怎麼做?

更完整的對話工具見 關鍵對話

避免的行為#

  • 背後說人壞話
  • 搶功勞
  • 推卸責任
  • 拉幫結派

晉升中的情商#

「先做再升」原則#

先證明你能做下一級的工作,然後再晉升(而非相反)。

穩定輸出勝過偶爾出彩#

  • 一致性比偶爾的突出表現更重要
  • 可預測的高品質產出 = 信任

阻礙晉升的因素#

因素說明
與管理層價值觀不符即使能力強也難晉升
與主管關係不好主管掌握晉升推薦權
被認為可能離職主管不會為「飛行風險」爭取
缺乏資歷在平手情況下,資歷是加分項

程式設計師的三個階段#

階段年限核心任務
寫程式碼3-5 年精通編碼基礎,建立學習習慣
掌握系統3-8 年理解完整系統設計,做估算,帶領資淺開發者
擁有系統8+ 年完全擁有,策略性思維,業務知識,影響力

無論走技術路線還是管理路線,情商與溝通能力都是晉升到高階的必要條件。