“菜鳥”和“大神”
剛剛走出就業的程序員,技術是剛剛起步的基點。那下面我們就聊一聊有關技術的東西。首先請您先想想這幾個問題。現在社會上有很多程序員,CSDN就是我們程序員的家,那您是否可想過程序員為什麼會有不同的水平?你又是哪一類的程序員?“菜鳥”程序員和“大神”程序員差在哪裡?真是差在技術上了嗎?那不是差在技術上那差在了哪裡?
上面很多一連串的問題,沒有把你搞暈吧!那就聽我一一給您分析這個問題背後的答案。確切的說程序員分為“菜鳥”程序員和“大神”程序員。
一個程序員有多優秀,就得看他寫的代碼!程序員自己的代碼才是自己工作狀態的真實體現。
“菜鳥”程序員和“大神”程序員到底有什麼區別哪,那我們就來看看。
代碼的展現,網絡的應用
展現題目:一個很小的功能,比如說一個當鼠標移動到一個標題下,在下面顯示其可選菜單。
“菜鳥”程序員的代碼是什麼樣子,自己想一下。“菜鳥”程序員的代碼往往會會寫的比較冗余,而且這些代碼不是從書上找來的就是從網上找來的還有可能就是自己會這一部分代碼(僅存記憶的提取,真正的原理似懂非懂,好像霧裡看花)。
“大神”的代碼會寫成什麼哪?“大神”程序員的代碼,當你看的第一眼:簡潔;第二眼:真“N”。用最少的代碼,把這個程序寫的非常精辟了,體現的自己的思維思路。
為什麼會出現這樣的現象,同樣一個小的功能,放在不同的手裡就產生不同的結果。這個難道不值得我們去探究原因嗎?
真正的原因是:“菜鳥”程序員沒有將自己的思維融入代碼,代碼是程序員思維智慧的結晶。當我們拿到這一個小功能的時候,我們首先一看,這方面的知識自己准備不足,於是就上網找去了。假如我們去想一下如何去解決,我們解決的方法一般會有兩種,第一種是自己會從網上或者是書中找到類似的代碼,第二種就是請教別人指點,這種方法感覺不太可能,因為在工作中,大家都很忙,相互討論幫忙很少的。上網搜的時候我們會經常出現這樣的現象:看到這個要編寫的程序,感覺自己沒什麼思路,自己從網上找,找了半天我們收獲不大,看了很多實現的方法,但是我們花很長的時間去理解,這樣雖然把問題搞出來了,然後就去玩去了。有些時候運氣好,想找的問題正好有這類問題的解決方法,那我們就直接把代碼搬過來,搞定!所以我們就一直這樣循環下去,到最後我們什麼也沒有留下,下面一幅圖就顯示我們”菜鳥”程序員的現狀。
(這一幅很有寓意的圖)
“大神” 程序員首先拿到這個程序,自己做的第一件事情,就是思考!自己先思考如何實現這個問題,與原來相關知識可以借鑒,列出解決問題的可能性,考慮解決問題的最難點,所以上網搜的時候,直接搜問題的解決問題點,將其轉換成自己的思想,用自己的思維寫出自己想要的代碼來,這就是代碼是思維的結晶的精華。
“菜鳥”背後的答案
通過這一個問題的對比,我們可以發現我們為什麼成為”菜鳥”,因為我們沒有思考,沒有去仔細研究找到其中的規律,找到問題的本質。本來想建立自己的思維程序,自己沒有這個意識,所以自己就一直停留在“菜鳥”的水平上去。
“大神”程序員那樣做通過認識幾個重要的知識點,就把這個問題就解決了,所以技術對於他們來說,沒有任何難度而言,因為他們經過了不斷的思考,所以我們就應該認清我們“菜鳥”和“大神”之間的差距在哪裡?我們不應該逃避這個問題,因為這個問題決定我們解決問題的態度,決定著我們的人生價值。
在程序員當中,為什麼人家能整八千一萬而自己卻只能掙四五千(在程序員裡最低),這就是根本原因。思考,解決問題的能力!它就是你到了一家企業的價值,其實在企業中不在乎你拿走多少薪水,關鍵在於你創造了多少價值。就是因為這四五千收入差值,出去生活的基本消費,等都退休時,你會發現一個富翁,一個窮光蛋。我們都想成為富翁,所以我們如何才能成為富翁,我們可以把問題下移一下,我們如何成為一個“大神”程序員,我們必須要變,我們改變我們自己,首先當我們遇到這樣的問題的時候我們應該改變我們的思維方式,我如何才能解決這個問題,而不是遇到問題就上網找答案,這個問題和我以前的知識有什麼關系和區別,這樣我們就在學習中解決了這個問題。如何培養自己的編程思維,編程只有我們有自己的思維,我們才叫一個獨立體,我們才能創造意想不到的價值,對於自己這樣做本身是百利而無一害,因為現在的編程風格(源於自己的思想)不知道哪一種會“火”起來,這樣編程的世界才能百花爭艷。
通過這樣一個小的實例就可以說我們為什麼還是“菜鳥”,因為我們整個學習技術體系存在問題,我們的學習方法存在著很大的漏洞。
反思自己
回想自己的往事,當初自己在做牛腩新聞發布系統的時候:自己照著視頻上一點一滴的敲完了,自己感覺很興奮,但是等到運行的時候自己又膽怯於測試,自己做完了這個系統跟自己沒有關系了。真的沒關系了嗎?首先來說自己連自己的做出來的東西測試自己都不敢這就是最大的問題。其實測試測試我們真正學習到知識的時候,這一點我自己做的不好。自己更沒有將系統在每個浏覽器上測試一下,自己沒有這個勇氣,也有可能是自己沒有想到這個問題的嚴重性,但是當我從事網頁項目開發的時候才知道,每個浏覽器兼容問題使我們必須要考慮的。這有解決好這些問題,這就是我們最大的進步。把兼容問題寫成總結,這對於我們來說以後從事網頁項目開發就是一筆寶貴的財富,為將來我們在做開發的時候提供更加有力的保證,所以當初自己的做這個系統的時候,自己沒有好好的把握,自己現在意識到當初自己的失敗,但是失敗並不可怕,當我們意識到了這個問題的時候我們如何改變我們自己才是我們要前進的方向和目標。當今天這個問題驚醒我的時候,讓我措手不及,所寫下這篇博客以示警戒。
“菜鳥”轉變“大神”之思
菜鳥們(我自己也是),我們該醒醒了,我們如何適應企業,如何適應將來的發展,如何生存是我們每個程序員必須面臨的問題。我知道想當管理者的程序員很多,但是別忘了,從事軟件業是從程序員一步步做起來的,我們連做好程序員的底子都沒有,那我們如何受到同事的尊重,領導的重視,這個問題離我們很近了,我們現在應該轉變我們的觀念,學習的觀念,適應企業的觀念。
總結:思考解決問題的方法,不要濫用手中的工具,建立自己的編程思維,開發自己的創新力,展現自己的編程精華。
這就是“菜鳥”程序員和“大神”程序員之間的的區別,以上是我的個人感受,僅代表個人意見,若有得罪之處,多多見諒。