① 程序員老了怎麼辦
很多人都是說程序猿是吃青春飯的,上了年紀的程序猿將會面臨著腦力或者體力不支的問題,導致一些老程序猿不再被公司重用或者重視,甚至面臨失業的危險。然而我卻不這么認為,其實程序猿老了未必就沒有用了,很多老程序還是大用用武之地的。
② 程序員35歲後就淘汰,為啥不是越老越香
程序員這份工作並不是越老越吃香的一個職業。因為自己了解和從事過這個行業,在這方面有著非常深刻地體會。
程序員在很多人眼中是一份高收入的工作,但是高收入的背後往往有著非常慘痛的代價,尤其是年齡上的問題,讓很多程序員不得不面臨轉業或者是選擇第二職業的考慮。
其實從整個中國互聯網的行業以及包括未來的發展方向,中國也肯定會出現大齡程序員,這也是未來的一個發展方向。因為專業人才和技術上的沉澱才是老程序未來的發展優勢,也是整個互聯網行業所要解決的人才問題。
③ 40歲老碼農面試京東被淘汰,HR感嘆:技術舊年齡大,很無奈
相信大家也都知道如今程序員的淘汰率還是很高的,尤其是到了35歲還沒有達到一定級別的程序員,這也就相當於可以准備轉行了,雖然很多人到了那個年紀技術還是不錯的,但是現實就是年齡大的程序員根本沒有市場了。
這不,在職場論壇上就有這么一個帖子,說的是京東的一位HR前段時間面試了一位老碼農,年齡已經四十了,和他的交談中得知,他已經失業差不多半年的時間了,失業的原因就是因為他的年齡太大了,技術沒有跟上時代,導致直接被前公司給辭退了。
40歲正好是一個上有老,下有小的年紀,京東HR表示對他的情況也是很同情,但是無奈年紀太大了,公司有著明確規定是不會要的。而這位程序員在得知自己沒有通過面試的時候,忽然流下了眼淚然後轉身默默離去了,HR當時也有點五味雜陳的,也聯想到了自己,如果自己在40歲的時候還沒有什麼作為的話,會不會也被公司無情拋棄呢?
其實程序員這個職業對於年齡的要求還是比較高的,但這也是沒辦法的,畢竟現在的技術更新速度實在是太快了,如果自己平時不努力充實的話,最終的結果只能是被淘汰。我們也可以站在公司的角度來思考一下,一個年紀大、技術落後、精力有限的中年程序員,和一個年紀小、技術先進、精力充沛肯加班的年輕程序員,你會選擇哪一個呢?答案十分明顯。那麼網友對於這個帖子又都有什麼看法呢?
有的網友說就算是成為了公司的領導層,到了年紀沒有什麼作為也有被辭退的風險,任何時候都不要有高枕無憂的心態。唯能做的就是在年輕的時候能夠多積累一些知識和財富,然後想辦法升職,等到做了領導層,沒被裁員就繼續干,如果被裁了還能有點本錢做點小生意,不至於到了中年失業顯得手足無措。
也有的網友說程序員還是應該多為自己的將來早做打算的,無論是做一些投資還是做點生意,起碼將來如果被裁員的時候不會太被動。
我覺得,因為年紀原因被辭退也是一件非常無奈的事情了,唯一能做的就是吸取這些例子的教訓,在閑暇的時候也不能忘記提升自己,為將來做好一定的規劃,這樣才能足以應對所有能預想到的壞情況。
④ 有哪些老程序員都知道對新手很有用的經驗
一說到程序員,想必大家的第一印象就是頭發少,很大程度上就是因為壓力大導致的,有生活壓力,也有工作壓力。
今天說說工作方面的壓力,想必看到這個問題的小夥伴都有一個認知,就是一個項目往往比預期的要長,說不定從哪天開始就加班了,一出現BUG真的要人命。此時,考研新老選手心態的時候和經驗的時候了,老程序員或許能從容應對,新手可能完全不知錯所。
這些信息包括戶口檔案、社保、公積金等信息,程序員新手可能跳槽比較頻繁,有人甚至還換個城市工作。除了戶口可能其他的信息都亂了,可能當時覺得不那麼重要,但是十年、二十年後,可能會非常重要。
·工作日誌可以提升腦容量;
·不要先寫框架再寫實現,要反過來;
·重構/優化/修復Bug,不要同時做;
·簡化開發流程,加快迭代速度;
·紙筆是最好的工具,其次是markdown;
·畫出結果,一目瞭然。
·要學會進行清晰的命名;
·問問題前先調查,要問到點上。
·不要小看程序員
⑤ 老程序員上了年紀都去做什麼了是一般都改行嗎
上了年紀之後還是做程序員,一般不會做的事,也不會改行,因為這是一個技術工種,是屬於活到老學到老做到老的行業,在山東齊魯晚報上有一篇《當程序員老去 再也不相信年齡了》的文章,也許能在這個文章中找到一些問題:
「關於「程序員老去」這個話題,從我開始編寫第一行代碼的時候就有了。那時候我二十郎當歲,正值青春年少,眉宇蒼茫,中年人和老去彷彿是下一個世紀的事情(確實是),遙不可及。我時而在阿爾卑斯山脈編寫代碼,時而去草沿天路調試程序,我覺得世上之事無所不可為。只有那些年近三十的老程序員,聽到這個話題時,才會緊蹙雙眉一言不發,彷彿他們看到了無邊落木和滾滾長江。
很快,我就站到了三十歲的十字路口,望瞭望周圍,其他三個方向都沒有路,只能向前,於是我非常不情願的挪到了35歲這個黃金分隔線上,或者叫程序員的生命線。不知道是哪位大神為我們程序員畫了這么一條線,三百六十行,行行出狀元,為什麼只有程序員才有這條線呢?用 Google 網路一下「程序員 35歲」,盡是「不作35歲的程序員」「技術大齡恐懼症」「35歲後要轉管理」「35歲前程序員要規劃好的 X 件事」這樣聳人聽聞的字眼,一想到自己並沒有規劃過「這些事」,我絕望極了,35歲生日的那一天可能會發生什麼不好的事吧,比如編程、演講、寫作、設計這些技能都會煙消雲算?我可能會跟不上時代的發展?我可能會被解僱吧,我想。
35歲生日過去了,除了收到生日禮物,什麼事都特么沒有發生,我依然活蹦亂跳的編程、演講、寫作和設計產品,一切都變得更好了。
再也不相信年齡了……
回首往事,我發現當年那些對編程充滿激情,對生活滿懷理想的小夥伴,有的變成了某個領域的技術大牛,在做產品的同時忙著佈道演講寫書;有的經營者或大或小的公司,同時還在編寫程序;有的設計出了千萬人使用的軟體產品;有的則轉變成了一個純粹的管理者,經營著上千人的機構。他們都是程序員。
真正有可能晚景凄涼的程序員,是對技術和產品沒有興趣的人,是僅僅把編程當做生活工具的人,是那些不能終身學習的人。開篇的文字,就送給這些人吧,希望他們能夠在40歲以前看到這篇文章。
關於程序員轉行的問題,也是個偽命題。沒有人的職業是一成不變的,今天你在考慮 LVS 要使用 IP 隧道技術還是直接路由,負載調度使用加權輪叫還是最少鏈接,十年後你要做的可能是增加哪些產品特性和閱讀用戶的消費心理。時間會驅動著你去不停的選擇自己的道路。
如果繼續編程能夠最大化你的價值,那就去編程,太多精深和復雜的技術需要長期的積累和實踐才能化繁為簡鬼斧神工,請在技術大神的道路上一路狂飆。
如果設計產品能夠最大化你的價值,那就去設計產品,現代世界已經不再是「美學、藝術」與「電子產品、軟體」毫無關聯的年代了,人們越來越重視產品體驗和藝術美學,如果你懂得產品之美,又能估算這個產品多久能夠開發出來,還懂一些開發細節,不知道能夠虐多少程序員啊,想想這個場景多麼美好。」
參考資料http://www.qlwb.com.cn/2014/1105/242763_3.shtml
⑥ 為什麼很多程序員過了35歲以後就想轉行了呢原因有哪些
專業技能,互聯網技術是一個相對性公平的領域,只需具備技術實力,往深度發展趨勢還有很多機會;人脈關繫纍積,是不是在新領域中積累了一些有效靠譜的人際關系,她們能幫助自己暢順迅速改行;資本積累,巧婦難為無米之炊,假如你想要開個一家火鍋店,轉讓金幾十萬、租金每月2萬或大量,室內裝修二十幾萬,再加上前期運營成本,總要有100萬的存量資金吧。程序猿只需達到專業技能、人脈關繫纍積、資本積累在其中一點,那樣膽大地改行唄,有啥好擔心的,生活有很多也許,不試永遠都不知道自己究竟能走多遠,肯德基的老大爺60幾歲取得成功,35歲實際上是一個如日中天的年紀。
或是戰斗在編號第一線,他們自己也不會覺得自已早已很年紀大了干不動了,關鍵中國it行業的迅速發展,互聯網企業針對人力資源依靠看起來更為突顯,因此互聯網企業的程序員薪資相對性傳統產業高些,但互聯網企業的加班也是很瘋狂的,競爭力都是十分猛烈,因此年齡大點在時間精力上或是是多少會有點兒危害,並且許多互聯網企業早期為了能趕進度弄了許多水準很強的專業技術人員,在商品做的類似以後,因為降低支出會慢慢用新手來代替,在一定程度上面導致老程序員工作壓力擴大。
⑦ 2000年的程序員技術水平高嗎
這么說吧,2000年的時候,北京一個程序員年薪大概是5萬人民幣,而美國一個程序員的年薪是80萬人民幣。所以這樣水平的程序員年薪從5萬漲到了大到40萬人民幣。所以如果過去,每個月背著4000塊錢的房貸很困難的家庭,(夫妻雙方大概月薪七八千。)現在每個月還4000塊錢,真是太輕鬆了。原因主要是收入的快速上漲。
今後如果再漲到320萬的可能性有多大?如果匯率不變的話。也就是今後漲到45萬美元年薪的可能性有多大?
⑧ 程序員要具備什麼技能
一名合格的程序員需要掌握哪些技能呢?
熟練掌握開發工具
做為一名程序員至少熟練掌握兩到三種開發工具的使用,這是程序員的立身之本,其中C/C++和JAVA是重點推薦的開發工具,C/C++以其高效率和高度的靈活性成為開發工具中的利器,很多系統級的軟體還是用C/C編寫。而JAVA的跨平台和與WEB很好的結合是JAVA的優勢所在,而JAVA即其相關的技術集JAVA One很可能會成為未來的主流開發工具之一。其次,能掌握一種簡便的可視化開發工具,如VB,PowerBuilder,Delphi,C Builder,則更好,這些開發工具減小了開發難度,並能夠強化程序員對象模型的概念。另外,需要掌握基本的腳本語言,如shell,perl等,至少能讀懂這些腳本代碼。
熟知資料庫
為什麼資料庫是如此重要?作為程序員,他們自然有自己的理由:很多應用程序都是以資料庫的數據為中心,而資料庫的產品也有不少,其中關系型資料庫仍是主流形式,所以程序員至少熟練掌握一兩種資料庫,對關系型資料庫的關鍵元素要非常清楚,要熟練掌握SQL的基本語法。雖然很多資料庫產品提供了可視化的資料庫管理工具,但SQL是基礎,是通用的資料庫操作方法。如果沒有機會接觸商業資料庫系統,可以使用免費的資料庫產品是一個不錯的選擇,如mySQL, Postgres等。
對操作系統有一定的了解
當前主流的操作系統是Windows,Linux/Unix,熟練地使用這些操作系統是必須的,但只有這些還遠遠不夠。要想成為一個真正的編程高手,需要深入了解操作系統,了解它的內存管理機制、進程/線程調度、信號、內核對象、系統調用、協議棧實現等。Linux作為開發源碼的操作系統,是一個很好的學習平台,Linux幾乎具備了所有現代操作系統的特徵。雖然Windows系統的內核實現機制的資料較少,但通過互聯網還是能獲取不少資料。只有對操作系統有一定的了解後,你會發現自己上了一個新的台階。
懂得網路協議TCP/IP
在互聯網如此普及的今天,如果您還沒有對互聯網的支撐協議TCP/IP協議棧有很好的掌握,就需要迅速補上這一課,網路技術已改變了軟體運行的模式,從最早的客戶/伺服器結構,到今天的WEB Services,再到未來的網格計算,這一切都離不開以TCP/IP協議棧為基礎的網路協議支持,所以,深入掌握TCP/IP協議是非常必要的。至少,你需要了解ISO七層協議模型,IP/UDP/TCP/HTTP等常用協議的原理和三次握手機制。
明白DCOM/CORBA/XML/WEB Services存在的意義
隨著技術的發展,軟體與網路的無縫結合是必然趨勢,軟體系統的位置無關性是未來計算模式的重要特徵之一,DCOM/CORBA是當前兩大主流的分布計算的中間平台,DCOM是微軟COM(組件對象模型)的擴展,而CORBA是OMG支持的規范。程序員需要做的不僅僅是利用商業的開發平台來開發軟體,而是要理解這些技術的初衷,即為什麼需要這項技術,如果你能理解了這一點,再回頭看這些技術的具體實現,就如庖丁解牛,迎刃而解。XML/WebServices重要性不言而喻,XML以其結構化的表示方法和超強的表達能力被喻為互聯網上的「世界語」,是分布計算的基石之一。
不要將軟體工程與CMM分開
現代大型軟體系統的開發中,工程化的開發控製取代個人英雄主義,成為軟體系統成功的保證,一個編程高手並不一定是一個優秀的程序員,一個優秀的程序員是將出色的編程能力和開發技巧同嚴格的軟體工程思想有機結合,編程只是軟體生命周期中的其中一環,優秀的程序員應該掌握軟體開發各個階段的基本技能,如市場分析,可行性分析,需求分析,結構設計,詳細設計,軟體測試等。一句話可以概括我的看法:「創意無限,流程保證」。
擁有強烈的好奇心
什麼才是一個程序員的終極武器呢,那就是強烈的好奇心和學習精神。沒有比強烈的好奇心和學習精神更好的武器了,它是程序員們永攀高峰的源泉和動力所在。
⑨ 為什麼老程序員的效率如此高
程序員老師傅的解決問題能力要比初級甚至是普通的程序員都要高出很多倍,所以每個軟體公司都會在保留1,2個經驗豐富的資深級軟體工程師,這樣在遇到項目或者產品難點的時候能夠力挽狂瀾,這種水準的程序員也是很多公司追求的對象,而且和年齡沒有太直接的關系,編程最終的就是給出解決問題的方案,從解決問題的角度出發解決方案還是非常多,但是在不同的人會給出不同的解決方案,但是有經驗的程序員在解決問題的時候就會思考的比較多,不容易導致引入新的問題。
編程能力最直接的表現不是寫代碼的能力,因為隨著時間的推移時間積累夠了代碼能力自然就上去了,很多程序員在工作多年之後雖然代碼能力得到極大的提升,但是還是不具備獨立的框架或者功能復雜的模塊設計能力,所以很多人在工作多年之後工資一直不能得到上漲,這是主要原因編程的關鍵還是思路問題,關鍵點還是在於有正確的解決問題的思路,思路的切實性是需要經過項目實戰的積累。
所以優秀的程序員一定是身經百戰的經歷過項目的洗禮,只有經歷過項目才能真正意義上懂得編程是怎麼回事,而且每次經歷的項目都能夠獲取足夠多的營養出來,越是優秀的程序員經歷過項目之後知識體系構建越是完善,越是老程序員越是覺得程序深奧之初,所以老程序員輕易不動手都會思前想後把事情搞明白之後才去真正動手,所以講老程序員真正動手寫代碼的時間還是非常短,大部分的時間都是在構思其可行性,真正動手的時間會非常短所以大家看到老程序員大部分的時間都是在看代碼或者看一些資料,甚至有些人很少看到老程序員在大塊的時間寫代碼。
越是老程序員對於編程語法看的越是淡薄,編程語言到了一定層面就是工具般的存在,就是為了編程思想服務,如果還在為了編程功能實現代碼而煩惱證明了還在初級的學習階段,度過了這個階段之後就要考慮如何駕馭架構以及如何錘煉自己的編程思想了,編程的學習過程是需要循序漸進的不要覺得距離自己老程序員有非常遙遠的距離,從開始入行就要慢慢去積累不斷打磨自己的思想,希望能幫到你。
25年老程序員,20年CTO,來解答一下:
1、經驗、教訓使然,所謂虧吃多了,也就不吃虧了。
2、長久工作,養成了一定良好的習慣。
3、代碼量到一定程度,自然而然會更熟練。
4、一些非技術的經驗知識,還是需要時間來積累。
5、老程序員的思維經過多年的訓練,更有利於直達本質。
6、他們的方案可行性更高,這樣減少返工。
7、代碼質量高,測試通過率高,考慮的因素更周全。
8、代碼改起來更容易,找問題也相對容易。
9、對任務的理解更全面,能夠從更多的角度去設計程序,權衡效率、速度、性能、擴展性等各方面的因素。
10、也不是所有的老程序員都能這樣,這個還是跟這人的學習能力有關系,所以大家是能3年變成老程序員,還是10年,就看自己的個人努力了。
在IT編程開發的過程中,老程序員開發的效率會非常高。比如:一個網站模板,新程序員可能要花上一個星期的時間才可以完成,而老程序員卻可能只需要1-2天就可以做好。這是為什麼?莫非他們天生就有神相助。非也,這所以會這樣,據我分析,主要有以下幾點。
因為長期的編寫代碼,所以,會碰到非常多的問題,然後就會去解決這些問題,這就讓老程序員有了豐富的實戰經驗。反觀新程序員,碰到一個問題,因為以前沒碰到過,所以要花大量時間去解決。而老程序員碰到問題,因為以前解決過,所以,很快就會弄好。
在IT編程中,很多的代碼都是可以用來搬運的。因為長期的工作,老程序員會把一些功能代碼記錄或儲存下來,以備後期使用。也就是說,他們就像記筆記一樣,把一些功能代碼記下來,以備不時之需。所以,在新的編程中需要用到時,他們就可以直接拿來就用,自然效率就高,開發就快。
老程序員在編寫代碼時,一般都會對代碼的規范和格式比較重視,使用代碼清晰有條理,閱讀代碼時就不費力氣,而且還會做好每個功能代碼的注釋。這樣,不管是對現有開發,還是對後期維護,都是非常有利的。如有代碼出現bug,可以很容易地找到,這同樣節省了大量的時間。
老程序員在編寫代碼時,會先從大處著手,把大的框架給弄好,然後,再對整個編程的細節有針對性地編寫。這就好比開發一個高樓大廈,開發商會先把主體框架搭建好,然後,再一層一層地去弄每一層樓的細節。這樣,往往目標會更加清晰,只要按步就班地執行計劃,就可以很快完工。
熟能生巧
為什麼老程序員的效率如此高?
首先, 敲代碼的效率 != 工作效率
並不是老程序員效率就高,而是程序員要提高效率需要一些方法,這些 方法的學習和掌握需要一定的時間 ,結果就是老程序員的效率會相對要高一些。
所使用的編程語言的熟練程度我經常會看到一些新手程序員在寫代碼的時候需要頻繁的去查看文檔或者是網路搜索各種介面的用法,有時寫一個功能要查個幾十次,很多時間都浪費在了搜索上,真的寫代碼的時間很少。
而一個在這門語言浸淫了幾年甚至是十幾年的程序員,對這些介面瞭若指掌,使用的時候信手拈來,還知道介面裡面的實現機制,可能會碰到哪些坑也一清二楚,減少了很多bug的出現。
你是不是有把那些介面拿出來反復琢磨,去研究它的源碼,認真地了解它呢?
對編程工具的掌握程度工欲善其事,必先利其器。
一個好的編程工具有很多可以幫助程序員減少工作量的功能,比如代碼重構、自動格式化、語法檢查、代碼提示和補完等等,掌握這些也能大大提高開發效率。
隨著IDE的發展和進步,現在很多工具都不需要太復雜的學習就可以操作,所以這個是一個投入小而回報很高的事。
業務需求的熟悉程度代碼是為業務服務的,我們首先得理清楚業務邏輯,才能知道要怎麼寫代碼,而新手對業務不熟悉的時候,光是弄明白業務需求是什麼可能都需要不少時間,有時候還可能會錯誤理解需求,導致寫出的代碼文不對題,只能重寫。
所以多思考,多問,多討論,不會花太多時間卻會減少很多時間的浪費。
調試的效率寫出來的代碼還需要經過測試,如果有bug就需要調試了。
很多新手只重視寫代碼的工作,對於怎麼調試卻忽略了,有的人甚至只會使用列印功能一步步通過排查找bug,並且對寫出來的代碼沒有概念,連bug大概可能在什麼地方也不清楚。
老練的程序員不只是靠列印,有時候只看報錯信息就能知道bug大概在什麼位置,配合上列印還有斷點功能很快就可以找到bug的位置,更不要說他們很清楚怎麼寫出容易調試的代碼。他們會在寫代碼的時候就對可能出問題的邊界條件進行檢查,並且會利用自動化測試來減少工作量。
寫代碼之前的構思新手很容易犯的一個錯誤就是拿到功能需求馬上就開始寫代碼,可能寫到一半會發現前面的代碼有問題需要推翻重來,或者是寫錯了方向。
老程序員寫代碼之前會先進行構思,把功能需求拆解,分成不同的小模塊,甚至會在紙上把這些想法畫下來,基本上在這一步就把問題已經解決了,寫代碼只是把解決方案用代碼表達出來而已。
所以,如果你也想做一個十倍程序員,記得不要只是埋頭寫代碼,還要刻意去練習這些提高效率的好方法!
在寫代碼前,代碼差不多已經刻在腦子里了,寫代碼的時候,總覺得雙手敲鍵盤的速度趕不上腦子的速度,寫出的代碼幾乎不需要調試,你說效率高不高?
因為老程序員經歷多了,一些常規性的BUG基本不會出現,對用戶需求也能做到最大的完善,還有對需求增加和修改有個大概了解,會提前預留介面和模塊,還有對用戶的硬體有了解,在程序上會有相對優化。所以老程序員寫的程序不一定美觀,也不一定最簡化,但是可能是最合適的,可惜中國的程序員剛成熟就要面臨失業。年輕的程序員啥都不懂,片面追求性能,美觀簡潔的程序,在兼容性和實用性上大打折扣,不顧用戶的使用情況和硬體情況,項目一上線問題多。
老程序員分為兩種,一種是年紀老,常常被換做「老X」,一種是能力老,常被人換做「x老師」。
老程序員之所以效率高,離不開幾點:
程序員是一份高強度的腦力工作,能成為老程序員者,智力,體力無一不是同齡人中佼佼者。能夠更加效率的工作自然是理所應當,方符合家有一老,如有一寶的普世價值。
祝廣大碼農早日修煉成為這樣的老程序員。
老程序員,碼代碼速度並不見得比年輕人快。但老程序再面對需求時,能很快抓住技術關鍵點,難點,重點,如何突破都瞭然於胸。當出現問題,老程序員有經過實踐的診斷定位排錯的邏輯思路與手段 。其實這些熟能生巧是一方面,學習與實踐 領悟是另外的方面。年輕人觀察能力強 悟性高,也會青出於藍
老成員就是圖書館,硬碟存滿了各種經過調試且運行過的程序,只需要復制粘貼,效率肯定高
⑩ 作為高齡的程序員,跟同行人還有競爭優勢嗎
本文會給你一些Java工程師職業發展規劃的思考,也給很多二三十歲對職業前途迷茫的同學一些建議。希望通過這篇文章,能幫你梳理一下程序員,讓你知道如何規劃我們的程序員,從20歲初出茅廬到40歲老碼農的半條命。
首先我們來看看a 程序員三四十歲的時候有什麼可以捍衛我們的核心競爭力。要理解這個問題,就要從反面來看。在職業發展過程中程序員犯過哪些錯誤,導致他們在職業生涯中後期缺乏競爭力?
適合老年人的幾種職業發展途徑程序員看了以上內容,大家都知道問題所在,接下來我們來討論一下:什麼樣的老年人程序員能被各種30多歲甚至40多歲的公司青睞?
(1)成為技術大牛,掌握公司核心技術
第一種方式是掌握自己行業的各種技術,即使離開這家公司,也是其他公司的對象。我舉個例子。比如你一直在互聯網行業工作,負責並經歷過很多大型互聯網公司的核心系統架構設計。對於一個互聯網系統,如果你想支持1億用戶,有什麼技術挑戰,如何設計,你都經歷過這些過程。如何支持每秒10萬個並發請求,如何設計系統支持數百億的數據存儲。你知道這一切。那麼這個時候,你就有了核心技術。
即使你現在的公司不要你,你也會被其他公司完全爭奪,因為很多公司需要大規模系統、高並發經驗、海量數據經驗的架構師。
一千人的部隊很容易得到,但一個人很難找到。很容易招到很多工資20-30 K的高級工程師,把一個模塊做好。但是很難招聘到一個能掌控全局,在貴公司掌握復雜大系統的資深架構師。這樣的人很有價值,很多公司都需要。
這個時候你雖然三十多歲了,但是因為你有核心的技術能力和核心的結構能力,你是公司技術的最後一道防線,很多崗位對你來說都是不可或缺的。再舉個例子,比如大數據領域。現在你已經工作了10多年,有了深厚的技術基礎,可以完全優化大數據領域的各種系統,比如hadoop、spark、hbase、kylin、elasticsearch等等。遇到問題可以從源代碼層面推斷解決,可以修改開源項目的源代碼進行二次開發。
那麼這個時候,你就有了核心技術。未來大數據會發展得越來越好,因為各個行業都有大量的數據,很多公司需要最好的專家來解決自己的大數據問題。所以,即使你已經40歲了,但是你已經積累了多年的核心技術能力,任何一家公司都需要一個像你這樣的頂尖牛人來坐鎮,解決各種技術難題。
所以如果想往這個方向走,建議一定要從20多歲開始規劃自己的技術學習和職業發展。大家一定要想好自己想學什麼技術,想學多深,想在什麼樣的公司積累經驗,腳踏實地的走好每一步。到你三四十歲的時候,雖然年紀大了,但是已經積累了足夠的技術能力,你的核心技術會像「九陽沈工」一樣保護你的身體,讓你留在職場,保持熱度。
(2)深入業務,成為業務領域的專家型人物
第二條路線,可以考慮成為某個業務領域的專家。你可以在一些業務絕對難且深、業務極其復雜、行業持續發展、業務領域的知識持續保值的領域進行深度挖掘。比如電信、金融、銀行、保險、金融、ERP等等。在這些領域的公司里,你不僅可以做技術工作,還可以注意積累這方面的業務知識。就像電信系統和ERP系統一樣,業務極其復雜,包含了很多東西。如果能持之以恆,深入挖掘各種商業知識和商業體系,成為這方面的商業專家也是很有價值的。為什麼這么說?因為對於很多特定的行業來說,沒有高水平的技術是可以做出一個系統的,但是最好的業務專家對其進行控制是絕對必要的,這樣才能設計出一個與特定行業相對應、業務極其復雜的系統。所以很多同學,如果走傳統行業的系統發展方向,可以考慮多關注業務積累,將來成為頂尖的業務專家。這樣,即使你40歲了,行業也需要一個像你這樣的「老專家」繼續支撐公司的業務發展。
(3)帶領團隊:踏上技術管理之路
另一種方式是走技術管理的道路,相信大家都懂。作為任何公司的老闆,他都需要技術經理,技術經理需要懂技術,但不是特別精通,但必須有很強的團隊管理能力。作為團隊經理,你需要有駕馭公司大技術方向的能力,有足夠的行業人脈和資源去招募和組建合適的技術團隊。另外,你應該能夠制定出技術團隊的工作流程和規范,在團隊之間定義和分配責任,讓每個團隊能夠有效合作,最終成功支持公司的業務發展。這個管理就兩個字,其實背後的知識很棒。要把幾十個甚至幾百個不同的人擰成一根繩子,保持強大的戰鬥力,做好公司的配套工作。其實這里很難,考驗一個管理者的水平。如果可以從幾個人的小主管,到幾十人的技術負責人,再到幾百人的高級技術經理。
如果你能朝這個方向發展,其實到了40歲,你就會有相應的競爭力,因為很多老闆需要你豐富的技術管理經驗來掌控公司的技術團隊。當然,說實話,真正能做好技術管理的人很少。尤其是我們有技術背景的學生,普遍比較內向害羞,不太會交際。所以對於大多數普通工程師來說,個人還是推薦技術專家或者業務專家以上的路線,機會比較多,更適合大多數人。
(4)轉換其他崗位或行業
如果有人說,我對技術沒那麼熱情,想當專家,又討厭整天在業務上工作,沒有做技術經理的天賦,怎麼辦?然後30多歲的時候可以考慮寫代碼,做點別的。比如考慮轉型為產品經理?考慮做互聯網運營?還是考慮做軟體銷售?也就是說,你可以考慮考上一定的技術背景,轉型到技術行業的其他崗位,在其他崗位積累經驗,成為一個不可或缺的人。更何況在北上廣工作了10年,積累了一定的資金,在老家買了房子,然後回老家做生意,比如開餐館什麼的。這也是一種方式,只是這個因人而異。畢竟每個人的網路資源都不一樣。
總結
最後一句總結:無論選擇哪種方式,首先要想清楚自己想成為什麼樣的人。你需要仔細想想,有了10年以上的工作經驗,你會積累哪些核心競爭優勢。然後仔細考慮這些優勢是否是剛畢業的年輕人絕對不可替代的,其他公司的高級職位是否一定有你這樣的人。把這些事情考慮清楚,剩下的就是繼續朝著自己的目標前進。在此期間,你可能會感到困惑,甚至懷疑最初的決定。但還是那句話:相信自己,不要忘記自己的主動心態,用眼淚完成自己選擇的路!我最不想看到的就是,30多歲的我,只能「用」各種技術,十幾二十種技術,什麼都能用。但是沒有技術深度,沒有競爭力,只是一些使用上的經驗。
如果是這樣的話,剛畢業的年輕人可能在一到兩年內學會如何使用這些技術,也許在關鍵時刻可以取代你。這些傢伙只是沒有經驗,但是他們可以加班來彌補,而且他們要求的工資比你低很多。希望每一個程序員兄弟都有美好的未來和生活。程序員這條路充滿了困難、障礙和挑戰。但它也充滿機遇,需要不斷的學習和進步。最後引用最近很火的電影《哪吒》的台詞來結束全文:我的命運由我決定!