程式設計師的財務自由之路(一)- 揚帆起航

2020-10-17 11:00:57

一、前言

  • 在開始寫這篇文章之前,我思考了良久,最終還是把標題定成了這個,因為這是我的人生目標,為什麼它會成為我的人生目標,還不是因為我太窮了,下文會給予詳細證明: 為 什 麼 我 會 這 麼 窮 ? ? ? 為什麼我會這麼窮???
  • 接下來的歲月裡,我會連載這一系列,希望可以給剛入坑的程式設計師們一些啟示和幫助,我會把我十五年來的程式經驗一一分享出來,通過一些有趣而生動的例子應用到生活中的點點滴滴;
  • 我們可以共勉,如果你照著我的方式堅持10年,還是沒有實現財務自由,那麼可以來這篇部落格下罵我,我願意接受 60 億人的辱罵。

當然,如果罵我的人太多,我會把罵我的評論刪掉;
如果1個人刪不過來,我就讓我老婆一起幫我刪;
如果2個人刪不過來,我就寫一個程式來刪;
這個程式需要實現自然語言分析,區分罵我的和讚我的;

  • 為什麼我做了這麼多假設呢?並不是我在開玩笑,而是作為一個工作多年的程式設計師,一些意外情況我們都要考慮到,這叫容災,也叫未雨綢繆。只有什麼事情都考慮周全了,才能運籌帷幄之中,決勝千里之外。這也是作為伺服器開發必不可少的基本素質。
  • 所謂一將功成萬骨枯,雖說實現財務自由這條路很艱難,但是我依然相信,只要你願意去想,並且朝著這個方向去努力,縱使最後無法實現財務自由,至少也可以做到衣食無憂!

二、為什麼要財務自由

  • 接下來讓我們看一個例子,證明為什麼要實現財務自由;

  • 首先我們來看一個函數影象,x軸代表時間(月),y軸代表每個月的工資收入(元),由於納稅新政,每個月的稅會隨著時間的增長而逐漸增加,所以大家的工資收入是一個隨著時間遞減的函數,這裡不考慮加工資的因素,因為加工資本來就不是一件那麼容易的事情,雖然每年都會加那麼一點,但是對於稅來說,真的是杯水車薪;
    4200*(-log(x/4+1)+2)

  • 由於月薪不能透露給大家,這裡我就拿 10000 / 月 來算吧,這是我十幾年前剛畢業的工資,那時候我覺得還是很滿意的,這個世界對於學霸還是有眷顧的,但是學霸真的是太多了,一旦你停止學習或者學得慢了,你就一定會被後來的人趕超,所謂長江後浪推前浪,前浪死在沙灘上,我們要做的就是不斷的學習,適應時代的變化。

  • 話說回來,每個月應該是離散的,所以這裡不應該是曲線,應該是離散的點,但是基於觀賞性,我還是把它做成了曲線,並且擬合成了一個函數,如下:(關於函數的擬合,我會抽專門一節來講):
    f ( x ) = 4200 ∗ ( − l o g 10 ( x 4 + 1 ) + 2 ) f(x) = 4200*(-log_{10}(\frac{x}{4}+1)+2) f(x)=4200(log10(4x+1)+2)

  • 然後我們再來看下每月的支出,x軸代表時間(月),y軸代表每個月的基本開銷(元),拋去一次性消費(比如買房首付款、裝修費用、家電費用)不算,每個月都會比上個月多花一筆錢,這筆錢來自通貨膨脹。
    在這裡插入圖片描述

  • 同樣可以大致擬合出一條曲線(注意:直線也是一種特殊的曲線):
    g ( x ) = 100 ∗ x + 2900 g(x) = 100 * x + 2900 g(x)=100x+2900

  • 然後我們把這兩個函數複合一下,這個複合函數就代表了這一年的淨收入;
    h ( x ) = f ( x ) − g ( x ) = 4200 ∗ ( − l o g 10 ( x 4 + 1 ) + 2 ) − ( 100 ∗ x + 2900 ) h(x) = f(x) - g(x) = 4200*(-log_{10}(\frac{x}{4}+1)+2) - (100 * x + 2900) h(x)=f(x)g(x)=4200(log10(4x+1)+2)(100x+2900)

  • 同樣畫出函數影象以後,是這樣的:
    在這裡插入圖片描述

  • 那麼我們計算一下1年下來,能夠攢下多少錢,有如下公式:
    t o t a l = ∑ x = 1 12 h ( x ) total = \sum_{x=1}^{12}h(x) total=x=112h(x)

  • 我是一個C++程式設計師,所以接下來我將用一段程式程式碼來計算這個數值:

