更新時(shí)間:2020年06月23日16時(shí)56分 來源:傳智播客 瀏覽次數(shù):
在程序員圈,一直流傳著這樣一個(gè)傳說,用發(fā)量來判斷程序員的級別,這明顯是種調(diào)侃。那么,中級程序員,相對于初級程序員,有哪些不一樣的特質(zhì)呢?
總得來說,比較于初級而言,中級程序員在執(zhí)行層面屬于攻堅(jiān)力量,他們不僅能獨(dú)立完成高檔難度的開發(fā)使命,并且在用戶體驗(yàn)(質(zhì)量提高)和功能優(yōu)化(優(yōu)化效率)都能作更全面的考量。
以下是關(guān)于中級程序員七大特點(diǎn)。
(一)善于溝通
程序員內(nèi)向的居多,喜歡交流的很少,但中級程序員往往能夠克服自己的內(nèi)新的恐懼心理,多和同事交流。
甚至有管理者認(rèn)為,程序員應(yīng)該80%的時(shí)間,花在同事的交流上。不僅是部門內(nèi)的同事,也還包括跨部門溝通,敲代碼的需要經(jīng)常與產(chǎn)品經(jīng)理、運(yùn)營的同事溝通需求。
日本不少跨國公司,甚至有讓程序員去體驗(yàn)幾個(gè)月銷售員的傳統(tǒng)。公司要求,程序員在敲代碼的同時(shí),也要能夠理解一線用戶的需求。
交流對于初級程序員了解技術(shù)的發(fā)展,也相當(dāng)有好處:讀讀博客、學(xué)學(xué)新語言和框架、討論討論話題、看看同行在做什么。自掃門前雪,很難成為一個(gè)優(yōu)秀的程序員。閉門造車型的程序員終將被時(shí)代的潮流所淘汰。
(二)對編程有激情
有些程序員干這一行只是為了掙錢,如果有更好的職業(yè),他們會毫不猶豫的辭掉程序員的工作。
能夠順利晉升為中級程序員的人,往往熱愛編程,喜歡鉆研代碼中的問題,他們感到能指揮電腦來幫助人們和自己解決現(xiàn)實(shí)生活中的問題是一種神奇的能力。當(dāng)遇到問題無法解決時(shí),他們會茶不思、飯不想,無法入睡。
每個(gè)人都有心理上的舒適區(qū),但是中級程序員,會不斷地突破自己心理上的舒適區(qū)。
他們很樂于經(jīng)常去研究沒有接觸過的代碼,也正因?yàn)檫@樣,成長速度快的中級程序員會越來越熟悉不同的代碼結(jié)構(gòu)和設(shè)計(jì)模式。
(三)精通代碼調(diào)試
幾乎所有的程序員寫代碼都不是一遍就能寫好的。精通代碼調(diào)試 ( debug )很多人在寫代碼的過程中,經(jīng)常會有的一個(gè)問題就是:為什么我寫出來的代碼不能運(yùn)行?為什么運(yùn)行的結(jié)果不是我想要的?
中級程序員非??斓木兔靼鬃约捍a的問題可能是什么。代碼調(diào)試是一個(gè)很重要的能力,但是偏偏學(xué)校里不教,面試的時(shí)候考官也不經(jīng)常提及。那么怎么去調(diào)試代碼呢?
代碼調(diào)試是有一套方法論的。最簡單的就是在代碼里輸出日志來判斷,復(fù)雜一點(diǎn)則需要去接觸一些高級的工具,或者直接帶有 Debug 功能的編輯器。
(四)主人翁精神
部分初級程序員剛?cè)胄?,可能還沒有進(jìn)入狀態(tài),往往認(rèn)為自己是打工者,以打工者的身份和心態(tài)工作。
中級程序員卻會把自己當(dāng)成企業(yè)的主人,他們知道企業(yè)的利益和自己休戚相關(guān)。
成熟的程序員明白一點(diǎn),作為一名優(yōu)秀的企業(yè)員工,自己是生產(chǎn)者而非消費(fèi)者。他們心中一直想得是自己能夠?yàn)楣荆瑸轭櫩蛣?chuàng)造什么價(jià)值,而不僅僅只想著待遇。
(五)工具型思維
中級程序員知道如何能更高效的完成任務(wù),如何更能有效的解決問題。其原因是工具型思維,如同荀子所言,“君子生非異也,善假于物也。”
Facebook 前技術(shù)總監(jiān) Bobby Johnson 說,高效率的程序員都把時(shí)間花在制作工具上。很多人也認(rèn)為工具是很重要的,但是他們并沒有花時(shí)間去制作、整合自己的工具。但是,Jonson 團(tuán)隊(duì)最出色的員工耗費(fèi)了他們 1/3 的時(shí)間在工具制作上,這些工具可以用來發(fā)布代碼,監(jiān)控系統(tǒng),以及能讓他們花更少的時(shí)間去做更多事情。
中級程序員遇到問題時(shí),不鉆牛角尖,善于利用外部工具解決自己的問題,特別是能熟練應(yīng)用搜索引擎。
(六)刻意練習(xí)迭代速度
魔鬼在細(xì)節(jié)上,如果一個(gè)程序員想要提高自己的工作效率,就需要他能夠不斷地在細(xì)節(jié)方面,進(jìn)行微創(chuàng)新,提高效率。
舉一個(gè)例子,假設(shè)一個(gè)初級程序員,每次要花 12 秒鐘去搜索某個(gè)函數(shù)是在哪里定義的。如果,他每天做這個(gè)動作 60 次,就要花 12 分鐘去搜索函數(shù)定義。
中級程序員會選擇用一個(gè)好一點(diǎn)的編輯器,每次找到函數(shù)定義只要 2 秒鐘,那么他每天將節(jié)約 10 分鐘,每年節(jié)約 40 個(gè)小時(shí)。如果能夠找到 3 個(gè)這樣的場景去優(yōu)化一下,那么對于中級程序員來說,每年可以節(jié)約一個(gè)月的時(shí)間。
(七)系統(tǒng)學(xué)習(xí)
學(xué)習(xí)是要有方法的,尤其是在職場中,程序員的自我學(xué)習(xí)要符合兩點(diǎn)要求:一是有結(jié)果;二是高效。因此,系統(tǒng)性學(xué)習(xí),非常重要。
總結(jié)
可以理解,對于初入職場的程序員來說,他們在內(nèi)心也知道學(xué)習(xí)的重要性,但因?yàn)闆]有時(shí)間,被老板的需求給填滿,沒有精力去提升自我。
然而,根據(jù)人類的學(xué)習(xí)曲線來說,任何一門新的技藝,都是一條對數(shù)曲線。其分為兩個(gè)階段:緩慢期和高速發(fā)展期,即初期很慢,后期進(jìn)展迅速。
目前傳智播客行業(yè)內(nèi)推出了中級程序員的課程,可以讓你直接擺脫初級程序員的桎梏,直接擁有中級程序員的實(shí)力,讓你跨越學(xué)習(xí)曲線的緩慢期。助你成功!
北京校區(qū)