最近和一位從事多年架構工做的技術哥們見面,聊到了近期面試程序員的一些經歷,談到了「如何判斷程序員水平高低」這個話題,很有些感觸,以爲有價值,所以花了些時間整理、分享給你們。程序員
正文面試
程序員的水平高低,不是靠語言或外在表現就能看出來的,不是看他會多少技術、參加過多少項目、寫了多少博客,而是看他在實際業務場景中解決問題的能力,尤爲是面對一些特別複雜的問題,或在高強度、高壓工做狀態下解決問題的能力與態度。編程
技術能夠經過學習掌握,可是解決問題、定位問題的能力卻不是一蹴而就。你們可能會說,「解決問題的能力」這個太寬泛了吧,能夠更具象化嗎,有具體的測量方法嗎?簡單整理了如下幾點供參考。windows
代碼質量架構
會寫出知足需求的代碼,早就不是評判程序員水平的標準了。代碼編寫既要知足業務需求,同時還要考慮後續的軟件維護,說得通俗些,既要本身爽,也要別人爽。一個優秀的程序員,會致力於寫出更簡單、更效率、可讀性強、擴展性強的程序代碼。框架
邏輯思惟學習
程序員在平常工做中,須要理解各式各樣的業務需求,因此這就須要程序員具有必定的邏輯思惟能力。能夠說,邏輯思惟是程序員的靈魂,由於每一行代碼都是程序員邏輯的體現。debug
debug能力blog
項目着急上線,發佈時出現問題?遊戲
業務高峯時段,系統宕機了?
業務催、運營催、用戶催、老闆催!
各類形態的bug,各類着急的心情,背後無數雙眼睛盯得心裏慌慌......
這些都是程序員須要面對的平常。但不一樣的程序員,在解決問題的方法、效率、質量等方面,卻各有千秋。一個經驗豐富的程序員,可以扛住各方壓力,在複雜條件下找到核心問題,經過抽絲剝繭的分析來找到產生問題的緣由,並快速進行應對處理,過後及時覆盤總結,減小同類問題出現的機率。
學習能力
隨之互聯網的發展,愈來愈多的人涌入程序員這個賽道,競爭日益激烈,加之新技術層出不窮,更新迭代快,程序員所使用的語言、框架、模式都會發生天翻地覆的變化。若是不主動學習,有可能很快就會被落伍淘汰。
溝通能力
在平常工做中,程序員常常要與業務、產品、運營甚至老闆等多方對接交流需求,技術內部項目銜接配合交流等,流暢的溝通能讓事情推動起來更加順利高效,溝通不順暢或信息不對稱,可能致使項目上線時出現南轅北轍(別不信,這種事情還真發生過)。
責任心
線上出bug了,第一時間響應、處理;團隊項目進度緊張、人手緊缺,主動補位。
又或者,在項目推動過程當中若是隻是關心本身模塊內容,對於整個項目置之不理,只守着本身的一畝三分地。
隨着時間軸的拉長,你會發現,有此技術能力不是最好的,甚至不如你的小夥伴,最後作到了技術主管或經理、甚至更高職位,這裏面除了技術實力,還有一個叫「責任心」的東西。
結束語
判斷一個程序員的水平高低,核心是其解決問題的能力,而解決問題的能力養成,須要紮實的底層基礎來支撐,要綜合其代碼質量、項目經驗、框架能力、邏輯思惟等等多方面,不能單看某一方面。
對於1-6歲的程序員來講,想要成爲一個高級程序員,變得愈來愈優秀,惟有鍥而不捨去學習、積累、實踐、修煉。
若是以爲有用,請點贊支持下~
看到這裏是否是有不少感悟呢~
若是你也很想學會編程,那麼小編推薦個人C語言/C++編程學習基地【點擊進入】!
都是學編程小夥伴們,帶你入個門仍是簡簡單單啦,一塊兒學習,一塊兒加油~
涉及:編程入門、遊戲編程、windows編程、Linux編程、Qt、黑客等等......