如何辨別開發者等級?

京東科技開發者發表於2019-08-07

作為開發人員的初、中、高階並不僅僅與擁有多少年的程式設計經驗有關。有時候初級開發人員甚至可能比高階開發人員年齡大。同樣,這也這並不意味著高階開發人員必須成為所有人的專家。不過可以肯定地說,高階開發人員比初級和中級開發人員更加熟練。但不僅僅是編碼技能使高階開發人員與中級和初級開發人員區別開來。

接下來讓我們一起來探究一下,究竟可以怎樣來判斷開發人員的初、中高階?


知識面

顯然,高階開發人員比初級和中級開發人員擁有更多的知識。多瞭解設計模式、架構、自動化測試、效能、安全性等是初級開發人員與中級和高階開發人員縮小知識差距的好方法。

知道如何完成軟體開發中的事情非常重要。但只是知道所有這些東西並不能使你成為高階開發人員。知識不是開發人員之間的最大區別 - 這只是其中一個因素。


編碼

儘管大多數人認為,編碼不僅僅單純是計算機通訊。編碼是關於與人交流和“操控”計算機。最終,程式碼被編譯並轉換為零和一。

程式碼必須對將來使用它的其他開發人員有意義。讓從未見過原始程式碼的新團隊能夠開啟程式碼並開始處理新功能或錯誤修復。這是初級和高階開發人員之間的巨大差異。

我將在這個比較中省略中級開發人員,因為在編碼技能方面,中級開發人員是一個灰色地帶。顯然,它介於初級和高階之間。它可能更傾向於高階方面。這主要與經驗有關,因為中級開發人員可能已經完成了整個開發週期至少一次。他們會犯許多簡單的錯誤,但也能從中吸取教訓。

如何辨別初級開發人員?
初級開發人員缺乏經驗。有些剛畢業,正在開始他們的第一份全職工作。初級開發人員的心態通常是讓程式碼工作。可以工作的軟體和好的軟體對他們而言似乎沒什麼太大區別。

編寫簡單的程式碼很難。這是初級開發人員不做的事情。初級開發人員多會編寫一些比較“奇特”的程式碼。您可以透過那些看起來有些古怪的單行和過於複雜的抽象化來識別初級開發人員。這是初級開發人員炫耀並讓其他開發人員知道他們可以編碼的好方法。但這樣的做法其實是錯的。

初級開發人員專注於程式碼在計算機的方面但卻犧牲了人性化的一面。

高階開發人員怎麼樣?
在檢視高階開發人員的程式碼時,您可能會想:這就是全部嗎?程式碼的其餘部分在哪裡?高階開發人員編寫簡單、直接,甚至是“愚蠢”的程式碼。但這其實是開發人員在程式設計時可以擁有的最好的品質之一。一位資深開發人員遵循KISS原則:Keep it simple, stupid。

高階開發人員與初級開發人員在用不同的方式思考他們的程式碼。由高階開發人員編寫的程式碼將考慮可維護性和可伸縮性。這是一種與初級開發人員完全不同的心態 - 老年人正在考慮必須使用程式碼的人,而大三學生只是考慮讓它適用於計算機。


不僅僅是編碼技巧

除了編碼技巧,還有一些其他因素可以告訴你誰是什麼型別的開發人員。

通常情況下,初級開發人員會做一些影響較小的或較為簡單的任務。他們不做任何架構設計。中級開發人員同樣也不做解決方案,他們只是執行任務,但不同之處在於,在分配相對常規的任務時,他們就會以較少的監督去執行這些任務。而高階開發人員可以完全自己開發應用程式。

這並不意味著高階開發人員在此過程中沒有任何問題。每個開發人員每天都有很多問題,而且不會改變。這對高階開發人員來說並沒有什麼不同。

不同之處在於,高階開發人員知道如何正確地發現問題以及如何處理這些問題。中級開發人員可以在他們相對日常的任務中提出正確的問題,但需要更多的任務幫助。

高階開發人員永遠不會迷失,他們知道如何用方法的行動來跟進問題。這並不意味著高階開發人員不能向其他開發人員尋求幫助。有時,最好的方法是向其他有該領域經驗的開發人員尋求幫助。

中級開發人員也應該能夠提出正確的問題,只要他沒有被分配到需要深入知識水平的高度複雜的任務。

你不應該指望一個初級開發人員立即提出正確的問題。由於初級開發人員缺乏經驗,他們需要更有經驗的開發人員的指導。初級開發人員需要獲得必要的資源或向正確的方向大力推進。


進入下一個級別

作為開發人員,我們都希望自我提升並變得更好。但是,您可以採取哪些步驟來達到新的水平?

初級到中級
由於初級開發人員缺乏經驗,因此至少經歷幾次整個開發週期非常重要。透過這種方式,你可能將陷入大量陷阱並學習如何在下次避開它們。

在編碼時,你應該學習如何編寫簡單的程式碼。想想下一個將要處理這段程式碼的人。你還應該學習如何除錯,因為這將使你更好地瞭解過程中發生的情況。

此外,你應該熟悉最佳實踐並瞭解架構、效能、安全性等。縮小達到中級所需的知識差距。

中級到高階
從中級到高階可能會非常困難。一些開發人員可能會在整個職業生涯中都保持中等水平。

高階開發人員知道哪些角落可以切割,哪些角落不應該切割。這些都是過去犯錯吸取的教訓。

如果你想要達到高階水平,你必須準備好接受沒有人知道如何解決的任務。您應該瞭解的不僅僅是如何完成工作。

作為高階開發人員,你的部分工作也是幫助經驗不足的開發人員。當他們不知道如何做某事時,你就是其他開發者的後援。

高階開發人員掌握他們的技術堆疊可能並不令你感到驚訝。不僅僅是編碼技巧。瞭解您所在公司內使用的所有工具和應用程式。


結論

初級、中級和高階開發人員之間的差異並非全部來自多年的經驗。當然,可以肯定地說,高階開發人員比初級和中級開發人員更熟練。但知識並不是最重要的因素。

高階開發人員編寫更簡單的程式碼,並且與初級開發人員的思維方式不同。但它不僅僅是編碼技巧,知道要問什麼問題以及如何跟進這些問題是至關重要的。只有具有豐富經驗的高階開發人員才能在複雜的實際情況下做到這一點。

要成為中級開發人員,您應該專注於編寫簡單的程式碼並經歷多個開發週期。要從中級上升到高階開發人員,你不僅需要專注於學習而不僅僅是修復日常任務,同時還應該願意承擔最艱鉅的任務併成為你的技術堆疊的主人。別忘了,高階開發人員的另一個責任是成為缺乏經驗的開發人員的後援。

我將留下Martin Fowler的一句話:“任何傻瓜都可以編寫計算機可以理解的程式碼,但優秀的程式設計師編寫的是人類可以理解的程式碼。“(Any fool can write code that a computer can understand. Good programmers write code that humans can understand.)

以上資訊來源於網路,由“京東雲開發者社群”公眾號編輯整理,
不代表京東雲立場。

點選“更多”檢視更加豐富的雲端計算業內知識及資訊!

歡迎點選“ 京東雲 ”瞭解更多精彩內容

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69912185/viewspace-2652934/,如需轉載,請註明出處,否則將追究法律責任。

相關文章