高級程序員比碼農到底強在哪裏?

說起程序員人們的第一印象就是工資高、加班兇、話少錢多頭髮少,再加上現在互聯網公司太吃香,BAT、華爲、小米等公司程序員加班情況衆所周知,程序員用生命在敲代碼的印象刻在了很多人的心裏。

與其他行業一樣,雖然都是敲代碼,但也有高級和普通之分,大牛程序員,一個人比一個團隊做項目都做得快。最爲出名的當屬十幾年前求伯君在做wps時,一個人完成了微軟二十人團隊沒有完成的項目需求,也讓wps在與微軟的競爭中站穩了腳跟。程序員的能力差距真的比貧富的差距還要大。


普通程序員和高級程序員的區別:


普通程序員:

1、知識體系零散,沒有系統性的思維,在寫代碼、改bug的時候沒有工程素養,往往是拆了東牆補西牆。

2、對某種語言的依賴性太強,知識無法很好地遷移,一旦換了語言或者領域不同就會不知所措。

3、經驗不足卻自認爲自己經驗豐富,只對自己做過的比較順手,但是碰到未知的問題,就束手無策。

高級程序員:

1、知識體系完整,有系統性的思維,即使沒有到架構師的級別,在寫代碼和改bug的時候也能從整體上去思考和把握。

2、學習能力強有了自己的心智模型,知識可以自由遷移,並可以高效地切入不同的領域和語言。

3、擁有真正的經驗,不只是做夠那些項目,而是面向未知的解決問題的能力。

能力不缺的前提下,主要的區別就是抓不到問題的本質。普通程序員多半是直線型思維,見招拆招,幹得多,想得少,接到一個項目就開始噼裏啪啦敲代碼,不想就在電腦上敲上include ,一天敲個幾千行;而高級程序員更擅長抓住問題的本質,將看似複雜的需求化爲一系列簡單邏輯的堆疊,寫代碼步步爲營,邏輯簡單清晰,所有條件分支都被仔細覆蓋。

簡單來說,同樣是一個項目需求,普通程序員可能要天天加班忙上一個月,而高級程序員可以每天按時下班,幾天就搞定。這也是爲什麼會出現“月薪五千的程序員天天加班到夜裏,月薪五萬的程序員5點下班”的尷尬情況。公司追求的是利潤而不是努力,誰創造的多當然拿到的就多。


那麼如何才能從普通程序員進階到高級程序員呢?


1、提高代碼優化的能力:“代碼可運行”對一個優秀的程序員來說絕不是結束,而是開始。優秀的程序員一定熟知各種算法和數據結構,會靈活運用,致力於寫出更簡單、效率更高的程序。

2、先考慮、多思考:編程思路,是系統的計劃和設想,是程序員寫程序時的條理和線索。

其實成長爲高級程序員並沒有想象的那麼難,但是要看你是在什麼公司成長。我見過一個小企業的程序員,工作五年了,但是感覺真實水平就只有剛工作兩三年這樣的級別,其實能否成長爲高級程序員跟機遇有很大關係。比如一個程序員,各方面能力都不錯,但是公司並沒有給他這個機會去向高級程序員進階,因爲之前的項目負責人還在他就沒有機會,這就是現實!

針對以上問題,其實更多的是技術方面的東西,我自己收集整理了一套Java架構方面的路線圖,分享給目前工作2~5年左右的Java程序員們,可以梳理一下自己的技術,這些東西可能你們平時在工作中接觸過,但是缺少全面系統的學習,所以掌握的都不深,希望看了路線圖以後大家知道從哪裏開始入手學習。

除了這份路線圖,還收集了一些關於Java高併發、分佈式、JVM、spring源碼分析等相關的技術資料一併分享在我的Java後端技術羣:819940388。

隨着IT培訓業的持續發展和大量的應屆畢業生進入社會,Java程序員面臨的競爭壓力越來越大。那麼,作爲一名Java程序員,怎樣努力才能快速成長爲一名高級的程序員或者架構師,或者說一名優秀的高級架構師應該有怎樣的技術知識體系,這不僅是一個剛剛踏入職場的初級程序員,也是工作三五年之後開始迷茫的老程序員,都必須要面對和想明白的問題。大家可以通過掃碼進羣下載資料,其實我自己也比較喜歡技術,羣裏有一些阿里大牛,也有一線互聯網的資深HR,最近在面試的朋友或者在找工作的可以進來看看哦!

原文出處:http://mp.toutiao.com/preview_article/?pgc_id=6616655288990695944

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章