基礎軟件研發,可能是中老年程序員的最後堡壘

今天是農曆臘月二十六,街上道路越來越通暢,辦公室越來越空曠,這都在宣告,舊的一年即將過去,新的一年即將來臨。

進入2020年,九零後開始三十而立,八零後開始四十不惑,IT行業也即將迎來老齡化時代。在爲啥你身邊沒有40+的程序員這篇文章中談到,不是40+不適合幹程序員,而是中國大量的程序員還沒到40+。中老年程序員如何體面的生活下去,確實是一個問題。轉管理崗、做自媒體、或者成爲培訓師、創業,都是不錯的選擇,但需要提醒的是,對於大多數程序員而言,繼續在本領域耕耘,可能是最好的選擇。

但現實也有嚴峻的一面,說是年齡歧視也好,其它原因也好,年過四十再出去找工作,的確是一件很難的事情。那中老年程序員的出路在哪裏?

基礎學科招生改革試點意見

我也一直在思考這個問題。最近看到一個來自教育部的紅頭文件《教育部關於在部分高校開展基礎學科招生改革試點工作的意見》,文件中提到,強基計劃主要選拔培養有志於服務國家重大戰略需求且綜合素質優秀或基礎學科拔尖的學生。聚焦高端芯片與軟件、智能科技、新材料、先進製造和國家安全等關鍵領域以及國家人才緊缺的人文社會科學領域。這其中,基礎軟件研發應該是中老年程序員的一個不錯的選擇。

所謂基礎軟件,是操作系統、數據庫、辦公軟件和中間件的統稱。我們熟知的基礎軟件有操作系統、數據庫系統、中間件、語言處理系統(包括編譯程序、解釋程序和彙編程序)和辦公軟件(包括文字處理、電子表格、幻燈片)等等。其實廣義上的基礎軟件更多,比如網絡協議庫、瀏覽器引擎、音視頻編解碼、... 甚至我們如果開發出一個壓縮解壓程序庫,都可以算得上基礎軟件。

爲什麼說基礎軟件研發適合中老年程序員呢?

首先,相對於應用軟件,特別是互聯網行業的app,基礎軟件一般更新比較慢,不會快速迭代。近些年來,雖然互聯網之風也吹進了基礎軟件,手機操作系統Android、IOS也在快速演進,但也基本上是一年多才會發佈一個版本,相對於app十幾天、個把月就出一個新版本,還是要慢得多。更多的技術,其演進過程都是非常漫長的。比如IPv6,上個世紀開始,人們就開始焦慮IPv4地址會用完,但直到今天,還只是小規模在應用。HTTP 1.0到1.1,到2.0,用了多長時間?Python 2到Python 3,多少次人們就判了Python 2的死刑,但直到現在,仍然存在大量Python 2的代碼在工作着。更多的基礎軟件庫,在現實中廣泛使用,牽一髮而動全身,修改需要慎之又慎。明明拼智力的編程,爲何還要拼年齡?這篇文章就分析過,中老年程序員的劣勢在於反應能力會下降,思路不那麼敏捷。在不那麼快速的基礎軟件研發領域,中老年程序員可以揚長避短,充分利用經驗上的優勢,和年輕的程序員PK。

其次,應用軟件,特別是MIS(信息管理系統)之類的軟件,更多的是理解業務邏輯,計算機基礎知識,比如算法、計算機原理之類的知識並不是那麼重要,這也是很多外專業的人進入IT行業,同樣可以乾得很好的原因之一。而基礎軟件,更多的需要掌握計算機相關的基礎知識,這個時候,經驗積累就非常重要了。就拿瀏覽器引擎來說,別說開發一個新的引擎,就拿開源代碼來說,幾百萬行的代碼,你要看懂,沒個三年五載的,能行嗎?你要修改網絡協議,HTTP、SSL規範你需要好好研究吧。要修改排版引擎,HTML、CSS規範你需要好好讀一讀吧。同理,如果是研究音視頻編解碼,對於新入者,也是一個很高的門檻。做這些基礎軟件的研發,新進入者想要搶奪飯碗,不是那麼容易。

最後,談到基礎軟件,我們腦海中立馬會浮現高大上,似乎高不可測,只有頂級的程序員才能做好。但就和所有行業一樣,頂級的人物推動着行業向前發展,而大部分的人都是實現與完善。就拿安全領域來說,加解密算法是頂級的數學家與密碼專家發明的,從計算機出現開始到現在,到底發明了多少算法呢?屈指可數。目前最廣泛的加解密算法,如DES、AES、RSA,都是在上個世紀六七十年代發明的。大部分的人都是進行這算法的實現、優化和應用,比如SSL、TLS,以及算法在各種平臺、芯片上的優化。最近在參與一個國密的項目,深入進去後才發現,不只是算法這麼簡單,涉及到一堆RFC文檔、ITU標準,才能將算法應用起來。這其中就涉及到大量而細緻的工作,文檔要認真的讀,實現要嚴格遵循各種標準。中老年程序員這方面應該更有優勢,不再那麼浮躁,容易靜下心來閱讀這些文檔,按部就班按照標準進行測試。

當然,有朋友可能會有疑問,從事基礎軟件研發,有前途嗎?

這個問題,要是放在二十年前,可能並不成立。因爲大量的基礎軟件都是外國人開發的,中國則一窮二白,當然是實行拿來主義,進行基礎研發的公司少之又少。那時做基礎軟件的人才,只有少數幾條出路,去外企或研究院,出路並不寬廣。但現在情況不同了,一方面,中國的技術水平進步了,以前只要緊盯着美國,然後copy到中國來就行,現在中國已經處在前列,沒有copy的對象,必須要進行一些創造性的工作。另一方面,則是世界局勢發生了一些變化,當中外發生對立,別人不讓中國使用這些技術該怎麼辦。典型的例子就是美國對華爲進行技術制裁。所以中國現在大力投資高端芯片與軟件、智能科技、新材料、先進製造和國家安全等關鍵領域,而高精尖的技術離不開基礎技術的進步,這必然會帶來大量的工作機會。

在如今中國,只要不懶,沒什麼疾病,幹什麼都有活路。對於程序員而言,重要的是如何維持體面的生活。能投入基礎軟件研發的,基本上都是大公司,以及有國家背景的研究所,其待遇不會差到哪兒去,在某些關鍵崗位,可能並不比互聯網公司差。不管怎麼說,拿一份體面的薪水還是沒有問題的。

當然,如果從事基礎軟件研發,你也可能失去一些東西,比如說,接接私活(也許有少量機會)、開發一個大賣的app,再比如說,處在互聯網快速發展前沿的那種緊張刺激的快感。這個嘛,有得有失,做人哪,不要太貪心,什麼都想要。

以上僅僅是我的主觀看法,聽聽就好。路,還是要靠自己走下去。有什麼想法和觀點,歡迎留言探討

你還可以看:

  1. 爲啥你身邊沒有40+的程序員

  2. 我所經歷的三次裁員

  3. 明明拼智力的編程,爲何還要拼年齡?

發佈了180 篇原創文章 · 獲贊 447 · 訪問量 36萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章