double f(double x) {
	return 4200 * (-log10(x / 4 + 1) + 2);
}
double g(double x) {
	return 100 * x + 2900;
}
double sum() {
	double s = 0;
	for (int i = 1; i <= 12; ++i) {
		s += f(i) - g(i);
	}
	return s;
}
  • 最終得到 sum 函數的值約等於 38394,是的,你沒有看錯,在杭州這個房價 50000 / 平 的城市,10000 / 月的工資,1年下來,連一平米都買不起,這簡直就是晴天霹靂;
  • 而且,我們忘記考慮了一些更重要的因素,那就是,老婆說她還想生一個,當時我的內心是崩潰的,這對於本來就不是很富裕的家庭來說,真是雪上加霜;
  • 現在自己杭州有一套房,離公司十幾公里,已經有兩個兒子,起碼再買兩套吧,杭州這個城市人才濟濟,現在已經擁擠不堪,公司周邊的房價平均 40000 - 50000 / 平,靠著工資收入要買這樣一套房子,60%首付的情況至少還要奮鬥 X 年(為了不透露自己的真實工資,這裡的 X 採用了未知數,供讀者肆意遐想)。
  • 綜上所述,實現財務自由變成了一件迫在眉睫的事情;

三、如何實現財務自由

  • 說了這麼多,那麼作為一個程式設計師,如何根據自己的專業來實現財務自由呢?

1、從養成一個好習慣開始

  • 首先,養成一個好習慣是非常重要的,一旦一個好習慣養成,就可以擯棄掉一個壞習慣;這是由習慣能量守恆定理決定的;好習慣和壞習慣是此消彼長的關係,它們的和是固定的,所以好習慣越多,壞習慣就越少;
    習 慣 = 好 習 慣 + 壞 習 慣 習慣 = 好習慣 + 壞習慣 =+
  • 接下來,我就簡單列舉幾個我已經養成的比較典型的好習慣;

1)早睡早起

為什麼要早睡早起

  人的精力是有限的,你的精力是用來賺錢的,不是用來消耗的;
  一旦你的精力被消耗,你就廢了,所以高手都是早睡早起的;
  工作之餘剩餘的時間才決定了人和人之間的差距;

  • 我這個人比較怕黑,現在漸漸入冬,早上 6 點前天還是漆黑一片,未免遇到壞人我還是不在這個時間點之前出門了,畢竟男孩子在外面還是要保護好自己,所以我選擇了每天定一個6點的鬧鐘,洗漱完畢就開上我心愛的小車車來上班了;
  • 我們公司上班時間是 早上 9 點,我到公司基本是 6點半,堅持了好幾年了,這樣就可以每天比別人多 2個半 小時的學習時間,這段時間是我超越別人的最佳時機,畢竟一日之計在於晨;
如何實現早睡早起

  可以在前一天晚上留下一些還沒完成的工作,最好是隻差臨門一腳的那種。那麼第二天,鬧鐘一響,你就會急切的想起床把這個事情做掉。我就是這麼幹的,百試百靈;

2)堅持健身

健身的好處
  • 程式設計師為什麼要健身呢?健身這件事情是為了鍛鍊自律的,健的並不僅僅是身體,更多的是寂寞;接下來就以我健身二年的經驗,給大家畫個依賴圖看下,健身在哪些方面改變了我的生活吧;
