---
# System prepended metadata

title: A Progmatic Philosophy (Topic 1 - 4)
tags: [The Pragmatic Programmer]

---


# A Progmatic Philosophy (Topic 1 - 4)
###### tags: `The Pragmatic Programmer`

務實的程式設計師
==心靈雞湯篇==

## It's Your Life

> I’m not in this world to live up to your expectations and you’re not in this world to live up to mine.
> 我活著不是為了滿足你的期望，就像你也不是因為我的期望而活著一樣
> 
> By Bruce Lee

==It is your life. You own it. You run it. You create it.==

Why can’t you change it?
如果感覺到停滯不前或沮喪，薪水低、團隊問題...諸如此類的問題等等，
問自己「為什麼不能改變它？」
請創造自己的機會，並用工作以外的時間，持續學習！

## The Cat Ate My Source Code

> The greatest of all weaknesses is the fear of appearing weak.
> 
> J.B. Bossuet, Politics from
Holy Writ, 1709


不要害怕承認無知或錯誤，即使有可靠的文件、全面的測試，但還是會有不可預期的問題發生，盡所能的專業地處理問題。“誠實”“直接”

* Team Trust
* Take Responsibility

不一定能掌握所有細節，可以盡自己的努力，分析問題，找出無法控制的風險。根據自己的判斷做出決定，並承擔責任！
如果判斷錯誤，誠實地承認，並提供解決問題的選擇。

==Provide Options, don't make lame excuses==

==不要找藉口，怪東怪西，怪同事，怪天，怪地==

可以再向別人提問之前，先與自己或鴨子對話看看問題是不愚蠢的ＸＤ
預想別人會怎麼回答，在這過程中，也可以找到解答！
https://rubberduckdebugging.com/

Tip1: 在跟別人說某件事為什麼辦不到的時候，先想像如果是別人用同樣理由跟你說的話你會怎麼想
Tip2: 當你說"我不知道"的時候，誠實得承認並且想辦法找出解答，像個專業人士一樣～～～






## Software Entropy 

> 軟體腐敗（Software rot）軟體熵 (技術債)
> wiki:
是指軟體效能隨著時間而逐漸惡化或反應性的遞減（diminishing responsiveness），導致軟體出錯、不穩定或被稱作遺留系統

很多因素會造成軟體腐敗，其中最重要的是開發項目的心理和文化。

==A broken window==
一個破碎的窗戶可以讓一個很美的建築物變成廢墟

消極會傳染 當你的程式碼有一個不優雅的地方，你擺在那邊不理他，那之後來的人也會覺得不用那麼認真維護，反正已經有一扇破窗：）

==Don’t Live with Broken Windows==
(bad designs, wrong decisions, or poor code)
看到就去修，不然就寫註記！Better to do something than nothing, 忽视比任何其他因素都更快地加速腐烂!

#### FIRST, DO NO HARM

> Andy once had an acquaintance who was obscenely rich. His house was immaculate, loaded with priceless antiques, objets d’art, and so on. One day, a tapestry that was hanging a little too close to a fireplace caught on fire. The fire department rushed in to save the day—and his house. But before they dragged their big, dirty hoses into the house, they stopped—with the fire ragin—to roll out a mat between the front door and the source of the fire.

==They didn’t want to mess up the carpet.==

沒人想當第一個弄髒程式碼的人
Even if there’s a fire raging (deadline, release date, trade show demo, etc.), you don’t want to be the first one to make a mess and inflict additional damage.

## Stone Soup and Boiled Frogs

> The three soldiers returning home from war were hungry. When they saw the village ahead their spirits lifted—they were sure the villagers would give them a meal. But when they got there, they found the doors locked and the windows closed. After many years of war, the villagers were short of food, and hoarded what they had.
>
>Undeterred, the soldiers boiled a pot of water and carefully placed three stones into it. The amazed villagers came out to watch.
>
>“This is stone soup,” the soldiers explained. “Is that all you put in it?” asked the villagers. “Absolutely—although some say it tastes even better with a few carrots...” A villager ran of , returning in no time with a basket of carrots from his hoard. 
>A couple of minutes later, the villagers again asked “Is that it?” 
>
>“Well,” said the soldiers, “a couple of potatoes give it body.” Of
ran another villager.
>
>Over the next hour, the soldiers listed more ingredients that would enhance the soup: beef, leeks, salt, and herbs. Each time a dif erent villager would run of to raid their personal stores.
>
>Eventually they had produced a large pot of steaming soup.The soldiers removed the stones, and they sat down with the entire village to enjoy the first square meal any of them had eaten in months.

雖然村民被耍了，但士兵發揮催化劑的效果，利用村民的好奇心，來協作完成一個共同的目標。

今天你確切的知道該做什麼，以及如何去做，但你需要的資源在別人手上，你去跟別人要資源時，會看到別人呆滯茫然的眼神，或導致很複雜的過程，每個人傾向保護自己的資源。這時候你就可以拿出你的石頭，弄清楚你能合理要求什麼，讓團隊的人看一下未來的長相，然後好好的發展他，大家就比較不會保守的只想守著自己的資源，因為大家想要加入一個持續成功的行動

#### Be a Catalyst for Change
如果過度集中，你會像村名一樣，只想著石頭，忘了其餘的世界。

==Remember the Big Picture==









