97人人妻人人操人人摸|高清印度性猛交xxxx|国产精品永久免费视频观看|伊人免费视频网|919yy影院

0359-2088100
當前位置: 首頁 > 新聞資訊  > 行業快報

初級程序員升中級程序員,只差這7個技能

2019/12/27 8:45:12

初級程序員晉升中級程序員,只差這7個技能在程序員圈,一直流傳著這樣一個傳說,用發量來判斷程序員的級別,這明顯是種調侃。那么,中級程序員,相對于初級程序員,有哪些不一樣的特質呢?總得來說,比較于初級而言,中級程序員在執行層面屬于攻堅力量,他們不僅能獨立完…

初程序員升中程序員,只差這7個技能


程序員圈,一直流傳著這樣一個傳說,用發量來判斷程序員的別,這明顯是種調侃。那么,中程序員,相對于初程序員,有哪些不一樣的特質呢?


總得來說,比較于初而言,中程序員在執行層面屬于攻堅力量,他們不僅能獨立完成高難度的使命,并且在用戶體驗(質量提高)和功能優化(優化效率)都能作更全面的考量。

以下,是小編總結的關于中程序員七大特點,各位讀者可以對號入座。

(一)善于溝通

程序員內向的居多,喜歡交流的很少,但中程序員往往能夠克服自己的內新的恐懼心理,多和同事交流。

甚至有管理者認為,程序員應該80%的時間,花在同事的交流上。不僅是部門內的同事,也還包括跨部門溝通,敲代碼的需要經常與產品經理、運營的同事溝通需求。

日本不少跨國公司,甚至有讓程序員去體驗幾個月銷售員的傳統。公司要求,程序員在敲代碼的同時,也要能夠理解一線用戶的需求。

交流對于初程序員了解技術的發展,也相當有好處:讀讀博客、學學新語言和框架、討論討論話題、看看同行在做什么。自掃門前雪,很難成為一個的程序員閉門造車型的程序員終將被時代的潮流所淘汰。

(二)對編程有激情

有些程序員干這一行只是為了掙錢,如果有的職業,他們會毫不猶豫的辭掉程序員的工作。

能夠順利晉升為中程序員的人,往往熱愛編程,喜歡鉆研代碼中的問題,他們感到能指揮電腦來幫助人們和自己解決現實生活中的問題是一種能力。當遇到問題無法解決時,他們會茶不思、飯不想,無法入睡。

每個人都有心理上的舒適區,但是中程序員,會不斷地突破自己心理上的舒適區。

他們很樂于經常去研究沒有接觸過的代碼,也正因為這樣,成長速度快的中程序員會越來越熟悉不同的代碼結構和設計模式。

(三)精通代碼調試

幾乎所有的程序員寫代碼都不是一遍就能寫好的。精通代碼調試 ( debug )很多人在寫代碼的過程中,經常會有的一個問題就是:為什么我寫出來的代碼不能運行?為什么運行的結果不是我想要的?

中程序員非常快的就明白自己代碼的問題可能是什么。代碼調試是一個很重要的能力,但是偏偏學校里不教,面試的時候考官也不經常提及。那么怎么去調試代碼呢?

代碼調試是有一套方法論的。簡單的就是在代碼里輸出日志來判斷,復雜一點則需要去接觸一些高的工具,或者直接帶有 Debug 功能的編輯器。

image.png



(四)主人翁精神

部分初程序員剛入行,可能還沒有進入狀態,往往認為自己是打工者,以打工者的身份和心態工作。

中程序員卻會把自己當成企業的主人,他們知道企業的利益和自己休戚相關。

成熟的程序員明白一點,作為一名的企業員工,自己是生產者而非消費者。他們心中一直想得是自己能夠為公司,為顧客創造什么價值,而不僅僅只想著待遇。

(五)工具型思維

中程序員知道如何能完成任務,如何更能有效的解決問題。其原因是工具型思維,如同荀子所言,"君子生非異也,善假于物也。"

Facebook 前技術總監 Bobby Johnson 說,程序員都把時間花在制作工具上。很多人也認為工具是很重要的,但是他們并沒有花時間去制作、整合自己的工具。但是,Jonson 團隊出色的員工耗費了他們 1/3 的時間在工具制作上,這些工具可以用來發布代碼,監控系統,以及能讓他們花更少的時間去做更多事情。

中程序員遇到問題時,不鉆牛角尖,善于利用外部工具解決自己的問題,特別是能熟練應用搜索引擎。

(六)刻意練習迭代速度

魔鬼在細節上,如果一個程序員想要提高自己的工作效率,就需要他能夠不斷地在細節方面,進行微創新。

舉一個例子,假設一個初程序員,每次要花 12 秒鐘去搜索某個函數是在哪里定義的。如果,他每天做這個動作 60 次,就要花 12 分鐘去搜索函數定義。

中程序員會選擇用一個好一點的編輯器,每次找到函數定義只要 2 秒鐘,那么他每天將節約 10 分鐘,每年節約 40 個小時。如果能夠找到 3 個這樣的場景去優化一下,那么對于中程序員來說,每年可以節約一個月的時間。

image.png


(七)系統學習

學習是要有方法的,尤其是在職場中,程序員的自我學習要符合兩點要求:一是有結果。因此,系統性學習,非常重要。

高程序員系統學習指南如下:

一步,源碼分析。看看大牛是如何寫代碼的,提升技術審美,提升核心競爭力。

二步,工程化。工欲善其事必先利其器,不管是小白,都需要先選擇好的工具,提升效率和團隊協作效率,讓自己有更多的時間來思考。

三步,分布式。從深度到廣度的完善自己的知識體系,準備迎接高并發大數據的挑戰

四步,微服務。繞微服務的通用模式,學習spring Cloud的常見用法及原理,讓微服務的更加方便 快捷,讓微服務應用更加穩定 可用。

五步,性能優化。從JVM底層原理到內存優化 再到各個中間件的性能調優,做科學和嚴謹的性能調優。

六步,并發編程。深入了解底層原理。

七步,積極參加大牛的分享。

(八)總結

可以理解,對于初入職場的程序員來說,他們在內心也知道學習的重要性,但因為沒有時間,被老板的需求給填滿,沒有精力去提升自我。

然而,根據人類的學習曲線來說,任何一門新的技藝,都是一條對數曲線。其分為兩個階段:緩慢期和高速發展期,即初期很慢,后期進展迅速。

如果,能夠讓程序員在剛進入職場的時候,便擺脫初程序員的桎梏,直接擁有中程序員的實力,是不是就能跨越學習曲線的緩慢期呢。