精英程序員跟普通程序員區別在哪裡?應該如何針對性的提高自己?

半城煙沙斷橋雪


大家好,我從事嵌入式軟件開發十多年,歡迎關注和交流。



精英程序員和普通程序員,最大的差別是思維方式與工作方法。

普通程序員碼字是邊寫邊想,主要是想著怎麼實現功能實現需求。遇到問題時,一上來就想著怎麼解決,習慣用試一試的辦法。普通程序員以自我為中心,很容易對其他人的方案視而不見,見而不理,理而不懂。

精英程序員在碼字之前,會把需求吃透,把功能模塊化,預想可能會出現的各種情況,以及採取哪些方法來解決。碼字有框架性,模塊性,健壯性,可擴展性性。遇到問題時,復現現象,定位問題,解決問題,驗證問題。其中解決問題又細分為抽象本質,多種解決方案對比擇優,如何實施或實現。



精英程序員在碼字時,就自覺地分析代碼,讓代碼在大腦中試跑,能扼殺許多編程錯誤和邏輯錯誤。普通程序員一心只想著快點碼完,儘快調試,儘快提交。

精英程序員善於使用輔助工具,如果沒有,則會自己寫工具。普通程序員總是在無路可試時才想起是否有鋪助工具,如果沒有或者用得不習慣,就算了。



精英程序員事半功倍,普通程序員事倍功半。但誰也不是天生的精英程序員,都是從普通程序員成長起來的。普通程序員如何有針對性的成長呢?根據經驗,我試著給一些建議:

1.勤奮好學,多練多想多總結多反思。

2.藉助技術論壇,開源代碼,經典書籍來豐富知識。

3.多請教行業前輩,至少多看多分析前輩代碼,尤其是精英們的代碼。

4.以工作中的業務知識為中心,從廣度和深度兩方面來不斷的拓展深挖。



最後,祝各位都能成為精英,謝謝大家。


宏思微想


我帶軟件研發團隊多年,遇到過不少職業素養和工作能力都非常優秀的程序員,所以我來回答一下這個問題。

精英程序員往往具備以下特點:

第一,解決問題的能力非常強。在軟件開發的過程中難免會遇到一些技術邊界的問題,這個時候能力強的程序員就會凸顯出來。普通功能的開發並不能凸顯能力強的程序員,但是到難點、關鍵點時,精英程序員的價值就體現出來了。

第二,學習能力非常強。程序員的工作特點決定了程序員需要不斷學習新技術,精英程序員往往具有非常強的學習能力。我帶過一個程序員,從學習一個新技術到完成項目開發用了短短2個月的時間,普通程序員往往需要3個月的學習時間,差距明顯。

第三,溝通能力強。其實溝通問題是與程序員合作的一個大問題,解決好了與程序員的溝通問題,其實就能解決軟件開發中的大多數問題。溝通能力強的背後是理解能力強,沒有理解力當然也就無法形成有效溝通。有一次我們團隊在做一個金融方面的項目,當需求人員描述完規則之後,有的程序員馬上就能理解,而有的程序員卻完全不理解,這也是差距。

第四,具備良好的職業素養。職業素養是衡量一個職場人的綜合素質,從工作能力、工作態度、敬業精神、團隊協作等多維度來進行考量,精英程序員往往都具有非常好的職業素養。作為一名程序員來說,不給別人找麻煩就是一個基本的要求。

其實,精英程序員是可以培養的,並不是所有的程序員剛開始工作就是精英,但是一定要承認一個問題,就是並不是每個程序員都能成長為精英程序員。

我目前在帶移動互聯團隊和大數據團隊,也在帶大數據方向的研究生,我會陸續在頭條上寫一些關於軟件開發方面的文章,感興趣的朋友可以關注我的頭條號,相信一定會有所收穫。

如果有軟件開發方面的問題,也可以諮詢我。

謝謝!


IT人劉俊明


正常來講程序員之間的差異,主要還是解決問題的能力,一個好的程序框架不但可以兼容性強而且長時間運行還能非常的穩定,後續即使增加很多的功能也能不出大的問題,如果是普通程序員搭建的框架,在穩定性以及後續功能的兼容性上都存在很大的問題,差距還是非常的明顯,也不是單純的用數據能表現出來,現在在這簡單的介紹下精英程序員的一些特性

1.非常重視編程基本功的學習,很多東西看起來很深奧其實都是一點點的基礎構建出來的,所以越是厲害的程序員越是重視基本功的學習,很多java工程師,看java編程思想能做到十幾遍甚至更多,而且每次又都有不同的感受。

2.非常重視編程思想的總結,沒有天生下來就能把程序寫的非常棒的,都需要一個時間的總結歸納,而且不停的打磨,不停的嘗試折騰,即使有一點點的天分也是站在折騰的基礎之上。

3.非常注重對新技術的學習,現在很多的程序員工作個三年五年的就覺得編程也就是那回事了,然後放鬆了對自己的要求,隨便表面上很多知識都是相通的但真要具體實施還是存在一些差異性,而這些細節和差異性在具體實施過程中又會會消耗時間,做過和知道是完全的兩種概念,做過代表實踐過,知道知識知道大概的意思而已,是不同的概念。

無論多厲害的程序員的都是從基礎一點點做起,都會不停的歸納編程思想,不同吸收新的知識,加強自我學習能力。

希望能幫到你。


分享到:


相關文章: