🎯 什麼情境該想到我

當你想有系統地學習,但總是被緊急的事情排擠,或者學了很多卻沒有方向的時候。

出處:Andy Hunt《程式設計師的思維修煉》(Pragmatic Thinking and Learning,站內為簡體譯本,引文保留原書字形)。對應第 6 章 6.2、6.3 節。

⚙️ 怎麼用

為什麼隨機學習會失敗

原書說,把學習流放到「空閒時間」,「就等同于失败」。「时间是无法创造和销毁的。时间只能分配。」

原書對一般企業培訓的批評:「学习不是强加于你的」「仅仅掌握知识,而不去实践,没有用」「随机的方法,没有目标和反馈,往往会导致随机的结果」。

SMART 目標

「具体的、可度量的、可实现的、相关的和时间可控的(Specific, Measurable, Achievable, Relevant, and Time-boxed)」

先分清目標與目標任務:目標(goal)是「一种理想状态……是你努力要达到的状态」;目標任務(objective)是「一种帮你接近目标的事物」。SMART 是套用在目標任務上的。(原書也說「不要在这上面太过计较」。)

特性原書的說法
S 具體不是「我想學 Erlang」,而是「我想要用 Erlang 编写一个可以动态生成内容的 Web 服务器」
M 可度量「如何知道你何时完成?」「如果你认为无法度量自己的目标任务,那么很可能它还不够具体」
A 可實現「一个你无法达到的目标不是目标,只是一种疯狂、吸食灵魂的自我挫败」;要從現在的狀況出發
R 相關與你有關、有熱情、在你的掌控之中
T 時間可控「这可能是目标最重要的一个特性」——沒有期限,就會被每天更緊急的事排擠

原書的例子:「我想要苗條」不是目標,只是願景——減多少?什麼時候完成?控制熱量還是增加運動?

卡住時:建立五到十分鐘的小任務。原書引 Johanna Rothman:「你创建的小任务越多,你就越容易看清自己与目标的距离。」

務實投資計畫:像管理金融投資一樣管理知識投資

  1. 制定具體的計畫:用 SMART,分三層——現在(下一步行動)、明年的目標、五年後的目標。時間範圍可以調整;發展慢的行業也可以是現在、三年、十年。原書引艾森豪:「作计划比计划本身重要得多。」
  2. 多樣化:組合不同的語言、環境、技術、行業,以及非技術領域(管理、公開演講、人類學、音樂、藝術)。也要權衡風險與回報——原書的例子是:學 .NET 低風險低回報,早期學 Java 高風險高回報。原書說:「所有知识投资都有价值」,即使工作用不上,也會影響你思考和解決問題的方式。
  3. 主動(而非被動)地投資:「你需要客观地按天来评估你的计划」——依最新的發展增加新項目、取消沒有效益的。
  4. 定期投資(成本平均法):「养成一种习惯。」每次坐下來學習之前,先計畫好要做什麼——原書的例子:學一個新框架前,先準備好書、下載好軟體、想好要寫什麼;「只是周六下午或者周二晚上很可能是不够的」。

在工作中的樣子

層次範例
現在這週讀完 pprof 的官方文件,並對我們的訂單服務跑一次 CPU profile
明年能獨立完成一次服務的效能調校,把 p99 降低 30%
五年成為團隊中效能與可靠性的負責人
多樣化另外每季讀一本非技術的書(例如本站的溝通類書籍)
定期每週二、四早上 8:00–8:45,開始前先寫下這次要做什麼

🧪 我實際套用的紀錄

  • (待填)

⚠️ 注意 / 什麼時候不適用

  • 時間不等於價值:「时间和价值不是等同的」——看球賽、玩遊戲不會增加你的價值,除非你是四分衛或遊戲開發者。
  • 目標本身不保證成功:「目标本身并不能保证你成功。」
  • 要放在更大的脈絡裡看:目標要考慮家庭、事業、財務、社區;原書提醒,整個專案都靠加班達成,會讓團隊與家庭付出代價。

🔗 相關工具