1. 程式人生 > >一個程序員的自白(自負盈虧)

一個程序員的自白(自負盈虧)

如何 可能 人員 細節 應該 戰鬥 理解 機會 語言

他從來都是一個“自作主張”的人,對於別人的“標準答案”,他會堅定不移地反駁,“為什麽只能這樣”?像他這種性格,從小到大都在吃“語文”的虧。小學100分制,畢業時他語文得了89分,還能算“優秀”;初中120分制,中考時他得了88分,還能及格;高中150分制,高考時他只得了87分,沒錯,是不及格。對於閱讀理解,他始終不服氣的是,為什麽只能這麽理解而不能那樣理解,得到的回復卻是:標準答案沒有這些“關鍵字”。從此,當然就沒有從此了,他在IT專業的班級以每年一掛的成績倒數前三遠離了“鐵飯碗”職位並勉強只能當上一名“程序員”。但幸運地是,他進入了一個沒有技術組長、沒有技術經理、沒有技術總監更沒有什麽技術規範的高科技企業,因為那裏根本不存在什麽標準答案,而真正的答案深深地埋藏在他的內心深處。

技術分享圖片

作為技術人員

在一個全新的沒有標準答案和評分標準的環境裏,他無須為誰負責,他寫的每一行代碼,只有一個客觀的虛擬環境來驗證:能否運行。在項目過程,他那蹩腳的兩個月培訓班技術受到了項目經理的無數次鄙視,甚至系統一度無法正式上線而不得不求助於以前經常在培訓班上讓我們陪他打dota的培訓班老師,但遠水救不了近火。因此,連續“三天三夜”的前線戰鬥打下了他程序員生涯的第一個裏程碑,並在系統正式上線的那一刻他轉過頭對他的項目經理說,我是在“鄙視”中長大的。

技術分享圖片

作為技術組長

嚴格來說,自從他被面試進入公司的那一刻,他就是技術組長,因為他是公司的第一個“Java程序員”,源於公司拿到了第一個需要用Java作為主要開發語言的移動互聯網科研項目,並在面試官口頭給出offer的那一刻,他就成為了這個公司的面試官。項目初期包括他在內一共有兩個半後端開發人員(外包算半個),他們負責的範圍包括架構和功能的設計、開發、測試、實施、維護和一系列的運營數據統計,這種場景算是普遍的典型小項目模式。雖然是小小的科研類項目,但對於這班菜鳥來說,系統故障是家常便飯,各種不熟悉和漏洞更是“毫無破綻”。對於一個科研類項目,其實領導關心的不是系統能否正常運行,更多是錢花了沒有。當然,這些都是後知後覺,也幸好是後知後覺,如果他當初知道了這個真相,我想他就沒有了那股邊在公司開發邊跑客戶現場運維的沖勁,他花費了別人數倍的“努力”為的就是讓系統的正常運行時長能更長一點。一個多小時的來回路程一天跑幾趟也是常有的事,無論白日黑夜或日曬雨淋,但他毫無怨言,因為他始終認為自己寫的代碼自己負責。

技術分享圖片

作為技術經理

“小項目不關註”也許能容忍系統88.88%的可用性,但對於一個千萬級用戶的系統來說,系統的高可用已經不僅僅只依賴於他的每一行代碼,而是整個團隊的每一行代碼。他時刻讓他的團隊意識到他們寫的每一行代碼都會以每秒數萬次甚至數十萬次被執行的速度在奔跑。但他意識到系統能否高效和穩定地運行跟他在團隊強調這些細節的次數無關,而是跟他對“整體”負責任的態度有關。他沈默和深思,靜靜地聆聽著系統每一行代碼在運行過程的各種咆哮,默默地感受著每一句代碼交互所產生的情緒。聆聽和感受只是第一步,他還需要去解讀和理解,但他自身功力的不足讓各種外在和內在的情緒糾纏不清,各種混亂的思緒一度讓他無法呼吸。面對這種情況,他可以抱怨缺乏一個好團隊而另尋東家,他同樣可以埋怨自身能力的不足而打退堂鼓。但他並沒有這麽做,並且強制不讓自己產生這種念頭,因為他始終認為,他一直在為自己打工,而不是別人,放棄當前就是放棄自己。

技術分享圖片

作為部門經理

一個人能扛得住一個大型系統的高可用運行,但不代表他能負擔數個小型系統並行運作的能力。面對一個大型系統,他可以通過下層的“去中心化”手段確保它們都被掌控在上層的”中心化“管理之中。但這數個小型系統的運行環境本身就是一個去中心化的狀態,他面對的不再是一個數百、數千或數萬人的客戶企業,而是一個自由、開放以及隱藏著無數可能性的全球化市場。起初他眼看著自己近70人的部門時,沒有壓力那是騙人的,但當他意識到這種切換的本質時,他又是如此地興奮和熟悉,興奮源於他仿佛突破亞馬遜河流落入大西洋的那一刻,熟悉是因為他一直以來都是以市場的標準在驗證自己,就像一只無形的雙手在背後一直推動著他。當別人還在用年薪、月薪、日薪甚至是時薪在衡量自己價值的時候,他卻以“行薪”來量化他自己的能力。“行薪”就是他們部門每一行代碼的價值,為了讓每一行代碼價值最大化,他重新思考和梳理了系統架構以及項目職能的各種分工效能問題,把別人原本3到4個月的項目周期保質保量地壓縮到兩周並深受市場的喜愛,因為他早早就意識到“時間就是金錢”的道理,而且這種資源重組的高效發揮同樣是一種創新。面對這個無限潛能的市場,如何讓“行薪”從常數增長提高到線性增長或指數增長,這個問題讓他無限興奮,因為他不會存在“我的價值得不到體現”這個問題,而是一直在思考“我能為這個市場帶來什麽價值”。

技術分享圖片

寫在最後

曾經的他一度讓“一勞永逸”的欲望所困惑,錯誤的價值觀讓他一直在為了以後不用那麽努力學習和工作而在當前加倍地努力學習和工作。他這種錯誤觀念的背後其實就是邏輯思維不嚴謹的缺陷,被一個不成立的虛構假象所引導,長期下去無疑是痛苦的,這就是“觀念”與“現實”的沖突和矛盾。連叔曾經對他說,每個人都應該學點邏輯學,更建議他說,如果有機會,每個人都應該做點生意。我不知道他對這些建議的理解有多少,但他一直在實踐和思考。去年我問他對近兩年的“經濟整頓”和“末位淘汰”有什麽感受,他卻給了我一個冷眼說:“如果我還在為這些問題而浪費時間的話,我就是那個被整頓和淘汰的人”。

一個程序員的自白(自負盈虧)