程序員是一碗青春飯嗎?


豐厚的薪水,高端的職位和有成就感的事業是人人都想要的,而這些都取決於你每天的認真工作,努力學習和靈活做人上。日子就像一塊塊磚,你就像是一個泥瓦匠每天在堆砌着你的人生,最終砌出一個宏偉的大廈或是一幢低矮的小屋甚至是堆成一堆瓦礫全取決於你自己。

程序員是一碗青春飯嗎?

程序界和軟硬件一樣都要遵守摩爾定律,也就是說當前的技術知識很快會被替代,你需要不斷學習新的東西,否則就會面臨着被淘汰的危險。然而,一個人的學習動力和慾望都是有限的,記憶力還會隨着年齡的增長而衰退,從這個道理上來說,年齡大的遲早會被年齡小的超過,成爲雞肋並最終將被無良的公司拋棄。難道程序員這個職業做不過三十五歲,永遠是一碗青春飯嗎?

根基是決定一個人會不會被淘汰的關鍵

我剛進入IT業就聽說過這種說法,不過當時的年齡限度是30歲,當工作一段時間後,這個限度上調了五歲,而且還有陸續上調的趨勢,而在各個公司中,超過35的程序員並不罕見,在外國做了一輩子軟件的人也屢見不鮮。難道「程序員是吃青春飯的」是一個謬論嗎?那麼爲什麼很多人持有並宣揚此論調呢?

其實這個結論既正確也不正確,它的結果取決於要評判的人。一個人如果根基紮實,他就更容易學習新的事物新的知識,年輕和精力相對於紮實牢靠的根基是微不足道的,對於別人是一座山的障礙,對於他也許就是一張紙的隔閡,這樣的人是不會面臨着被超越被淘汰的危機的,青春飯的論調對他完全不適用;而一個人如果根基不牢,只是靠精力和年齡勉強立足,每次新事物新知識出現都在和年輕人拼體力拼精力,那麼他遲早將被淘汰,優勝劣汰的社會就是這樣殘酷無情,但很公平 。

什麼是程序員的根基

面向對象的思想。MVC,分層架構,按接口編程,依賴注入,OR Mapping,面向方面,SOA等都是OO的發展,不從根本上領會它,程序員就難以把握程序發展進化的趨勢,永遠停留在老窠臼中無法自拔,自我提高升華進化當然更是一句空話。

數據結構。程序的核心目的是收集,整理和展示數據,而數據的核心就是數據結構,它的重要性不言而喻。線性表、棧/隊列、串、多維數組、廣義表、樹、圖這些數據結構你都需要認真掌握,掌握的程度越深,日後學習的阻力就越小,相對於他人將更有優勢。

算法。如果缺乏好的算法,程序架構得再完美數據再貼切都無濟於事,猶如一臺法拉利卻用牛來拉一樣。迭代法、窮舉搜索法、遞推法、貪婪法、回溯法、分治法、動態規劃法都是你需要掌握的,不要以爲這很難,讀透一本算法導論就足夠了。

基礎API。只有思想,數據結構和算法只是一條腿,要健步如飛還得兩條腿走路。程序員的另一條腿就是基礎API,你需要認真掌握TCP/IP協議詳解,Socket通信,線程,文件讀寫等每種語言和技術都需要的基礎知識,一個新事務即使再絢爛奪目也是利用這些基石搭建而成的,如果你徹底瞭解了它們將永處不敗的境地,甚至覺得新技術也不過如此。

如何打好根基

多學。從項目中學,從書本中學,從別人哪裏學,從失敗中學習,掌握基礎API就是需要多學習,如果有已有的知識總結可以起到事半功倍的效果。

多想。學習OO和算法都需要理解,光是死記硬背毫無用處,子曰「學而不思則罔」,OO和算法的學習都需要一個理解消化的過程,只有徹底理解了,你才真正掌握了它們。

多練。經過代碼的歷練,程序員才能百鍊成鋼,成功的項目能告訴你什麼是正確的,失敗的項目會暗示它爲什麼會失敗,下次你就能更進退有據。更重要的一點是,不做項目,不做多個項目,不做大項目,程序員對「度」的把握總是缺乏經驗,不是過就是不及。真正親手手寫過10-20萬行代碼的是成爲一個成熟程序員的必要條件(但不是充分條件)。

