人總會變老,可以想象,哪怕是今天剛出大學的95后程序員,雖然時間的推移,可能頭發會慢慢少,也可能眼鏡的度數會慢慢變大,更可能顏值慢慢變低(說得好聽點就是顏值會轉化成技術和經驗),也會漸漸被壓力磨平棱角。
這個是沒辦法的,長江后浪xxx,后浪xx沙灘上。哪怕我們再不樂意,再隱瞞年齡,再裝嫩,也沒法改變自然規律。算算今年,已經是北京奧運后的第10個年頭了,與其感懷,還不如趕緊給自己多充點電。
本文有兩個主題,
1 和初級程序員相比,大齡IT從業者(包括高級開發,架構等職位)該具備哪些方面的技能。
2 在真的變老前,該如何裝備自己。
1 多積累真正值錢的技能
哪些技能值錢?能被別人在短時間內學會技能不值錢(但一定要學,這是基礎 )。舉些不大值錢的技能例子。
1 概念性的知識,比如大數據和人工智能等方面概念性的知識點。
2 比如Java語法,數據庫里的SQL語句,或者其它語法使用類別的技能。
一些得靠一定動手實踐經驗積累下的經驗比較值錢。
1 比如SQL大數據調優,JVM虛擬機調優。
2 架構師級別的高并發網站應用的搭建。
這話說得非常輕巧,做起來說難不難,說容易不容易。
如果我每天都在學習,哪怕用最笨的辦法學習,在短時間(比如1個月)內總能找到好的學習進階的途徑,但如果成天混,那只能呵呵了。年輕時尚能呵呵,真的老時,只能為一條著名的古詩增加有力的論據了。
其實大齡程序員的競爭優勢不是在于多會幾門開發語言,多背出一些API的用法,而在于通過工作經驗積攢更多的專業經驗,在這部分的結尾,我給出些在我面試過程中經常提到的能問出候選人值錢知識點的問題。
1 你在代碼里,有過哪些提升Java內存性能的措施,或者問,你在java虛擬機優化方面做過哪些工作?
2 數據庫方面,除了增刪改查等基本技能點之外,你還有哪些提升數據庫性能(比如SQL調優)的經驗。
3 在大數據庫等方面,你有哪些實踐經驗?
4 你是否搭建過系統架構,比如讓你設計一個秒殺系統,你需要考慮哪些方面的因素?選用哪些方面的組件。
5 在設計一個成熟穩定的系統時,你需要考慮哪些因素?你說下這方面的實踐經驗。
2 老程序員或者可以通過拼搏讓自己無需再工作,如果不行,就找個穩定的工作
我見過有些人進入到了創業公司,然后通過兩三年的苦熬最終成功在30歲錢退休,但大多數的人沒這個機遇。
秦國宰相李斯有個著名的倉鼠論,對于大齡程序員而言,一些大公司或許是個非常好的去處。
這里大公司的最低標準是,裁員的門檻相對高些,不會因為經濟形勢不好等原因輕易地裁人,也不會經常因為經營業績不好而經常調整部門結構,更不應該存在跑路的風險。
以這個標準而言,大公司至少包含了一些著名外企,一些國內大公司和一些在某個行業處于龍頭地位的公司。
本人最近一直做技術面試,普遍的感覺是,進大公司不難,但要準備。下面列些必備的要件。
1 基礎知識一定得扎實,比如java方面,集合,多線程,spring boot等方面,最好了解下底層代碼實現。
2 什么技能點都應當向“優化”方面靠,比如一段代碼如何實現性能優化,訪問數據庫如何實現返回效果最快,一個架構如何實現“高可用”的效果。
3 最好實現全棧,前端,后端,數據庫,還有Linux部署,上線后如何通過日志排查問題,這都該懂些。
4 針對上述技能點,應當有不少于2年的項目實踐經驗。
其實進大公司,與其說技術項目經驗不匹配,還不如說一些程序員主觀上給自己畫了個狹隘的圈,還沒做技術和面試上的準備,就給自己打上了“我外語不行”或“我技術不行”的標簽,然后把時間揮霍到其它方面。
在大公司里,可能人的能力普遍高些,在其中不僅能積累項目和技術經驗,更能積累人脈,更能通過這些高質量的人脈為自己年老后未雨綢繆。
3 哪種類型的老程序員會被呵呵
我們小的時候,大多數會被教育,別像xxx讀書不好,看他現在多苦。這里也希望大家別成為別人的教育案例。
時間很殘酷,到站后會把不符合標準的程序員趕下車,比如程序員到30歲,35歲或40歲等坎時,如果沒達到要求,日子會很難過。不過時間也很公平,在趕人下車前一定會給出足夠多的提示(只是很少有人能警覺),不過話說回來,這里趕人下車的門檻其實不低,大多數人應該都可以規避。
這里出些會被趕下車的人群的普遍特征。
1 學歷不高(大專以及之下),或出身學校一般,而且非計算機專業,或干脆從其他專業轉行,只是通過一些培訓學校來獲得相關技能。我在這里無意貶低上述人群,也無意貶低一般的大學和培訓學校,只是這部分人與其它人相比,基礎比較薄弱,所以更不能自暴自棄,更得努力。
2 在工作中得過且過,以最低標準來完成分配的任務,完成后就不務正業了。
3 工作中斤斤計較,眼高手低,不愿干小事,但大事又做不好,出了問題總是找客觀原因。
4 平時不學習,或者沒有給自己制定一個長遠的學習的進階的目標。
5 經常換不得不換工作(即被換工作),無法積累足夠多的行業或項目經驗。
6 經常更換主業,在某個領域無法專研和積累經驗,比如今天學python,明天學大數據,后天再轉到測試行業了。
如果程序員具備上述特征,那么隨著年齡增大,競爭力不是上升而是下降,這些人很有可能就被小鮮肉們淘汰了。不過據我觀察,哪怕程序員利用平時一半時間來學習,基本上就能做到準時升級,從而不會被淘汰。
4 我見過的一些程序員的慘狀
不努力就能成功,天下哪有這樣的好事。天下可憐人必有可悲之處,這里我列些我見過的或者是道聽途說的一些程序員的境遇。
1 到一定年齡后,會發現跳槽很難,比如到了30歲還處于初級開發的階段,或者35歲還處于高級開發階段,那么跳槽時可能只能在一些小公司之間了。這里我同樣無意貶低小公司,但相比大公司而言,小公司。。。
2 在組里地位急劇下降,工資甚至比剛畢業的大學生高不了多少,這時和其它已經事業有成同齡人相比,心里一定不是滋味。
3 由于只能在小公司之間跳槽,所以三天兩頭被辭退,理由很殘酷,但也很現實:當公司動蕩時,總是會優先辭退競爭力比較低的人。
4 一年內有很長時間找不到工作,最后只能淪為自由職業者,掙的錢無法保證自己在大城市生活下去。
其它樣子大家可以自行腦補。
5 我見過的一些程序員提升自己能力的方式
1 一定是工作非常努力,不計成本的努力,哪怕遇到不是自己所轄的工作點,不是推脫,而是盡量做好。
2 一定是做到不斷反省,人總是出錯,不過這些程序員出錯后總會找自己身上的原因,對比著提升自己的水平。、
3 平時一定是不斷學習,并根據自己的職業規劃,給自己制定一個學習的路線。比如我從事的是java行業,我就見過不少程序員在不斷地學架構方面的技能。
4 不斷地觀察領導,分析如果處在這個位置上,我該具備哪些技能(沒有就去學),我該如何做。這樣到了一定時間就可以通過跳槽等手段實現提升。
5 與時俱進,不斷分析自己與當前熱門技能的差距,或者觀察當前哪些技能非常值錢,隨后不斷學習。
6 我見過的一些防老的手段
1 可以積累些大公司的工作經驗,這樣到一定年齡后,再不濟也可以進個大的養老型的公司了。
2 在業內打些名氣,比如寫書,在知名網站發表系統文章,或者在github上多發表代碼。這里順便提下我寫的書。
java web輕量級開發面試教程
打出名氣后有什么好處?第一可以出去培訓講課,第二找工作也容易,雖然說程序員是吃青春飯,但任何公司都無法排斥某一領域的技術大牛,這些大牛哪怕是到了45歲50歲,也一定是搶手貨。
3 自己做個解決方案,然后賣給公司,比如針對倉儲系統等做個產品,然后找些公司實施。
4 自己創業,這個不予評論,大家可以自行觀察。
5 用之前掙的錢開個工作室或小作坊,利用人脈關系接些項目,這樣做好真能發達,即使是一般,也能有所保障。
7 鼓勁+預告
如下是我最近的感受。
1 我最近加班很多,我對此感到非常幸運,因為至少現在我尚有通過付出體力和腦力勞動提升自己的機會。
2 我同時感到很后悔,正是因為我之前加班加少了,用在學習上的時間少了,所以現在我還得加班。
總之,付出總會有收獲,努力永遠不會太晚,最后,如果大家感覺我的這篇文章不錯,就看在我周末還在努力寫博文的努力程度上,多給我些推薦,謝謝了。
-
程序員
+關注
關注
4文章
952瀏覽量
29799
發布評論請先 登錄
相關推薦
評論