Post

[筆記] 學徒模式 - 優秀軟體開發者的養成之路

成為學徒的方法

要成為一個真正的學徒,首先要發現自己的不足,正視它們,然後努力去補足

  • 倒空杯子
    • 書中提到的「倒空杯子的心態」,讓人聯想到有經驗的工程師剛換新工作的時候,容易因為掌握了一些知識而不再虛心接受新事物。其實保持開放的心態,像倒空的杯子一樣,隨時準備接受新的知識,才能真正成長
  • 暴露無知
    • 知之為不知,不知為知之,學習也

    • 顯露你的無知最直接的方法就是問問題,你可以為了自尊,使用比較間接的方式獲得需要的知識,但是採取直接的方式能夠縮短學習的道路
    • 最直接的方法就是問問題。問問題不僅能縮短學習的道路,還能展示學習的積極性,讓團隊更願意幫助你
    • 回答問題的人也會對自己的知識有更深入的理解
  • 正視無知
    • 你可以私下學習,不讓任何人發現你並不知道某些技術,對自尊的衝擊較小,但是會造成其他風險,像是每個人都私下學習而形成不接受失敗與學習的文化
    • 顯露你的無知卻不面對它,這樣的人面對自己的無知時,只是無奈地聳聳肩道歉,說著「就是這樣」,這會導致一直都陷在無知、不了解與過度依賴團隊其他成員的狀況。最後這會導致團隊的每個人都過度保護自己知道的知識,而對發生在其他人領域的問題不聞不問
    • 最壞的情況是你從來不知道自己的無知
  • 跳入深水區
    • 找到一個深水區勇敢跳進去,等待自己準備完成可能什麼也做不成
      • 當你獲得一個高階的角色或是困難的問題時,抓住機會。成長只會發生在令人感到恐懼的工作或是必須全力以赴的工作
  • 舒適區休息
    • 累了可以暫時回到舒適區,恢復精力再繼續挑戰

漫漫長路

在成為學徒的漫漫長路上,需要找到持續的動力,培養熱情,並自己制定學習的地圖

  • 持續動力
    • 保持對學習的興趣和熱情,不斷尋找新的學習目標
    • 做你喜歡的事,金錢會隨之而來
  • 培養熱情
    • 投入時間和精力到自己感興趣的領域,從中找到樂趣
  • 製定地圖
    • 根據自己的目標和需求,制定學習計劃,逐步實現自己的目標
    • 你不僅要列出高階目標,試著訂下較小、可達成的里程碑,這些里程碑能夠提供回饋,讓你修改你的地圖,同時也能夠幫助你更容易找到能幫助你一同達到目標的志趣相同的夥伴
    • 隨著你所處的環境與價值觀改變,你必須隨之更新你的地圖
    • 唯一不變的是你是地圖的主人,可以在任何時候改變地圖

正確的自我認知

  • 成為菜鳥
    • 加入一個全部都比你強的團隊,以擁有成長的空間
    • 身為團隊中最弱的一員,你應該比其他人還要更努力,你的目的並不是維持在最弱的位置,而是由底部開始一步步向上爬,你必須有意的尋找改善的方式,同時模仿其他較強的開發人員,直到你與團隊其他成員有相近的能力
  • 尋找個人導師
    • 找尋走在你前方的人,努力向他們學習
  • 志趣相同的夥伴
    • 導師是那些你想模仿的人,因此有時候會感覺有距離感或是令人生畏,另一方面,與志趣相同的同事或朋友一起學習和交流,互相激勵和支持
  • 打掃地面
    • 從小事開始作出貢獻,隨著學習與技術提升,慢慢在比較大、比較複雜的工作上做出貢獻

持續學習

持續學習是成為學徒的關鍵,要不斷擴展自己的知識和技能

  • 擴展頻寬
    • 學會那些本來不會做的事情,常常比去做已經會做的事情更加重要
    • 增加自己在不同領域的知識儲備,擴展自己的技術視野
    • 加入社團、參加技術研討會、觀看 YouTube 影片、閱讀技術書籍和文章、追蹤 Twitter 大神
  • 練習練習再練習
    • 通過不斷的練習來鞏固所學的知識和技能
  • 拋棄式玩具
    • 通過一些 Side Project 來實踐所學,這些專案可能並不重要,但可以幫助你快速積累經驗
  • 使用原始碼
    • 研究和學習他人的原始碼,從中汲取經驗和教訓
  • 邊工作邊反省
    • 在工作中不斷反省自己的不足,並加以改進
  • 紀錄個人所學
    • 通過筆記和部落格等方式記錄自己的學習過程和心得
  • 分享個人所學
    • 與他人分享自己的學習成果,通過教學相長來鞏固自己的知識
  • 建立回饋迴路
    • 通過反饋來改進自己的學習方法和內容
  • 失敗中學習
    • 願意實驗新東西並坦然接受錯誤的信念,這表示我們勇於嘗試也面對失敗
    • 並非所有的嘗試或想法都會成功,但只有嘗試新想法才能發現並獲得真正的改善
    • 同時總會有更多要做的事情,每個改善都能夠在做進一步的改善,每個想法都將創造出更多的可能性

安排自我課程

控制自身命運並為其負責,而不單單只是等待其他人提供解答

  • 閱讀清單
    • 制定一個閱讀清單,涵蓋技術書籍和經典著作
  • 持續閱讀
    • 保持每天閱讀的習慣,持續學習新知識
  • 研讀經典
    • 深入研讀經典著作,從中學習經典的設計思想和方法
  • 深入探索
    • 對某個感興趣的領域進行深入研究,成為該領域的專家
  • 熟悉使用工具
    • 熟練掌握開發工具和環境,提高工作效率

參考資料

This post is licensed under CC BY 4.0 by the author.