多見。眼光狹窄,目光短淺,固步自封只能造就一隻井底之蛙,你的眼光必須超越自己所在的環境才能取得真正的進步,現在有許多開源社區和軟件都是你應該涉足的地方,和什麼樣的人在一起你自然也會成爲什麼樣的人。「蓬生麻中,不扶而直,白沙在涅,與之俱黑「說的就是這個道理。

程序員的身價是由什麼決定的?

如果一個程序員有良好的根基,充滿智慧的頭腦,積極主動的精神和鍥而不捨的毅力,他就一定能有豐厚的薪水嗎?答案是否定的。原因在於薪水不光取決於自身的水平,還取決於周圍的環境。

程序員的身價首先決定於他能給僱主帶來多大的利益,如果帶不來利益,程序員再有本事也是白搭,這就要求程序員一定要根據自己的特點尋找合適自己發展的公司,在你的職業生涯之初就要研究自己和世界,逐步選擇一個合適自己的方向發展,永遠記住,方向比努力更重要。

其次,程序員的身價也取決於他的不可替代性,即使一個人能帶來很多的利益但身後有大批的後備軍資源,幹不好立即就有人頂替你,這樣的人薪水也不會高,反正你不幹有的是人幹,資本家就是這樣無情。這告訴我們要使自己不可替代,就要努力向高處走,一定和衆人拉開差距才能彰顯自己的價值。

程序員生涯能給我們帶來什麼

IT是一個朝陽產業,正處於蓬勃發展中,選擇這一行比其它行業擁有更多的發展機會。

相對於其它職業,程序員對自己命運的把握程度更大。」榮辱自取,不求於人「,這是一種非常好的感覺,在別的職業中是難以找到的。

只要人們還在使用計算機,程序員這個職業就永遠不會消亡,因爲計算機運行永遠需要軟件。

在信息時代,程序是一個非常有效的收集或發佈信息的工具,如果利用得當,它能直接帶來巨大的收益。

程序員事業發展的方向

架構師,CIO。對於熱衷於技術的程序員來說這是一個不錯的方向,架構師這個職位的必要條件是有優秀的技術功底和豐富的設計經驗,此外還需要有某個領域的深入知識。對於CIO要求更高,他需要對未來五年內的技術走勢把握得比較清楚。

項目經理,部門經理。人際關係處理良好,語言能力出衆的程序員適合走這條路。這也是大連大多數程序員的理想選擇。

做自己的網站,當一個給自己發薪水的人。網站做好了收入頗豐,低端如hao123,高端如google的例子都擺在眼前。其實做網站初期投入並不巨大,但需要持之以恆的毅力尤其是敏銳的市場嗅覺,它決定了你是否能從網站中盈利。此外,擁有自己的網站對於自我宣傳,建立個人品牌有很大的好處。這條路適合於熱衷於網絡技術的程序員。

開公司創業。製作軟件並不難,難得是是否能接到活,能否接到長期的活,如果能做到的話,你就可以選擇創業。拿工資致富是不可能的,而一次項目的利潤可能就等於你前期的工資總和。

後語

相對於永恆的宇宙,我們確實非常渺小,應該有謙卑之心;但是跟別的任何生命相比,我們的尊嚴,我們的價值,我們的可能性,是一樣的;就算人家確實是牡丹玫瑰,自己只是小小的,角落裏的一朵苔花,也應該燦爛地綻放,把自己漲圓,並且自豪地仰望蒼天,說:「我也能!」

關注傳智播客官方微信

各種乾貨資源等你來收!

還有傳智萌妹子等你來約!

微信號:boniu525

QQ號:2217622915

約我的各種好處:各種學習交流羣等你來加入;各種學習資源等你來取;各種優惠通道專爲你打開;賣萌= ̄ω ̄=神馬的偶最擅長了,報名、談心、指導、答疑解惑···程序員鼓勵師算什麼?在播妞面前弱爆了有木有?只等你!