A. 程序員35歲後,應該做什麼
在打工的生涯中,我從一個小程序員走到了公司總監,在創業的生涯中,我從一個人單槍匹馬做到了幾十人的IT公司。活在這個圈中,每天面對著那些可愛的IT人,我不得不編造各種謊言,不斷給他們希望,卻讓他們不斷的在希望中走向失望。
我見過很多老程序員,甚至比我還老。他們曾經創造了令人驕傲的業績,那是在當他們年輕的時候。在中國,程序員的大限是28歲。看看今天的他們吧,掛在臉上的是那無法掩飾的焦慮和孤獨寂寞的迷茫。很多老程產生了種種生存的障礙,他們說著刻板的話,似乎是由程序語言結合人類文字誕生的新型語言;他們渴望和別人接觸,而他們的孤獨令所有人遠離;他們經常回憶起當年的輝煌,臉上充滿著興奮的色彩,就象吸了毒的人在巔峰徘徊。當他們回到現實,你卻能發現他們臉上那無奈慘白。他們越來越感到壓力,他們越來越發現精力不濟,他們越來越感到迷茫,不寫程序,他們還能做什麼?學習的壓力、生活的壓力、前途渺茫的壓力,把他們從陽光燦爛的臉壓成了一張張灰色的,扭曲的,無奈的和迷茫的臉。這就是程序員的悲哀。
老程序員面對著兩個選擇,要麼轉型,要麼退出這個圈子。於是可愛的IT人開始了第一次分流,他們大多處在26-28歲之間。經過放棄的痛苦和不斷的努力,他們中的很少的一部分人留了下來,繼續耕耘在這片中國IT貧瘠的土地上。能夠留下來的是那些語言功能尚未退化的人,他們不但還保留著技術的殘跡,同時他們迅速練就了聽說讀寫的能力,於是他們成為了IT公司的中流砥柱,他們通常充當著顧問、經理等重要的職位。他們也分為兩種人,一種人繼續耕耘在技術的領域中,一種人分流到了純粹業務的領域中。由於技術的封閉性,導致那些繼續從事技術領導的人逐漸產生了更大的壓力,他們在技術的漩渦中被更深的卷了進去。而那些從事業務的人,逐漸從技術的漩渦中解脫出來,步入了正常人的生活圈子。從事技術的人,無論他們從事哪種技術,在中國,他們的上限最高也就是32歲。從事業務的人,無論他們從事哪種業務,他們幾乎都沒有了上限。可以說,選擇技術的人,他們是勇敢的,無論是盲目的勇敢還是理性的勇敢,他們都將陷入更深的泥潭,面對他們,我只能敬佩的說,他們才是真正的IT人。
在中國,他們的悲劇是早就註定了的。中國的IT業是在一窮二白的基礎上來追趕第一世界的,在這個過程中,國家的投入可謂微不足道。
在這8年中,我看到了很多IT人的命運,最好的命運是出國繼續搞IT,最差的命運是消失。轉了行的人,從此在IT界消失了,幾年之後他們幾乎不會留下任何痕跡,他們的代碼早就過時了,他們的思想早就隨著程序的刪除而被永遠的刪除了。
B. 大齡程序員的優勢有哪些
知乎上關於程序員35歲之後的討論達數萬條,其中有一個回答是大齡程序員大部分人遇到的情況:
1、明顯感覺腦力跟不上了。
2、記性力沒有以前好了。
3、體力也沒有以前好了。
4、有了家庭和小孩,投入學習新技術的時間不夠用。
隨著互聯網的高速發展,大公司追求團隊年輕化,BAT及一線互聯網公司基本上從校招開始培養人才,基本上大公司對外招聘要求要達到阿里P7,創業公司招聘程序員普遍要求年齡30以下,架構師或技術主管年齡不得超過35歲;
甚至有些公司招聘技術總監年齡不能超過35歲。
小長假我們聊了上百個35歲之後的程序員,對於35歲之後,能做什麼?
通過聊天,發現那些自信的程序員,認為35歲之後不是什麼難題,可以選擇創業,可以選擇在大公司做管理,也可以繼續做資深開發,我們也遇到過很多大齡程序員,長時間呆在傳統型的互聯網公司或國企、外包性質項目的,由於使用的框架和技術比較老舊,雖然他們對新技術也有所了解,卻因為種種原因沒有落地執行,這類的程序員很難與目前高速發展移動互聯網方向匹配。
我們團隊顧問,有在BAT從事10年以上招聘經驗的,有在一線,二線及創業公司從事5年以上招聘經驗的,我們通過經驗的總結,在北京、上海、廣深、杭州,互聯網公司基本上是年輕人的天下,我們每天接觸大量的簡歷和人選,面對數百家公司的招聘需求,通過大量數據分析,很多在26-30年齡段的年輕程序員的月薪,遠超過35歲左右大齡程序員的收入,通過很多案例,我們得出月薪高的年輕程序具備以下幾點:
1、對新技術保持熱情和追求,對項目需要的新技術,能在短期內掌握和應用,對項目暫時不需要的技術,也能有所熟悉和了解。
2、不計較並主動付出,用朋友圈的一個P8的話來說,你手上的項目已經很忙了,突然部門有新的任務,你能主動承擔並做得很好。
3、能獨擋一面,並能主導和推動項目。
4、延展性和系統性,不但對本項目很了解,並能對項目周邊很熟悉,並對項目有一定的預見性,做到代碼和業務一樣牛逼。
5、善於總結和輸出,對項目定期總結和復盤,並形成有價值的文檔,供內部學習。
年輕程序員的優勢在於年輕和激情,大齡程序員的優勢在於閱歷和經驗。
時刻與行業保持前進發展,更新自身的技術,這個是必要條件,至於35歲之後,能做什麼,如某程序員說的那樣,這個問題應該在30歲之前就應該規劃清楚。
C. 程序員的十種級別
第一級:神人,天資過人而又是技術狂熱者同時還擁有過人的商業頭腦,高瞻遠矚,技術過人,大器也。如丁磊,
求伯君。
第二級:高人,有天賦,技術過人但沒有過人的商業頭腦,通常此類人不是頂尖黑客就是技術總監之流。
第三級:牛人,技術精湛,熟悉行業知識,敢於創新,有自己的公司和軟體產品。
第四級:工頭,技術精湛,有領導團隊的能力,此類人大公司項目經理居多。
第五級:技術工人,技術精湛,熟悉行業知識但領導能力欠加,此類人大多為系分人員或資深程序員,基本
上桀驁不遜,自視清高,不願於一般技術人員為伍,在論壇上基本以高手面目出現。
第六級:熟練工人,技術有廣度無深度,喜歡鑽研但淺嘗輒止。此類人大多為老程序員,其中一部分喜歡利用工
具去查找網上有漏洞的伺服器,干點壞事以獲取成績感。如果心情好,在論壇上他們會回答菜鳥的大部
分問題。此級別為軟體業苦力的重要組成部分。
第七級:工人,某些技術較熟練但缺乏深度和廣度,此類人大多為程序員級別,經常在論壇上提問偶爾也回答菜
鳥的問題。為軟體產業苦力的主要組成部分。
第八級:菜鳥,入門時間不長,在論壇上會反復提問很初級的問題,有一種唐僧的精神。雖然招人煩但基本很可
愛。只要認真鑽研,一兩年後就能升級到上一層。
第九級:大忽悠,利用中國教育的弊病,頂著一頂高學歷的帽子,在小公司里混個軟體部經理,設計不行,代碼
不行,只會胡亂支配下屬,拍領導馬屁,在領導面前胡吹海侃,把自己打扮成技術高手的模樣。把勾心
斗角的辦公室文化引入技術部門,實在齷齪!
第十級:驢或傻X,會寫SELECT語句就說自己精通ORALCE,連寄存器有幾種都不知道就說自己懂匯編,建議全部
送到日本當IT產業工人,掙了日本人的錢還嚴重打擊日本的軟體業!
D. 為什麼老程序員的效率如此高
程序員老師傅的解決問題能力要比初級甚至是普通的程序員都要高出很多倍,所以每個軟體公司都會在保留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老師」。
老程序員之所以效率高,離不開幾點:
程序員是一份高強度的腦力工作,能成為老程序員者,智力,體力無一不是同齡人中佼佼者。能夠更加效率的工作自然是理所應當,方符合家有一老,如有一寶的普世價值。
祝廣大碼農早日修煉成為這樣的老程序員。
老程序員,碼代碼速度並不見得比年輕人快。但老程序再面對需求時,能很快抓住技術關鍵點,難點,重點,如何突破都瞭然於胸。當出現問題,老程序員有經過實踐的診斷定位排錯的邏輯思路與手段 。其實這些熟能生巧是一方面,學習與實踐 領悟是另外的方面。年輕人觀察能力強 悟性高,也會青出於藍
老成員就是圖書館,硬碟存滿了各種經過調試且運行過的程序,只需要復制粘貼,效率肯定高
E. 人群中如何一眼認出資深程序員
程序員其實離我們並不遙遠,很多時候就在我們的身邊,只不過我們不能夠一眼認出他們而已。因為他們在工作之餘,也和我們普通人一樣,穿著同樣的衣服,與路人毫無區別。但就我在互聯網公司的觀察來看,如果我們想要在人群中,一眼便認出程序員,可以通過以下幾種方法:
三、擁有著明顯的少白頭程序員很多時候因為項目進度,會沒日沒夜的加班,而且長期的寫程序,也會加速他們腦細胞的死亡。就我身邊的程序員同學來講,就有很多擁有少白頭的情況。
他們平均每個月都需要去理發店一次,將自己的頭發染成黑色,以免影響到自己年輕、帥氣的形象。
以上三點就是我個人對於程序員的區別方法,這個方法也不能夠很好地分辨程序員。因為現在的程序員,也非常的潮流,而且完全顛覆了我們對於傳統程序員的印象。