靠自學和培訓班,程式員頂多只能達到能勉強糊口的程度,靠做增刪改查業務提升經驗的程式員,收入只能勉強達到中等水平,而且到了30歲就會被畢業生所頂替,

要達到水平很高的程式員,第一要找能提供優質實踐機會的大廠,第二要在諸如高并發或機器學習的專案里多解決實際問題,第三還要不斷跳槽,不斷地找更優質的平臺和更優質的專案機會,
接下來說下成為高水平程式員的流程,順便提些中間可能會遇到的發展誤區
在校生,或者是培訓班的程式員,哪怕學得再多,學習階段接觸的專案看上去再高大上,只要沒有專案實踐機會,這些程式員基本沒有價值,因為學習專案和實際做的專案差距很大,而且如果學成以后有三個月的時間不去軟體公司,那么學到的技能很快就會忘記,所以這個階段的程式員應當盡快找打一份作業,當然如果直接找到大廠作業最好,如果沒有,別顧工資,也別看公司大小,盡快找到一份能接觸到真實開發專案的作業機會,
在作業中接觸到編程技術后,你就會發現之前學的技術很多是用不到的,或者精心學的語法或框架甚至專案里不是這樣做的,這和學習無關,哪怕當時學得再好也會遇到這類問題,畢竟學習升級到實踐總會有個程序,
這時,專案需要的技術才是你真正要學的,我這里不給出詳細的技術,因為對沒有實踐機會的程式員來說,這沒有意義,而對已經開始做專案的程式員來說,這方面的體會一定比我還深,也不需要我說,在這個階段,甚至通過一周做專案提升的程度要比學習階段一個月提升的還要多,
但如果程式員僅僅停留于此,可能會非常熟悉本公司的業務,憑此能在本公司混得風生水起,但技術上可能僅僅停留在增刪改查,由于在大多數小公司里,未必能接觸到高并發分布式,或大資料,或機器學習或深度學習之類的高級技能,所以如果在小公司呆就了,可能接觸到的也就是增刪改查的技術,
這種技術不值錢,任何一個畢業生頂多通過半年就能掌握,所以此類程式員社會上會有很多,能力上頂多成為初級程式員,哪怕能力是在初級程式員階段的天花板,但如果僅僅會增刪改查,也只能是叫初級程式員,
我見過太多的初級程式員,在30歲之后,只能在多個小公司之間輾轉,工資也就維持中等水平,或者工資比畢業生還低,為了能從初級程式員提升到高級程式員,辦法只有一個,進大廠,或者進獨角獸企業之類的好一點的平臺,因為大多數小公司只能提供增刪改查的專案實踐機會,
怎么進大廠:背面試題,或者按大廠的面試機會,好好準備簡歷上的專案,同時準備大廠面試時需要的專案說辭和技術說辭,這個階段是很難的,因為平時只做增刪改查業務的程式員,很難在專案中挖掘出分布式組件等技術亮點,而且大廠面試官眼睛很毒,只要通過三言兩語就能甄別出求職者是真有值錢技術的專案經驗還是只會說,
說句題外話,進大廠要早,雖然現在有很多所謂的面試秘籍,或者面試專案,其實大廠面試官通過提問,一定能甄別出哪些沒相關專案經驗,但靠所謂面試技巧發揮的程式員,
這點大家別有僥幸心理,本人在大廠做了若干年技術面試官,哪怕求職者之前背了太多的題,只要求職者沒在專案里用過技術,這一問就能問出,但比如求職者比較年輕,比如25歲到27歲,面試官會在看穿的基礎上,感覺求職者有一定潛力,所以面試也可能讓過,但如果求職者過了30歲,或者年級更大,那么如果僅具備增刪改查技能,可能就未必能進大廠了,
進了大廠,或者接觸到諸如分布式,集群或者深度學習等技術的專案后,程式員會發現一些高級技能的進階途徑,所謂實踐出真知,只有具備相關技術的實踐經驗,程式員才能進階到高級,
如果程式員在專案里多上點心,多解決些實際問題,或者多接觸些搭建集群等運維的活,可能進步起來會更快,
到了這個階段,程式員自己根本就不用主動進步,甚至能被驅動進步,這話怎么說?在平時開始時會接觸到大量值錢技術沒,在解決日常問題時,也可能會接觸到值錢或者是底層原始碼,這樣一來二去就有經驗了,也就是說,有值錢專案的實踐能力外帶多通過解決問題積累經驗,程式員能升級到架構師,這從技術上可能就非常強了,
量化一下吧,100個程式員里可能最后能達到架構師水平的,未必會超過5人,我在上海,達到架構師水平的程式員,一年70萬年薪都不算多,
后面再要怎么進步呢?其實就是更好地變現技術,提升技術變現成金錢的能力,比如可以找個小公司做技術頭頭,或者找個風頭行業的公司,或者干脆找個創業公司, 這個階段,提升就不能單靠編程水平了,而是要靠提升解決實際問題的能力,
最后做個總結:
1 程式員的編程水平不是單靠訓練出來的,而是靠做專案積累出來的,
2 程式員做的專案,或者說程式員所在的公司也有三六九等之分,要提升能力先要找個更好的平臺或包含值錢技術的專案,
3 單純靠學習提升編程水平很不現實,提升編程水平其實更靠準備面試的能力,面試發揮的能力和跳槽找好公司的能力,
4 程式員畢竟也是吃青春飯的,如果不提升,可能會舒服一陣,但如果不升級到資深開發甚至架構師,程式員在30歲或者35歲以后,會很難,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/302736.html
標籤:其他
上一篇:為什么我不推薦Python初學者直接看專案原始碼?作業五年的程式員給的忠告!
下一篇:關于在Ubuntu系統下JDBC連接MySQL資料庫時出現錯誤 Access denied for user ‘root‘@‘localhost‘
