|
大連服務(wù)外包公共培訓服務(wù)平臺 |
豐厚的薪水,高端的職位和有成就感的事業(yè)是人人都想要的,而這些都取決于你每天的認真工作,努力學習和靈活做人上。
日子就像一塊塊磚,你就像是一個泥瓦匠每天在堆砌著你的人生,最終砌出一個宏偉的大廈或是一幢低矮的小屋甚至是堆成一堆瓦礫全取決于你自己。
01 程序員是一碗青春飯嗎?
程序界和軟硬件一樣都要遵守摩爾定律,也就是說當前的技術(shù)知識很快會被替代,你需要不斷學習新的東西,否則就會面臨著被淘汰的危險。
然而,一個人的學習動力和欲望都是有限的,記憶力還會隨著年齡的增長而衰退,從這個道理上來說,年齡大的遲早會被年齡小的超過,成為雞肋并最終將被無良的公司拋棄。難道程序員這個職業(yè)做不過三十五歲,永遠是一碗青春飯嗎?
02 根基是決定一個人會不會被淘汰的關(guān)鍵
剛進入IT業(yè)就聽說過這種說法,不過當時的年齡限度是30歲,當工作一段時間后,這個限度上調(diào)了五歲,而且還有陸續(xù)上調(diào)的趨勢,而在各個公司中,超過35的程序員并不罕見,在外國做了一輩子軟件的人也屢見不鮮。難道“程序員是吃青春飯的”是一個謬論嗎?那么為什么很多人持有并宣揚此論調(diào)呢?
其實這個結(jié)論既正確也不正確,它的結(jié)果取決于要評判的人。
個人如果根基扎實,他就更容易學習新的事物新的知識,年輕和精力相對于扎實牢靠的根基是微不足道的,對于別人是一座山的障礙,對于他也許就是一張紙的隔閡,這樣的人是不會面臨著被超越被淘汰的危機的,青春飯的論調(diào)對他完全不適用;
而一個人如果根基不牢,只是靠精力和年齡勉強立足,每次新事物新知識出現(xiàn)都在和年輕人拼體力拼精力,那么他遲早將被淘汰,優(yōu)勝劣汰的社會就是這樣殘酷無情,但很公平 。
03 什么是程序員的根基?
面向?qū)ο蟮乃枷搿?/span>MVC,分層架構(gòu),按接口編程,依賴注入,OR Mapping,面向方面,SOA等都是OO的發(fā)展,不從根本上領(lǐng)會它,程序員就難以把握程序發(fā)展進化的趨勢,永遠停留在老窠臼中無法自拔,自我提高升華進化當然更是一句空話。
數(shù)據(jù)結(jié)構(gòu)。程序的核心目的是收集,整理和展示數(shù)據(jù),而數(shù)據(jù)的核心就是數(shù)據(jù)結(jié)構(gòu),它的重要性不言而喻。線性表、棧/隊列、串、多維數(shù)組、廣義表、樹、圖這些數(shù)據(jù)結(jié)構(gòu)你都需要認真掌握,掌握的程度越深,日后學習的阻力就越小,相對于他人將更有優(yōu)勢。
算法。如果缺乏好的算法,程序架構(gòu)得再完美數(shù)據(jù)再貼切都無濟于事,猶如一臺法拉利卻用牛來拉一樣。迭代法、窮舉搜索法、遞推法、貪婪法、回溯法、分治法、動態(tài)規(guī)劃法都是你需要掌握的,不要以為這很難,讀透一本算法導論就足夠了。
基礎(chǔ)API。只有思想,數(shù)據(jù)結(jié)構(gòu)和算法只是一條腿,要健步如飛還得兩條腿走路。程序員的另一條腿就是基礎(chǔ)API,你需要認真掌握TCP/IP協(xié)議詳解,Socket通信,線程,文件讀寫等每種語言和技術(shù)都需要的基礎(chǔ)知識,一個新事務(wù)即使再絢爛奪目也是利用這些基石搭建而成的,如果你徹底了解了它們將永處不敗的境地,甚至覺得新技術(shù)也不過如此。
04 如何打好根基?
多學。從項目中學,從書本中學,從別人那里學,從失敗中學習,掌握基礎(chǔ)API就是需要多學習,如果有已有的知識總結(jié)可以起到事半功倍的效果。
多想。學習OO和算法都需要理解,光是死記硬背毫無用處,子曰“學而不思則罔”,OO和算法的學習都需要一個理解消化的過程,只有徹底理解了,你才真正掌握了它們。
多練。經(jīng)過代碼的歷練,程序員才能百煉成鋼,成功的項目能告訴你什么是正確的,失敗的項目會暗示它為什么會失敗,下次你就能更進退有據(jù)。更重要的一點是,不做項目,不做多個項目,不做大項目,程序員對“度”的把握總是缺乏經(jīng)驗,不是過就是不及。真正親手手寫過10-20萬行代碼的是成為一個成熟程序員的必要條件(但不是充分條件)。
多見。眼光狹窄,目光短淺,固步自封只能造就一只井底之蛙,你的眼光必須超越自己所在的環(huán)境才能取得真正的進步,現(xiàn)在有許多開源社區(qū)和軟件都是你應(yīng)該涉足的地方,和什么樣的人在一起你自然也會成為什么樣的人?!芭钌橹校环龆?,白沙在涅,與之俱黑“說的就是這個道理。
05 程序員的身價是由什么決定的?
如果一個程序員有良好的根基,充滿智慧的頭腦,積極主動的精神和鍥而不舍的毅力,他就一定能有豐厚的薪水嗎?答案是否定的。原因在于薪水不光取決于自身的水平,還取決于周圍的環(huán)境。
程序員的身價首先決定于他能給雇主帶來多大的利益,如果帶不來利益,程序員再有本事也是白搭,這就要求程序員一定要根據(jù)自己的特點尋找合適自己發(fā)展的公司,在你的職業(yè)生涯之初就要研究自己和世界,逐步選擇一個合適自己的方向發(fā)展,永遠記住,方向比努力更重要。
其次,程序員的身價也取決于他的不可替代性,即使一個人能帶來很多的利益但身后有大批的后備軍資源,干不好立即就有人頂替你,這樣的人薪水也不會高,反正你不干有的是人干,資本家就是這樣無情。這告訴我們要使自己不可替代,就要努力向高處走,一定和眾人拉開差距才能彰顯自己的價值。
06 程序員生涯能給我們帶來什么?
IT是一個朝陽產(chǎn)業(yè),正處于蓬勃發(fā)展中,選擇這一行比其它行業(yè)擁有更多的發(fā)展機會。
相對于其它職業(yè),程序員對自己命運的把握程度更大?!睒s辱自取,不求于人“,這是一種非常好的感覺,在別的職業(yè)中是難以找到的。
只要人們還在使用計算機,程序員這個職業(yè)就永遠不會消亡,因為計算機運行永遠需要軟件。
在信息時代,程序是一個非常有效的收集或發(fā)布信息的工具,如果利用得當,它能直接帶來巨大的收益。
07 程序員事業(yè)發(fā)展的方向
架構(gòu)師,CIO。對于熱衷于技術(shù)的程序員來說這是一個不錯的方向,架構(gòu)師這個職位的必要條件是有優(yōu)秀的技術(shù)功底和豐富的設(shè)計經(jīng)驗,此外還需要有某個領(lǐng)域的深入知識。對于CIO要求更高,他需要對未來五年內(nèi)的技術(shù)走勢把握得比較清楚。
項目經(jīng)理,部門經(jīng)理。人際關(guān)系處理良好,語言能力出眾的程序員適合走這條路。這也是大連大多數(shù)程序員的理想選擇。
做自己的網(wǎng)站,當一個給自己發(fā)薪水的人。網(wǎng)站做好了收入頗豐,低端如hao123,高端如google的例子都擺在眼前。其實做網(wǎng)站初期投入并不巨大,但需要持之以恒的毅力尤其是敏銳的市場嗅覺,它決定了你是否能從網(wǎng)站中盈利。
此外,擁有自己的網(wǎng)站對于自我宣傳,建立個人品牌有很大的好處。這條路適合于熱衷于網(wǎng)絡(luò)技術(shù)的程序員。
開公司創(chuàng)業(yè)。制作軟件并不難,難的是是否能接到活,能否接到長期的活,如果能做到的話,你就可以選擇創(chuàng)業(yè)。拿工資致富是不可能的,而一次項目的利潤可能就等于你前期的工資總和。
中軟卓越Java全棧精品課
中軟卓越JAVA全棧課程根據(jù)企業(yè)技術(shù)需求設(shè)置。課程從基礎(chǔ)開始,循序漸進,緊跟技術(shù)發(fā)展。整個課程側(cè)重”JAVA企業(yè)級應(yīng)用“的學習,旨在教學與實戰(zhàn)訓練相結(jié)合。