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

in #cn6 years ago

startup-849804_640.jpg

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

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

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

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

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

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

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

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

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

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

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

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

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

而我想,人生應該也適用一樣的原則:

雖然過程中會遇到許多困難,但是只要靜下心來思考、研究然後開始執行,總會找到解決問題的方法的。