一個理想主義的程式設計師

沉默王二發表於2019-06-18

01、

9 年前,我從象牙塔裡走出來,正式踏入社會,懵懵懂懂地在一家日企開始了職業生涯。那時候,技術功底非常差,因為在學校的時候每天就一副吊兒郎當的樣子,程式設計自然也沒有好好學。

和我同一時間入職的新人有 19 個,大家都懷著一顆敬畏的心,因為生怕自己被淘汰出局。畢竟是實習期,如果工作表現不符合預期的話,是直接被辭退的,沒有任何補償。

所以在籤正式的勞務合同之前,每天都緊張兮兮的。記得有一次,領導說我筆試的成績非常差,可能會被辭退,晚上躺著宿舍的床上輾轉反側,想著第二天被辭退後茫然不知所措的樣子,那叫一個沮喪啊。

驚險的是,領導認為我筆試差,是因為沒有看到我答在背面的答案——還是領導的領導當著我的面提醒了領導,那一幕至今記憶猶新。

初入社會的我,性格內向、沉默寡言,操著一口只有自己才能聽得懂的“普通話”,之所以能留存到最後(我們那批人被辭退了 10 個),靠的就是——日漸過硬的技術。

其實,程式設計師這行業,入門是比較難的,需要你十足的勇氣,和被 bug 無數次吞噬後仍然不折不撓的堅持。一旦你入了門,還肯花時間去讀理論知識,敲程式碼實戰的話,成長是肉眼可見的——我就感覺實習的那一個月,進步神速。

02、

兢兢業業工作了兩年半後,我被提升為一名 Team Leader,負責技術攻堅、新人培訓,以及程式碼 Review。

Team Leader 恐怕是一個最小的管理職位了,但畢竟是一個管理職位啊。你得參加各種會議,寫各種培訓資料,這都好應付,難應付的是,你得向領導彙報成員的工作表現,以及要和成員“打成一片,鼻青臉腫”。

做管理前,你所有的重心就只有程式碼,你把程式碼寫得完善了、優雅了,再把難點攻破了,bug 解決了,就能贏得領導的信賴,就能拿到匹配的薪資。

但做管理後,就不太一樣了。與人打交道是一件很複雜、很耗時間和精力的事,還有可能會出力不討好。

為什麼這麼說呢?

每次聚會上,你得帶領小夥伴們去給領導敬酒啊、奉承啊——這是一件極其難為情的事!很多程式設計師不喜歡這一套,我也不喜歡,但總有人喜歡你這樣做。

你不去做的話,某些領導可能就要給你上上課,教育一下了,批評你不通情達理,不知道人情世故,以後要多學著點,最後不忘加上一句:“不然的話,你的上升空間就很有限了。”

這可比單純做技術難多了——不能純粹地做一名理想主義的程式設計師,這不是我的初衷。

03、

5 年前,我回到了洛陽,在一家迷你型的公司做開發——沒有人需要你管理,唯一需要管理的就只有自己。

所以,我的重心又回到了程式碼上,人也變得輕鬆了起來。

我每天有了大把的時間去鑽研技術,甚至還能夠在 ITeye、CSDN 上寫部落格,甭管開始的時候寫得有多差,總會時不時有讀者留言說:“謝謝博主啊,你的分享解決了我的問題。”

那時候,也沒有“知識付費”的概念,單純就是為了分享,把自己在技術上遇到的坑、填的坑像記流水賬一樣記下來——這種狀態讓我內心非常地踏實。

一般情況下,工作了三五年的程式設計師,都會面臨一種選擇,要不要轉型做管理呢?

個人拙見是,有機會的話就嘗試做——技而優則仕嘛。畢竟做了管理就能夠拿到更多的話語權,有了話語權就能夠做更多的事,也就是所謂的大展巨集圖。

崇尚技術的程式設計師可能會比較崇拜比爾·蓋茨,因為蓋茨的技術功底有目共睹。創辦微軟賦予了他更多的權力,也就有了創造神話的可能性——個人電腦真的“飛入了尋常百姓家”。

假如不適合管理崗的話,還是要儘早退出,不要陷入辦公室政治鬥爭的泥沼中。大丈夫要能屈能伸嘛,安心做技術、做開源,沒準會開闢一片新的天地。

藉此機會,厚著臉皮再吹噓一下自己。你看我,回洛陽之前,還是一名“富有權力”的 Team Leader;回洛陽之後,喪失了繼續在管理崗上晉升的機會,但真的開闢了一片新的天地。

首先,出版了一本技術書籍,把積累的經驗和知識分享給了初學者,還能順便掙點版稅。

其次,靠著不斷地分享原創文章,在網際網路上積攢了一些名氣,讀者樂於和我交流;更多的機會也隨著而來——再光明正大地宣告一下,有專案做不完的甲方,請過來找我。

04、

我生於八九年,算是趕上了八零後的末班車。八零後成長的三十多年,是我們國家瘋狂造富的三十多年,經濟增長的速度能維持在 10% 左右,是絕對的奇蹟。

經濟之所以如此迅猛地發展,一方面是因為我們的起點低,另一方面在於我們對未來的樂觀主義——我們不斷地擁抱世界,拿來的同時默默地努力著、奮鬥著、改善著。

我們程式設計師是幸運的,趕上了經濟發展的浪潮。並且網際網路的世界是開放的、包容的,所以我們不必深諳人事、逼迫自己陷入辦公室政治的泥沼中也能體面的生存。

可能有人會說,“35 歲是程式設計師的年齡天花板,你能寫多長時間的程式碼,要未雨綢繆”。但我想表達的是,作為一名正兒八經的程式設計師,我想做一名純粹的理想主義者,每天敲敲程式碼,活在程式的世界裡

到底理想主義的程式設計師是什麼樣子呢?

他首先是一個單純快樂的手藝人,其次有著天真爛漫的好奇心,最後還樂於分享。他不想被管理,也不太想去管理別人,一旦需求來了,他就會立馬全情投入,直到交付一個至善的產品。

那怎樣才能做一名理想主義的程式設計師呢?

1)保持專注,別總去想賣個肉夾饃發點額外的財。

2)善於思考,面對一個 bug 的時候,不急躁,不慌張,能夠從容地思考 bug 背後發生的原因。

3)富有自我驅動力,哪怕剛入職的時候工資很低,依然能夠全身心地投入,不被外界因素干擾,直到把自己錘鍊成不可或缺。

4)不找藉口,敢於承擔責任。

5)善於管理時間,人這一輩子,最缺的不是金錢,而是時間。

那程式設計師的理想到底應該是什麼呢?

我希望未來有一天,因為我的程式碼,讓這個世界上的一些人生活的更便利,感覺到一點點幸福或愉悅。不管這些人多還是少。

相關文章