為什麼當初選擇了這一門課程?

—— 因為,可以賺很多錢‌‌

—— 因為,這個很熱門‌‌

—— 因為,我覺得這很酷‌‌

—— 因為,我喜歡這一門

這是我問了很多人之後,他們的答案。

那麼,我又是為什麼?

很小的時候,便有幸接觸到了電腦,還是 Windows 98。也只是打開記事本,用五筆輸入法,亂按著鍵盤。打出幾個認識的字便歡欣雀躍。之後也不過是下載點音樂,保存幾個 Flash 遊戲。

大概到了小學,家裡要換電腦,我便跟著去了電腦城。第一次見到了盒子裡面的樣子。IDE 的硬盤便是我僅有的記憶。

後來,在某一天,不知道從哪裡,我聽來了「編程」這個字。便拜託家裡人幫忙報名了少年宮的編程班。也就是那時候起,正式進入了編程的殿堂。可以說是純粹靠興趣了。

可能真的算是野路子吧,上手便從窗體程序開始。也導致了我在很多年中,對命令行程序和算法表示不屑。發表過不少不恰當的言論。諸如,未來是 GUI、是 WEB⋯⋯

就這樣野了好多年,直到現在,才慢慢有所開悟。

為什麼要選擇這一行

回答開頭的問題。其實答案只應該有一個字,那就是「想」。三百六十行,偏偏選擇了這一行,如果不是因為「想」,那可能很難撐下去。熱門的年年都在變,也不見得寫程序就比其他人賺得多。「程序員」、「軟件工程師」這一稱號也不見得就是人上人。

但這個問題,我覺得如果不是這個答案,可能要認真考慮下了。自己是否在內心深處熱愛著這門,是否真正的想過自己喜歡什麼,是否應該去轉行做真正喜歡的事⋯⋯

計算機帶來了什麼

計算機帶來的,不僅僅是運算速度的提升和精準,也不僅僅是自動化程度的提升。更重要的是,她改變了我們的思維方式,和我們對這個世界的看法。某種意義上,她帶來了一個真正由人類主宰的虛擬世界。而這個世界,僅需要用零和一來驅動。

編程這一活動,便是在這一虛擬世界中進行的。思想被表達,被轉化,被複製。思想,也受到了最小的客觀環境的限制。因為我們明白,我們所依賴的世界的基本原理。

程序員,是創世者,也是造物者。而這,也應該是一個程序員的堅持。

程序員和碼農

嚴格來講,這兩個並不應該是並列關係。

什麼是碼農?碼農便是做著重複性工作的程序員。複製粘貼,CRUD⋯⋯戰戰兢兢,隨時會被更快更熟練的程序員替代,也擔心著被某種自動化工具所取代。而被取代的原因,在我看來,便是沒有用思想創造價值。

那麼什麼是真正的程序員呢?依我所見,便是有所思考的「碼農」。思考代碼設計如何趨於完美,而不是做完就可以下班了;思考具體問題如何可以通過代碼解決;始終對程序的運行原理保持好奇,保持著一顆愛好探索和挑戰未知的心。

程序員這個群體,包含了太長的光譜。有為一口飯而從事的,到頭來也的確得到了一口飯;有為達成目標而學習編程的,到頭來目標也得以實現;也有為本質而著迷,為這一領域添磚加瓦的⋯⋯但無論處於光譜的哪一個位置,確都應該有一些堅持,捍衛一份程序員的尊嚴。

大公司和小公司

筆者並無在大公司亦或是小公司工作的經驗,但遭遇過騰訊實習生面試的失敗,也認識一些在大小公司任職的朋友,可以窺得一二。

經歷過失敗的面試,最深的感受便是,大公司非常注重應試者的基礎知識,注重的是一個人的發展潛力。而小公司,由於自身條件的限制,更注重的是,這個人能否幹活,幹活的速度等等。

這樣便導致了一個問題,小公司出來的人,除了精英團隊,很有可能在此後的一段時間內無法跟上潮流。而大公司出來的人,掌握了一套方法論,明白了軟件開發的內涵所在。更主要的是,有一群志同道合,精益求精的人。

我承認這段是有點吹大公司了。但客觀來看,小公司和大公司,確實如此。瘦死的駱駝比馬大。

程序員的理想主義

理想主義是什麼,是他人謂之不可而依然為之的堅持,也是求索真理並為之愉悅的態度。是「我想幹什麼」、「我願意做什麼」的動機。而無論做什麼,心中確實都應該多一點理想主義。

理想主義是美的,增添了改變世界的力量,也增添了自己人生的意義。但理想主義又是一種淒美,多了一份注定無法被大多數人理解的孤獨。

達爾文曾言,物競天擇,適者生存。然而人類確是多了幾分選擇。我們嘗試著去改變,我們嘗試著去逃離,最終,也有人選擇了適應。

多一分掙扎,毕竟,我们是主观能动的。虽然,有时候,代价会很大。但回报是丰厚的。搏一搏,单车变摩托。

程序员的尊严

人之所以有尊嚴,在於一個「人」字。因為人的屬性,我們有了尊嚴。而程序員的尊嚴,自然而然是因為程序員的屬性而產生的。無論是程序員的成就,還是一個人的成就,其關鍵都在於,是否充分利用了自身的這些屬性。程序員,正如每個人一樣,都有權捍衛自己的尊嚴,也有權讓自己更值得尊敬。而程序員的尊嚴,便來自對自己專業知識的捍衛。

不少人都應該記得那個「根據手機殼顏色變換應用主題」的 meme。但外行指導內行,卻是一個普遍的現象。無論是否在信息技術領域中。正因如此,維護自己的專業知識,便是每個人責無旁貸的義務。

捍衛尊嚴的另一種方式,便是學會拒絕。讓一個高級程序員去做瑣事,雖然無法和文革期間被迫清掃牛棚的知識分子們相比,但確實有損尊嚴。

古人言,不為五斗米而折腰。現在的我們,也許沒有那麼高風亮節,但也請儘量。

人是有思想的蘆葦。脆弱,搖擺。但請在大風掃過之後,依然挺拔。

后记

之所以寫這篇文章,是想把最近的一些思考記錄下來。自己有一個小毛病,就是道理想不明白,便會嚴重分神。這兩個月也思考了很多。從自己到環境,再到其他的一些思考……記錄於此。也希望同處於迷茫之中的人可以有所啟發。

寫這篇文章之時,恰巧讀到了吳軍先生的《是誰動了程序員的尊嚴? 》,驚奇的發現好多想法不謀而合,實屬榮幸。

也许有朋友会问,你上篇说的那种有亮剑精神的团队呢?比较遗憾现在在一个比较大的公司,在一切都需要看财务报表的公司文化里不允许我那样搞,大公司很多事情也更复杂需要考虑更多。而且那种需要我投入极大理想主义精神,精力和感情的团队貌似也不太适合我这个快当孩子他爹的人。谨以文送给我那牛B的亮剑团队和团队里的兄弟们。

如吳軍先生最後一段所言,進入/拥有一個這樣的團隊,並非一件易事。雖然自己在寫程序的路上也只是五十步,但五十步確實可以笑百步。當大家都是五十步的時候,一步不退的可能性便又多了一分。

Cover: dignity definition dictionary by cgarniersimon on Pixabay