小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

初級(jí)、中級(jí)和高級(jí)程序員之間,究竟有哪些差異?

 昵稱(chēng)535749 2019-08-16

工作經(jīng)驗(yàn)并不是唯一標(biāo)準(zhǔn)。

神譯局是36氪旗下編譯團(tuán)隊(duì),關(guān)注科技、商業(yè)、職場(chǎng)、生活等領(lǐng)域,重點(diǎn)介紹國(guó)外的新技術(shù)、新觀點(diǎn)、新風(fēng)向。

編者按:程序員之間的差別到底在哪里?用什么標(biāo)準(zhǔn)來(lái)區(qū)分初級(jí)、中級(jí)和高級(jí)開(kāi)發(fā)人員呢?本文作者Daan認(rèn)為,工作時(shí)間并不是區(qū)分人與人之間差別的標(biāo)尺。高級(jí)開(kāi)發(fā)人員更具有獨(dú)特的思維方式,不再拘泥于完成日常任務(wù),而更傾向于發(fā)現(xiàn)問(wèn)題和解決問(wèn)題。而初級(jí)開(kāi)發(fā)人員由于經(jīng)驗(yàn)不足,只能按部就班地按照指令走,其代碼上的操作一般更為花哨,很少考慮到其他程序員的需要。那么,從初級(jí)到高級(jí),需要經(jīng)歷些什么呢?本文譯自Medium.com中,原標(biāo)題為“The Differences Between a Junior, Mid-Level, and Senior Developer”的文章。

初級(jí)、中級(jí)和高級(jí)程序員之間,究竟有哪些差異?

圖片來(lái)源:https://www.

作為一名開(kāi)發(fā)人員,目前處于初級(jí)、中級(jí)還是高級(jí)階段其實(shí)不僅僅取決于你參加編程工作的時(shí)間長(zhǎng)短,而是取決于人與人之間的技術(shù)差異,有時(shí)初級(jí)開(kāi)發(fā)人員甚至比高級(jí)開(kāi)發(fā)人員年紀(jì)更大。不過(guò),這并不意味著高級(jí)開(kāi)發(fā)人員必須是全棧的專(zhuān)家,但高級(jí)開(kāi)發(fā)人員肯定遠(yuǎn)比初級(jí)和中級(jí)開(kāi)發(fā)人員操作熟練且靈活。

不過(guò),這種技術(shù)差異并不單單是指編碼技能,那么他們到底有什么區(qū)別呢?

知識(shí)

首先可以肯定的是,高級(jí)開(kāi)發(fā)人員比初級(jí)和中級(jí)開(kāi)發(fā)人員在知識(shí)體量上掌握得更多,對(duì)設(shè)計(jì)模式、體系架構(gòu)、自動(dòng)化測(cè)試、性能、安全等項(xiàng)目都非常熟悉,知識(shí)體系也比較全方位發(fā)展。作為初級(jí)開(kāi)發(fā)人員,要想與中級(jí)和高級(jí)開(kāi)發(fā)人員縮小知識(shí)差距,從這些方面下手不失為最佳的路徑。

盡管了解軟件開(kāi)發(fā)的操作程序是非常重要的一項(xiàng)技術(shù),但是僅僅知道這些東西并不能使你成為一名高級(jí)開(kāi)發(fā)人員。由此可見(jiàn),知識(shí)儲(chǔ)備并不是開(kāi)發(fā)者之間最大的區(qū)別,它只是其中的一個(gè)因素而已。

編程能力

實(shí)際上,編程并不是與計(jì)算機(jī)的通信和交互僅此而已,而是一項(xiàng)與人通信并指導(dǎo)計(jì)算機(jī)的工作。最終,編程中的代碼被編譯成 0 和 1。

