国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
初級、中級和高級程序員之間,究竟有哪些差異?

工作經(jīng)驗并不是唯一標準。

神譯局是36氪旗下編譯團隊,關注科技、商業(yè)、職場、生活等領域,重點介紹國外的新技術(shù)、新觀點、新風向。

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

圖片來源:https://www.pexels.com

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

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

知識

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

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

編程能力

實際上,編程并不是與計算機的通信和交互僅此而已,而是一項與人通信并指導計算機的工作。最終,編程中的代碼被編譯成 0 和 1。

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

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

如何辨別初級開發(fā)人員?

初級開發(fā)人員缺乏經(jīng)驗。很多初級人員都是剛剛畢業(yè),剛開始上手第一份全職工作,他們的心態(tài)通常是:只要代碼能運行起來就行了??梢哉9ぷ鞯能浖蛢?yōu)秀的軟件在他們看來幾乎沒什么區(qū)別。

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

那么如何識別高級開發(fā)人員呢?

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

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

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

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

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

當然這并不意味著高級開發(fā)人員一路上不會出現(xiàn)任何問題,問題是不可避免的,這點誰都無法改變,對于高級開發(fā)人員來說也是如此。

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

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

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

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

進入更高的層次

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

  • 初級到中級

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

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

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

  • 中級到高級

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

與中級不同的是,高級開發(fā)人員知道哪些可以做哪些不應該做,而這些都是過去犯過錯誤積累的教訓。

如果你想進階到高級開發(fā)階段,就必須準備好迎接那些沒有人知道如何解決的任務,與此同時,你知道的應該比如何工作所需要多得多。

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

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

圖片來源:https://www.pexels.com

結(jié)論

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

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

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

最后,用Martin Fowler(現(xiàn)為ThoughtWorks公司的首席科學家)的一句話作為結(jié)尾:“任何傻瓜都能寫計算機能理解的代碼,優(yōu)秀的程序員編寫人類能夠理解的代碼(Any fool can write code that a computer can understand. Good programmers write code that humans can understand)?!?/p>

譯者:小灼

本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
細說高級程序員的幾個成長階段 – 碼農(nóng)網(wǎng)
初級、中級和高級開發(fā)人員之間的差異
程序員不是砌磚工人,他們是作家
開發(fā)人員如何高效編程?
優(yōu)秀的程序員該如何更上一層樓 – 碼農(nóng)網(wǎng)
掌握這15種工具,Web開發(fā)事半功倍
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服