新聞中心
本文轉(zhuǎn)自雷鋒網(wǎng),如需轉(zhuǎn)載請(qǐng)至雷鋒網(wǎng)官網(wǎng)申請(qǐng)授權(quán)。

公司主營(yíng)業(yè)務(wù):成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)、移動(dòng)網(wǎng)站開(kāi)發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。成都創(chuàng)新互聯(lián)公司是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開(kāi)放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來(lái)的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來(lái)驚喜。成都創(chuàng)新互聯(lián)公司推出通河免費(fèi)做網(wǎng)站回饋大家。
作為程序員,你身邊的同事有工作 6 年的中級(jí)程序員,也有工作 3 年的高級(jí)程序員。你可能會(huì)很疑惑,初級(jí)、中級(jí)和高級(jí)開(kāi)發(fā)人員之間的差異究竟在哪里?
照片由 Clem Onojeghuo 發(fā)表在 Unsplash 上
你是初級(jí)、中級(jí)或高級(jí)開(kāi)發(fā)人員,不僅僅取決于你的編程經(jīng)驗(yàn)有多少年。初級(jí)開(kāi)發(fā)人員甚至可以比高級(jí)開(kāi)發(fā)人員年紀(jì)更大。歸根結(jié)底都是由技術(shù)決定的。這并不意味著高級(jí)開(kāi)發(fā)人員必須是全棧的專家,但可以肯定地說(shuō),高級(jí)開(kāi)發(fā)人員遠(yuǎn)比初級(jí)和中級(jí)開(kāi)發(fā)人員熟練。
但是,高級(jí)開(kāi)發(fā)人員與中級(jí)和初級(jí)開(kāi)發(fā)人員的區(qū)別不僅僅在于編碼技能。那么他們到底有什么區(qū)別呢?
知識(shí)
顯然,高級(jí)開(kāi)發(fā)人員比初級(jí)和中級(jí)開(kāi)發(fā)人員擁有更多的知識(shí)。了解設(shè)計(jì)模式、體系架構(gòu)、自動(dòng)化測(cè)試、性能、安全等是初級(jí)開(kāi)發(fā)人員與中級(jí)和高級(jí)開(kāi)發(fā)人員縮小知識(shí)差距的好方法。
了解軟件開(kāi)發(fā)中應(yīng)該如何做是很重要的。但是僅僅知道這些東西并不能使你成為一名高級(jí)開(kāi)發(fā)人員。知識(shí)儲(chǔ)備并不是開(kāi)發(fā)者之間最大的區(qū)別,它只是其中一個(gè)因素。
編碼
不管大多數(shù)人是怎么看待編碼的,但它并不只是與計(jì)算機(jī)的通信。編碼是與人通信和指導(dǎo)計(jì)算機(jī)工作。最終,代碼被編譯成 0 和 1。
代碼必須對(duì)將來(lái)使用它的其他開(kāi)發(fā)人員來(lái)說(shuō)容易理解。一個(gè)以前從未見(jiàn)過(guò)這些代碼的新團(tuán)隊(duì)?wèi)?yīng)該能夠運(yùn)行代碼并處理新特性或進(jìn)行錯(cuò)誤修復(fù)。這就是初級(jí)開(kāi)發(fā)人員和高級(jí)開(kāi)發(fā)人員之間最大的區(qū)別所在。
在這個(gè)比較中,我將不考慮中級(jí)開(kāi)發(fā)人員,因?yàn)橹屑?jí)開(kāi)發(fā)人員在編碼技能方面是一個(gè)灰色地帶。顯然,它介于初級(jí)和高級(jí)之間,可能更傾向于高級(jí)。這主要與經(jīng)驗(yàn)有關(guān),因?yàn)橹屑?jí)開(kāi)發(fā)人員可能至少經(jīng)歷過(guò)一個(gè)完整的開(kāi)發(fā)周期。他們犯了許多最簡(jiǎn)單的錯(cuò)誤,并從中吸取了教訓(xùn)。
如何辨別初級(jí)開(kāi)發(fā)人員?
初級(jí)開(kāi)發(fā)人員缺乏經(jīng)驗(yàn)。有些人剛剛畢業(yè),開(kāi)始了他們的第一份全職工作。初級(jí)開(kāi)發(fā)人員的心態(tài)通常是讓代碼工作就好。可以正常工作的軟件和優(yōu)秀的軟件在他們看來(lái)是相同的。
編寫(xiě)簡(jiǎn)潔的代碼是困難的,這是初級(jí)開(kāi)發(fā)人員做不到的。初級(jí)開(kāi)發(fā)人員通常會(huì)編寫(xiě)花哨的代碼。你可以通過(guò)一行古怪的代碼和過(guò)于復(fù)雜的抽象來(lái)識(shí)別初級(jí)開(kāi)發(fā)人員。初級(jí)開(kāi)發(fā)人員往往會(huì)用這種方式炫耀自己的技術(shù),試圖讓其他開(kāi)發(fā)人員知道他們編碼有多好,這是錯(cuò)誤的。
那么高級(jí)開(kāi)發(fā)人員呢?
當(dāng)查看高級(jí)開(kāi)發(fā)人員的代碼時(shí),你可能會(huì)想:這就是全部嗎?剩下的代碼呢?高級(jí)開(kāi)發(fā)人員編寫(xiě)簡(jiǎn)潔、簡(jiǎn)單甚至是愚蠢的代碼。這是開(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ā)人員的思維方式完全不同:高級(jí)開(kāi)發(fā)人員考慮的是必須使用代碼的人員,而初級(jí)開(kāi)發(fā)人員只是考慮讓代碼在計(jì)算機(jī)上工作。
不僅僅是編碼技能
除了編碼技能,還有其他一些因素可以告訴你他們是什么類型的開(kāi)發(fā)人員。
一般來(lái)說(shuō),初級(jí)開(kāi)發(fā)人員執(zhí)行最簡(jiǎn)單的任務(wù)或影響較小的任務(wù),他們不做任何架構(gòu)設(shè)計(jì)。中級(jí)開(kāi)發(fā)人員也沒(méi)有設(shè)計(jì)解決方案,他們只是執(zhí)行任務(wù),與初級(jí)開(kāi)發(fā)人員的不同之處在于,只要他們被分配到相對(duì)常規(guī)的任務(wù),他們就可以在較少的監(jiān)督下完成這些任務(wù)。高級(jí)開(kāi)發(fā)人員可以完全自行開(kāi)發(fā)應(yīng)用程序。
這并不意味著高級(jí)開(kāi)發(fā)人員一路上沒(méi)有任何問(wèn)題。每個(gè)開(kāi)發(fā)人員每天都有很多問(wèn)題,這點(diǎn)不會(huì)改變,對(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ā)人員永遠(yuǎn)不會(huì)迷路,他們知道如何正確的行動(dòng)來(lái)跟進(jìn)問(wèn)題。這并不意味著高級(jí)開(kāi)發(fā)人員不能向其他開(kāi)發(fā)人員尋求幫助。有時(shí)候,最好的方法就是向在該領(lǐng)域有經(jīng)驗(yàn)的其他開(kāi)發(fā)人員尋求幫助。
中級(jí)開(kāi)發(fā)人員也應(yīng)該能夠提出正確的問(wèn)題,只要他不被分配需要深入知識(shí)水平的高度復(fù)雜的任務(wù)。
你不應(yīng)該期望初級(jí)開(kāi)發(fā)人員可以直接提出正確的問(wèn)題。由于初級(jí)開(kāi)發(fā)人員缺乏經(jīng)驗(yàn),他們需要經(jīng)驗(yàn)更豐富的開(kāi)發(fā)人員的指導(dǎo)。初級(jí)開(kāi)發(fā)人員需要獲得必要的資源或被大力推向正確的方向。
進(jìn)入下一個(gè)層次
我們都想提高自己,成為一個(gè)更好的開(kāi)發(fā)人員。但是你該如何行動(dòng)來(lái)達(dá)到下一個(gè)層次呢?
初級(jí)到中級(jí)
由于初級(jí)開(kāi)發(fā)人員缺乏經(jīng)驗(yàn),因此經(jīng)歷幾次完整的開(kāi)發(fā)周期是很重要的。在這個(gè)過(guò)程中,你會(huì)掉進(jìn)很多陷阱中并學(xué)會(huì)如何避開(kāi)它們。
在編碼方面,你應(yīng)該學(xué)習(xí)如何編寫(xiě)簡(jiǎn)單的代碼。想想下一個(gè)要處理這段代碼的人。你還應(yīng)該學(xué)習(xí)如何調(diào)試,因?yàn)檫@將使你更好地了解程序運(yùn)行過(guò)程中發(fā)生的事情。
此外,您應(yīng)該熟悉實(shí)踐知識(shí),了解體系架構(gòu)、性能、安全性等,縮小達(dá)到中級(jí)所需的知識(shí)差距。
中級(jí)到高級(jí)
從中級(jí)到高級(jí)可能相當(dāng)困難。一些開(kāi)發(fā)人員將在整個(gè)職業(yè)生涯中都停留在中級(jí)水平。
高級(jí)開(kāi)發(fā)人員知道哪些可以做哪些不應(yīng)該做,這些都是過(guò)去犯過(guò)錯(cuò)誤積累的教訓(xùn)。
如果你想進(jìn)階到高級(jí),你必須準(zhǔn)備好承擔(dān)那些沒(méi)有人知道如何解決的任務(wù)。你知道的應(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)用程序。
結(jié)論
初級(jí)開(kāi)發(fā)人員、中級(jí)開(kāi)發(fā)人員和高級(jí)開(kāi)發(fā)人員之間的區(qū)別并不取決于你工作了多少年。當(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)題以及如何跟進(jìn)這些問(wèn)題是至關(guān)重要的。只有擁有豐富經(jīng)驗(yàn)的高級(jí)開(kāi)發(fā)人員才知道如何進(jìn)行開(kāi)發(fā),不管是在什么情況下。
作為初級(jí)開(kāi)發(fā)人員如果想要成長(zhǎng),你應(yīng)該專注于編寫(xiě)簡(jiǎn)單的代碼并經(jīng)歷多個(gè)完整的開(kāi)發(fā)周期。要從中級(jí)開(kāi)發(fā)人員進(jìn)階到高級(jí)開(kāi)發(fā)人員,你應(yīng)該專注于學(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 的一句話作為結(jié)尾:「任何傻瓜都能寫(xiě)計(jì)算機(jī)能理解的代碼,優(yōu)秀的程序員編寫(xiě)人類能夠理解的代碼。」(Any fool can write code that a computer can understand. Good programmers write code that humans can understand)
網(wǎng)站欄目:初級(jí)、中級(jí)和高級(jí)開(kāi)發(fā)人員之間的差異
地址分享:http://www.fisionsoft.com.cn/article/dhedehi.html


咨詢
建站咨詢