代碼應(yīng)該具有易讀性,必須能夠讓使用它的其他開(kāi)發(fā)人員容易理解并且好直接上手操作,也就是說(shuō),一個(gè)以前從未見(jiàn)過(guò)這些代碼的新團(tuán)隊(duì)?wèi)?yīng)該能夠直接運(yùn)行它,并處理、添加一些新特性,或者進(jìn)行錯(cuò)誤修復(fù)。從這個(gè)角度上看,這也是初級(jí)開(kāi)發(fā)人員和高級(jí)開(kāi)發(fā)人員之間的區(qū)別所在。畢竟任何事情都一樣,想讓自己理解很容易,想讓別人也理解就困難了。

在這個(gè)項(xiàng)目的對(duì)比中,我們將不考慮中級(jí)開(kāi)發(fā)人員的情況,因?yàn)橹屑?jí)開(kāi)發(fā)人員在編程方面處于灰色地帶,他們介于初級(jí)和高級(jí)之間,可能更傾向于高級(jí)。不過(guò),這主要與經(jīng)驗(yàn)有關(guān),因?yàn)橹屑?jí)開(kāi)發(fā)人員可能至少經(jīng)歷過(guò)一個(gè)完整的開(kāi)發(fā)周期,他們犯過(guò)許多最簡(jiǎn)單的錯(cuò)誤,并從中吸取了教訓(xùn),所以看起來(lái)經(jīng)驗(yàn)更為豐富一些。

如何辨別初級(jí)開(kāi)發(fā)人員?

初級(jí)開(kāi)發(fā)人員缺乏經(jīng)驗(yàn)。很多初級(jí)人員都是剛剛畢業(yè),剛開(kāi)始上手第一份全職工作,他們的心態(tài)通常是:只要代碼能運(yùn)行起來(lái)就行了。可以正常工作的軟件和優(yōu)秀的軟件在他們看來(lái)幾乎沒(méi)什么區(qū)別。

在編程中,編寫(xiě)簡(jiǎn)潔明了的代碼并不容易,這恰恰是初級(jí)開(kāi)發(fā)人員難以具備的能力,初級(jí)人員編寫(xiě)的代碼通常都有點(diǎn)花哨的成分。因此,你可以通過(guò)判斷一行代碼是簡(jiǎn)潔還是啰嗦,是直接還是抽象來(lái)識(shí)別初級(jí)開(kāi)發(fā)人員。有一些初級(jí)開(kāi)發(fā)人員往往會(huì)用這種方式炫耀自己的技術(shù),試圖讓其他開(kāi)發(fā)人員知道他們編碼有多好,然而事實(shí)卻總恰恰相反。

那么如何識(shí)別高級(jí)開(kāi)發(fā)人員呢?

當(dāng)查看高級(jí)開(kāi)發(fā)人員的代碼時(shí),你可能會(huì)想:這就是全部嗎?剩下的代碼呢?怎么內(nèi)容比我想象中要少呢?高級(jí)開(kāi)發(fā)人員編寫(xiě)代碼的風(fēng)格更為簡(jiǎn)潔,甚至看上去有些“小兒科”,不過(guò)可千萬(wàn)別小看這個(gè)部分,這是開(kāi)發(fā)人員在編程方面所能具備的最重要的品質(zhì)之一,即:高級(jí)開(kāi)發(fā)人員遵循 KISS 原則:保持簡(jiǎn)單,愚蠢(Keep it simple, stupid)。

這是由于,高級(jí)開(kāi)發(fā)人員和初級(jí)開(kāi)發(fā)人員思考代碼的方式是不同的。高級(jí)開(kāi)發(fā)人員編寫(xiě)代碼的時(shí)候?qū)⒖紤]其可維護(hù)性和可擴(kuò)展性,初級(jí)開(kāi)發(fā)人員的更關(guān)注當(dāng)下;高級(jí)開(kāi)發(fā)人員考慮的是要用到代碼的有多少人,各自需要什么功能,而初級(jí)開(kāi)發(fā)人員可能只是考慮讓代碼在計(jì)算機(jī)上工作而已。

除了編程差異,還有什么區(qū)別?

除了編碼技能,還有其他一些因素幫我們判斷一個(gè)人是什么類(lèi)型的程序員。

