用程式開發思維幫助思考人生 by linjiahung

View this thread on steempeak.com
· @linjiahung ·
用程式開發思維幫助思考人生
![startup-849804_640.jpg](https://cdn.steemitimages.com/DQmaw2GUJiY93v9yqvNKmpfqtaYwuEi7ybvKTEUHRzZx3QQ/startup-849804_640.jpg)

最近在思考要如何前進人生的下個階段時,常常會覺得很徬徨,腦海裡完全不知道該如何做才好。

正當我在煩惱自己到底該怎麼辦才好時,我突然想到平常在寫程式的時候,雖然在執行的過程也會遇到種種的困難,但最後基本上總是能夠迎刃而解。

所以我開始好奇:「為什麼寫程式的時候可以解決各種問題,但是面對自己的人生的時候卻常常不知道該如何下手?」

雖然只是工作不久的網頁工程師,但是我發現不論是自己或是公司開發專案時,往往會經歷以下的幾個階段來開發專案

> 1. 接到一個新的專案需求
> 2. 確認這個專案的截止期限是什麼時候
> 3. 思考為了完成這個專案,要個別完成哪些功能?
> 4. 這些個別的功能需要花上多少時間?
> 5. 這個專案完成的時間,會不會超出截止期限?
> 6. 超出的話,是要刪除部分功能、延長專案截止期限,又或者是熬夜加班趕上時程?
> 7. 開始開發

![workplace-1245776_640.jpg](https://cdn.steemitimages.com/DQmZgDiQMkb2oMmCdsXDBehtzoHfCNsKnp4NHtdoGWSFNnc/workplace-1245776_640.jpg)

工作分配下來之後,難免會遇到一些不熟悉、或是不知道該怎麼實作的功能,而這個部分其實是最困難也最花時間的部分。

因為很多時候你並不知道該怎麼完成這個功能,但是你又不得不完成。如果這個功能太複雜、一開始不知道怎麼入手的話,那就試著「再」把這個功能拆成更小的功能。

接著就是自己研究、上網找資料,或是請教別人;如果花了很多時間還是沒辦法解決,那可以先放下手頭的工作,先去完成其他功能,之後再回頭補上。

一個小功能完成之後,就接著去完成下一個小功能。最後當所有人(或是你自己一個人)把所有的功能都完成之後,這個專案大致上就算是完成了。


所以我在想,如果用程式開發的各個階段來檢視人生的話,會不會也可以使用類似的方法?
## 用類似的思維思考人生
接著就讓我們假設,如果我想達成「財富自由」這個目標,我要如何用類似的方法來拆解並執行?

> 1. 開始思考要如何完成財富自由這個目標
> 2. Q:我要在什麼時候完成這些目標?A:45歲前
> 3. Q:為了完成這個目標,我需要個別完成什麼小目標?A:經營公司、投資、儲蓄、版稅
> 4. A:經營公司應該要花上數十年;要有好的投資成果,可能要花上N年;版稅可能是M年;儲蓄則是Y年
> 5. Q:我在45歲前能夠達成這個目標嗎?A:可以
> 6. Q:時程應該不會延後,所以不用擔心時程的問題
> 7. 開始執行

當我經歷了以上的規劃階段之後,我的大目標和中目標分別是

> 大目標:財富自由
> 中目標:經營公司、投資、儲蓄、版稅

假設現在的我要開始執行經營公司這個中目標,但是我不知道該如何下手,那這時候我該怎麼辦?這時候比較好的做好,可能是先研究並拆解經營公司這個中目標成更多小目標,像是:
> 1. 我要賣什麼產品?
> 2. 什麼樣的商業模式?
> 3. 需要補足什麼樣的能力?
> 4. 有多少的時間可以執行?
> 5. 要如何執行?

當我這樣一一拆解之後,會發現事實上要完成這個經營公司這個中目標,還有許多的小目標要做。接下來我要做的,就是跟上面程式開發要做的事情類似。

一一的完成這些小目標。如果不知道該怎麼執行,那就研究、請教;如果花了很多時間還是沒辦法解決,那可以先放下手頭的工作,先去完成其他目標,之後再回頭補上。
![business-891339_640.png](https://cdn.steemitimages.com/DQmPtBoKAv7Yrj33839mpPXLHvgtVUoYPs4VMQ53BFzTyK7/business-891339_640.png)

最後所有的功能都完成之後,這個目標大致上就算是完成了。


在推敲的過程中我發現,我(或是其他人)之所以沒有辦法去完成人生中的目標,往往原因出在

> 1. 不知道自己真正要的是什麼(沒有在日常中為了目標努力一點一滴的努力
> 2. 沒辦法去拆解出要完成目標需要額外做哪些事(不知道實際上該做些什麼才能達成目標
> 3. 遇到困難中途就放棄(太快就投降,沒有花足夠的時間去執行

但是如果我們可以透過專案開發的流程,來幫助自己分析人生的目標並執行的話,至少可以讓自己更明確的知道自己究竟缺少了什麼,也知道要如何分析並拆解目標。

接下來要做的,就是一步一步的完成目標;如果遇到了問題,那就是研究、分析或是請教他人,接著去執行。我們在解決問題的過程,很有可能會發現新的問題、或是發現自己可能根本一開始就想錯了。

但是沒有關係,我們可以暫停並整理目前遇到的問題,然後思考下一步要怎麼做。整理完思緒、擬定了下一步的策略後,那就繼續解決剩下的問題。

在程式開發的過程中,往往不會一帆風順,可能會為了幾個小問題花上大量的時間。雖然在開發的過程往往會遇到許多困難,但是總會找到解決問題的方法。

而我想,人生應該也適用一樣的原則:
> 雖然過程中會遇到許多困難,但是只要靜下心來思考、研究然後開始執行,總會找到解決問題的方法的。
👍  ,
properties (23)
post_id63,801,091
authorlinjiahung
permlink4g2zws
categorycn
json_metadata{"app":"steemit\/0.1","image":["https:\/\/cdn.steemitimages.com\/DQmaw2GUJiY93v9yqvNKmpfqtaYwuEi7ybvKTEUHRzZx3QQ\/startup-849804_640.jpg"],"tags":["cn","cn-reader","blog","life","writting"],"format":"markdown"}
created2018-10-07 08:32:57
last_update2018-10-07 08:32:57
depth0
children0
net_rshares113,111,772
last_payout2018-10-14 08:32:57
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length2,291
author_reputation52,749,970,637
root_title用程式開發思維幫助思考人生
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
author_curate_reward""
vote details (2)