健身
減脂
出汗多
容易餓
按時吃早飯
消除膽結石
每天洗澡
真香
喝水變多
消除腎結晶
消除腎結石
腎功能變好
他好我也好
消除脂肪肝
養成極度自律的習慣
給父親樹立榜樣
帶動母親減肥
帶動老婆運動
給兒子樹立榜樣
青出於藍勝於藍
學習時間被壓縮
更加感受到時間的寶貴
時間管理

這個圖在資料結構裡面叫做 「樹」,以後有機會我們來好好聊聊 「樹」 這個資料結構,來日方長,今天就點到為止好了。

  • 健身的這段日子,改變了我許多的觀念,深刻得體會到了這個世界是被精心設計過的,機會永遠是留給有準備的人的,只要你肯堅持,遲早有一天,你將會感謝曾經那個執著的自己;
健身需要制定計劃

  制定一個訓練計劃,每天嚴格執行;
  時刻提醒自己,昨天的我都能做到,今天怎麼可能完不成呢?

  • 這裡分享一個我的訓練計劃,每天比昨天多做 X 個俯臥撐,可以根據自己的實際情況從一個比較適合的基數開始,比如說第一天 B 個,第二天就是 B + X 個,第 n 天就是 a(n) 個,其中:
    a ( n ) = B + ( n − 1 ) ∗ X a(n) = B + (n-1) * X a(n)=B+(n1)X
    這樣潛意識裡,你就會覺得今天比昨天更強大了,沒錯,這個就是自我暗示,事實上,也讓我更加自信了(你們一定想象不出以前的我是多麼的自卑)。

我的魔鬼健身訓練計劃

3)保持激情

畢竟工作是要幹一輩子的,所以這件事情上,你一定要有十足的激情;
沒有激情的時候,想辦法制造激情;

想要實現什麼就去做吧
  • 來看下這個積木吧,這是由不到 100 行的程式碼實現的一個樓梯,你也可以發揮你的想象,輸入各種不同數值把它變成一個城堡,如果你有興趣,也可以利用各種 ASCII 碼來塑造各種有趣的程式世界。
  • 程式設計師的世界裡,沒有什麼你實現不了的,只有想不到,沒有做不到!因為我們有激情!!!