一般來(lái)說(shuō),初級(jí)開(kāi)發(fā)人員執(zhí)行最簡(jiǎn)單的任務(wù)或影響較小的任務(wù),他們不做任何架構(gòu)上的設(shè)計(jì),中級(jí)開(kāi)發(fā)人員達(dá)不到設(shè)計(jì)解決方案的階段,他們只是執(zhí)行下發(fā)的任務(wù)。不過(guò),與初級(jí)開(kāi)發(fā)人員的不同之處在于,只要他們被分配到相對(duì)常規(guī)的任務(wù),一般都能夠獨(dú)立完成。而高級(jí)開(kāi)發(fā)人員就不再只是半機(jī)械地照著指令走了,他們完全可以自行開(kāi)發(fā)應(yīng)用程序。

當(dāng)然這并不意味著高級(jí)開(kāi)發(fā)人員一路上不會(huì)出現(xiàn)任何問(wèn)題,問(wèn)題是不可避免的,這點(diǎn)誰(shuí)都無(wú)法改變,對(duì)于高級(jí)開(kāi)發(fā)人員來(lái)說(shuō)也是如此。

其中的區(qū)別在于,高級(jí)開(kāi)發(fā)人員知道如何提出正確的問(wèn)題以及如何處理這些問(wèn)題。中級(jí)開(kāi)發(fā)人員可以在相對(duì)常規(guī)的任務(wù)中提出正確的問(wèn)題,但在更復(fù)雜的任務(wù)中就需要他人的幫助了。

盡管通常情況下,高級(jí)開(kāi)發(fā)人員在操作中不會(huì)迷路,他們知道如何用正確的行動(dòng)來(lái)跟進(jìn)問(wèn)題,但這并不意味著他們不會(huì)向其他開(kāi)發(fā)人員尋求幫助。有時(shí)候,向該領(lǐng)域更有經(jīng)驗(yàn)的其他開(kāi)發(fā)人員求助才是最好的辦法。

當(dāng)然,中級(jí)開(kāi)發(fā)人員也應(yīng)該能夠提出正確的問(wèn)題,只要他不被分配到需要深入知識(shí)水平的高度復(fù)雜的任務(wù)中去,在一般情況下都是得心應(yīng)手的。

說(shuō)實(shí)話,我們不必期望初級(jí)開(kāi)發(fā)人員可以直接提出正確的問(wèn)題并解決它。由于初級(jí)開(kāi)發(fā)人員缺乏經(jīng)驗(yàn),他們需要經(jīng)驗(yàn)更豐富的人的指導(dǎo)。因此,初級(jí)開(kāi)發(fā)人員需要獲得必要的資源或被大力引導(dǎo)才能一步一步走向正確的方向。

進(jìn)入更高的層次

每個(gè)人都想超越自我,成為一個(gè)更好的開(kāi)發(fā)人員。但是你該如何行動(dòng)來(lái)更上一層樓呢?

  • 初級(jí)到中級(jí)

由于初級(jí)開(kāi)發(fā)人員缺乏經(jīng)驗(yàn),因此經(jīng)歷幾次完整的開(kāi)發(fā)周期是很重要的。在這個(gè)過(guò)程中,你會(huì)掉進(jìn)很多陷阱中并逐步學(xué)會(huì)如何避開(kāi)它們。

在編程方面,初級(jí)開(kāi)發(fā)人員應(yīng)該學(xué)習(xí)如何編寫(xiě)簡(jiǎn)單的代碼。想想下一個(gè)要處理這段代碼的人,如果看到一些啰嗦的語(yǔ)句該多頭疼啊,所以盡量簡(jiǎn)練的語(yǔ)言才是編程能力的體現(xiàn)。此外,作為開(kāi)發(fā)人員,你還應(yīng)該學(xué)習(xí)如何調(diào)試,因?yàn)檫@將使你更好地了解程序運(yùn)行過(guò)程中發(fā)生的情況。

