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