************+-------+************************************************
***********/       /|************************************************
**********+-------+ |************************************************
*********/       /| +-------+****************************************
********+-------+ |/       /|****************************************
********|       | +-------+ |****************************************
********|       |/       /| +-------+********************************
********+-------+-------+ |/       /|********************************
*******/       /|       | +-------+ |********************************
******+-------+ |       |/       /| +-------+************************
******|       | +-------+-------+ |/       /|************************
******|       |/|       |       | +-------+ |************************
******+-------+ |       |       |/       /| +-------+****************
*****/       /| +-------+-------+-------+ |/       /|****************
****+-------+ |/|       |       |       | +-------+ |****************
****|       | + |       |       |       |/       /| +-------+-------+
****|       |/| +-------+-------+-------+-------+ |/       /       /|
****+-------+ |/|       |       |       |       | +-------+-------+ |
***/       /| + |       |       |       |       |/       /       /| +
**+-------+ |/| +-------+-------+-------+-------+-------+-------+ |/|
**|       | + |/|       |       |       |       |       |       | + |
**|       |/| + |       |       |       |       |       |       |/| +
**+-------+ |/| +-------+-------+-------+-------+-------+-------+ |/|
*/       /| + |/|       |       |       |      /       /       /| + |
+-------+ |/| + |       |       |       |     +-------+-------+ |/| +
|       | + |/| +-------+-------+-------+----/       /       /| + |/|
|       |/| + |/|       |       |      /    +-------+-------+ |/| + |
+-------+ |/| + |       |       |     +-----|       |       | + |/| +
|       | + |/| +-------+-------+----/      |       |       |/| + |/|
|       |/| + |/|       |      /    +-------+-------+-------+ |/| + |
+-------+ |/| + |       |     +-----|       |       |       | + |/| +
|       | + |/| +-------+----/      |       |       |       |/| + |/|
|       |/| + |/|      /    +-------+-------+-------+-------+ |/| + |
+-------+ |/| + |     +-----|       |       |       |       | + |/| +
|       | + |/| +----/      |       |       |       |       |/| + |/|
|       |/| + |/    +-------+-------+-------+-------+-------+ |/| + |
+-------+ |/| +-----|       |       |       |       |       | + |/| +
|       | + |/      |       |       |       |       |       |/| + |/|
|       |/| +-------+-------+-------+-------+-------+-------+ |/| + |
+-------+ |/       /|       |       |       |       |       | + |/| +
|       | +-------+ |       |       |       |       |       |/| + |/|
|       |/       /| +-------+-------+-------+-------+-------+ |/| + |
+-------+-------+ |/       /|       |       |       |       | + |/| +
|       |       | +-------+ |       |       |       |       |/| + |/|
|       |       |/       /| +-------+-------+-------+-------+ |/| + |
+-------+-------+-------+ |/       /|       |       |       | + |/| +
|       |       |       | +-------+ |       |       |       |/| + |/|
|       |       |       |/       /| +-------+-------+-------+ |/| + |
+-------+-------+-------+-------+ |/       /|       |       | + |/| +
|       |       |       |       | +-------+ |       |       |/| + |/*
|       |       |       |       |/       /| +-------+-------+ |/| +**
+-------+-------+-------+-------+-------+ |/       /|       | + |/***
|       |       |       |       |       | +-------+ |       |/| +****
|       |       |       |       |       |/       /| +-------+ |/*****
+-------+-------+-------+-------+-------+-------+ |/       /| +******
|       |       |       |       |       |       | +-------+ |/*******
|       |       |       |       |       |       |/       /| +********
+-------+-------+-------+-------+-------+-------+-------+ |/*********
|       |       |       |       |       |       |       | +**********
|       |       |       |       |       |       |       |/***********
+-------+-------+-------+-------+-------+-------+-------+************

有趣的樓梯原始碼

2、堅持並沒有你想象的那麼困難

  劉德華在自述中說:譚詠麟說我唱歌不行,黃霑是說我寫歌不行,陳可欣也說我演技太差,但是我三年還在,五年後還在,十年後還在;最後得到了所有人的認可,所以說,人生最大的驕傲就是找到自我,堅持自我;

  • 堅持其實就是今天做到了,明天繼續做到;

3、成功沒有捷徑?

  • 如圖所示,你現在的起點在 A,終點在B,那麼你會選擇那條路到達 終點呢?
    在這裡插入圖片描述

第一條:AB
第二條:AO + OB

  • 相信 99.99% 的人都會選擇第1個答案,因為兩點之間,線段最短,有人想過為什麼嗎?讓我們分析一下;
  • 我們現在要證明的是:
    A B < A O + B O AB < AO + BO AB<AO+BO
  • 高中的時候,學過一個定理叫勾股定理;

1)勾股定理

A B 2 = A O 2 + O B 2 AB^2 = AO^2 + OB^2 AB2=AO2+OB2

  • 等式兩邊同時加上一個數,等式性質保持不變,所以有
    A B 2 + 2 A O ∗ B O = A O 2 + O B 2 + 2 A O ∗ B O AB^2 + 2AO*BO = AO^2 + OB^2+ 2AO*BO AB2+2AOBO=AO2+OB2+2AOBO
  • 對平方和進行提取公因式,有
    A B 2 + 2 A O ∗ B O = ( A O + B O ) 2 AB^2 + 2AO*BO = (AO + BO)^2 AB2+2AOBO=(AO+BO)2
  • 於是有:
    A O + B O = A B 2 + 2 A O ∗ B O > A B AO+BO = \sqrt[]{AB 2+2AO∗BO} > AB AO+BO=AB2+2AOBO >AB

2)打破定向思維

有沒有更短的路徑呢?

  • 答案是有!
  • 你所看到的這個直角三角形是處於二維空間中的,但是隻要你把它放到三維空間中,我們就可以把這個三角形摺疊起來;這樣 A 和 B 的距離就會越來越近,甚至可以重合!
  • 所以,只要找對了方法,成功其實並不是你想象的那麼難。

四、結尾彩蛋

彩蛋在我下面

沒 有 彩 蛋, 略 略 略 ~

彩蛋在我上面