此外,你也應(yīng)該熟悉實(shí)踐知識(shí),了解體系架構(gòu)、性能、安全性等項(xiàng)目,縮小達(dá)到中級(jí)所需的知識(shí)差距。

  • 中級(jí)到高級(jí)

從中級(jí)到高級(jí)可能相當(dāng)困難,有些開(kāi)發(fā)人員整個(gè)職業(yè)生涯可能都停留在中級(jí)的水平。

與中級(jí)不同的是,高級(jí)開(kāi)發(fā)人員知道哪些可以做哪些不應(yīng)該做,而這些都是過(guò)去犯過(guò)錯(cuò)誤積累的教訓(xùn)。

如果你想進(jìn)階到高級(jí)開(kāi)發(fā)階段,就必須準(zhǔn)備好迎接那些沒(méi)有人知道如何解決的任務(wù),與此同時(shí),你知道的應(yīng)該比如何工作所需要多得多。

作為高級(jí)開(kāi)發(fā)人員,你工作的一部分是幫助經(jīng)驗(yàn)不足的開(kāi)發(fā)人員。當(dāng)其他開(kāi)發(fā)人員不知道如何做某些事情時(shí),你就是他們的后備力量。

高級(jí)開(kāi)發(fā)人員必須有自己的技術(shù)棧,而不僅僅是編碼技巧。你需要了解在所在公司中使用的所有工具和應(yīng)用程序。

初級(jí)、中級(jí)和高級(jí)程序員之間,究竟有哪些差異?

圖片來(lái)源:https://www.

結(jié)論

初級(jí)開(kāi)發(fā)人員、中級(jí)開(kāi)發(fā)人員和高級(jí)開(kāi)發(fā)人員之間的區(qū)別并不取決于具體的工作年限,在工作中,時(shí)間的長(zhǎng)短并不能代表一個(gè)人的能力。當(dāng)然,可以肯定地說(shuō),高級(jí)開(kāi)發(fā)人員比初級(jí)和中級(jí)開(kāi)發(fā)人員更熟練,盡管知識(shí)并不是最重要的因素。

與初級(jí)開(kāi)發(fā)人員相比,高級(jí)開(kāi)發(fā)人員編寫(xiě)的代碼更簡(jiǎn)潔,并且思維方式也大有不同。但區(qū)別不僅僅是編碼技巧,還要知道提出問(wèn)題和解決問(wèn)題的重要性,要有獨(dú)立思考的創(chuàng)造力。只有擁有豐富經(jīng)驗(yàn)的高級(jí)開(kāi)發(fā)人員才能夠在無(wú)論什么情況下,都知道如何進(jìn)行開(kāi)發(fā)工作。

作為初級(jí)開(kāi)發(fā)人員如果想要成長(zhǎng),應(yīng)該專(zhuān)注于編寫(xiě)簡(jiǎn)單的代碼并經(jīng)歷多個(gè)完整的開(kāi)發(fā)周期;如果要從中級(jí)開(kāi)發(fā)人員進(jìn)階到高級(jí)開(kāi)發(fā)人員,最好應(yīng)該專(zhuān)注于學(xué)習(xí),而不僅僅是完成固定的日常任務(wù)。你也應(yīng)該主動(dòng)承擔(dān)最艱巨的任務(wù),成為技術(shù)小組的主管,畢竟高級(jí)開(kāi)發(fā)人員的另一個(gè)職責(zé)就是為經(jīng)驗(yàn)不足的開(kāi)發(fā)人員提供幫助。

最后,用Martin Fowler(現(xiàn)為T(mén)houghtWorks公司的首席科學(xué)家)的一句話作為結(jié)尾:“任何傻瓜都能寫(xiě)計(jì)算機(jī)能理解的代碼,優(yōu)秀的程序員編寫(xiě)人類(lèi)能夠理解的代碼(Any fool can write code that a computer can understand. Good programmers write code that humans can understand)。”

譯者:小灼

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類(lèi)似文章 更多