身為程序員的你,用了多長時間學習研究某一框架、軟件,才達到該領域技術專家的水平?

從事軟件開發十幾年了,對於程序員的工作有一點自我的見解,首先程序員的工作屬於一個技術活,技術類的工種需要時間的積累,但要達到某個領域的技術專家,首先是時間層面的積累,但僅僅是積累是不夠的,不是達到多少年一定成為技術的專家,成為某個領域的佼佼者,時間只是其中一個因素。

如何成為某個技術領域的專家?

牢固的基本功。要達到某種境界沒有牢固的基本功做鋪墊幾乎是不可能的事情,程序員要說到基本功其實是一種很籠統的說法,基本功不僅僅是編程語言的語法,還包括常見的一些編程技巧,還包括一些基本的算法基礎,不同的人對於基礎的理解也不相同。對於初學者理解基礎就是編程語言的語法,從心理上覺得編程語言的語法搞定了,但在真正意義上的編程的時候,只是掌握基本的語法是實際的編程經驗需要在項目中提煉。

如果放在技術專家的要求來定義基本功又會是另外的一個境界,從心理上要認識無論哪個層次的程序員都要重視基本功的積累,在平時工作之餘要拿出時間來溫習基本功,按照一個標準的程序員的要求看認識基本功,常見的項目有編程語言的語法,項目操作過程中遇到的一個困難的總結匯總,數據結構基礎算法,常見的編程場景處理能力,這些都屬於編程基本範疇。

編程框架能力。這點就足夠拉開了和普通程序員的區別,之所以能夠在一個行業內成為頭部的玩家,就需要具備一定的高層設計能力,這種能力不僅僅是簡單的模塊設計能力,還需要具備整個系統的設計開發能力,有些程序員做一輩子都未必真正設計搭建過一個框架,所以不能簡單的認為能夠設計好一個模塊的框架就能把事情做得非常利索了,不能簡單的認為。

其實框架能力在行業內講就是造輪子的能力,當然不是每個人在自己的技術生涯中都有設計框架的機會,如果能夠趕上一次也是不錯的機會。

堅韌不拔的意志。這點主要是在精神層面的,不是每個人都能在一個領域長期堅持不懈的待下去的,能夠數十年如一日堅持做好一件事都是對人毅力最大考驗,能夠一直堅持做這件事人數已經不多了,如果在加上做的出色的數量將會變得更少了,所以講工匠精神不是每個人都能堅持做到最後的。

要想成為程序員裏面某個領域的專家,不是僅僅靠時間來積累出來的,但時間的積累達到的一個典型的基礎,不要覺得入行的時候自己的基礎不好,但時間長了堅持的長了,常見的編程模式或者套路也都能掌握清楚了,不是誰天生就是某個項目的專家,什麼事情就怕一個堅持的勁頭,一股不服輸的精神,堅持的時間長了在理論上還能縮減成為專家的次數,希望能幫到你。