如何辨別開發者等級?
作為開發人員的初、中、高階並不僅僅與擁有多少年的程式設計經驗有關。有時候初級開發人員甚至可能比高階開發人員年齡大。同樣,這也這並不意味著高階開發人員必須成為所有人的專家。不過可以肯定地說,高階開發人員比初級和中級開發人員更加熟練。但不僅僅是編碼技能使高階開發人員與中級和初級開發人員區別開來。
接下來讓我們一起來探究一下,究竟可以怎樣來判斷開發人員的初、中高階?
知識面
顯然,高階開發人員比初級和中級開發人員擁有更多的知識。多瞭解設計模式、架構、自動化測試、效能、安全性等是初級開發人員與中級和高階開發人員縮小知識差距的好方法。
知道如何完成軟體開發中的事情非常重要。但只是知道所有這些東西並不能使你成為高階開發人員。知識不是開發人員之間的最大區別 - 這只是其中一個因素。
編碼
儘管大多數人認為,編碼不僅僅單純是計算機通訊。編碼是關於與人交流和“操控”計算機。最終,程式碼被編譯並轉換為零和一。
程式碼必須對將來使用它的其他開發人員有意義。讓從未見過原始程式碼的新團隊能夠開啟程式碼並開始處理新功能或錯誤修復。這是初級和高階開發人員之間的巨大差異。
我將在這個比較中省略中級開發人員,因為在編碼技能方面,中級開發人員是一個灰色地帶。顯然,它介於初級和高階之間。它可能更傾向於高階方面。這主要與經驗有關,因為中級開發人員可能已經完成了整個開發週期至少一次。他們會犯許多簡單的錯誤,但也能從中吸取教訓。
如何辨別初級開發人員?
初級開發人員缺乏經驗。有些剛畢業,正在開始他們的第一份全職工作。初級開發人員的心態通常是讓程式碼工作。可以工作的軟體和好的軟體對他們而言似乎沒什麼太大區別。
編寫簡單的程式碼很難。這是初級開發人員不做的事情。初級開發人員多會編寫一些比較“奇特”的程式碼。您可以透過那些看起來有些古怪的單行和過於複雜的抽象化來識別初級開發人員。這是初級開發人員炫耀並讓其他開發人員知道他們可以編碼的好方法。但這樣的做法其實是錯的。
初級開發人員專注於程式碼在計算機的方面但卻犧牲了人性化的一面。
高階開發人員怎麼樣?
在檢視高階開發人員的程式碼時,您可能會想:這就是全部嗎?程式碼的其餘部分在哪裡?高階開發人員編寫簡單、直接,甚至是“愚蠢”的程式碼。但這其實是開發人員在程式設計時可以擁有的最好的品質之一。一位資深開發人員遵循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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 釣魚郵件真假難辨?幾招教你如何辨別
- 揭祕如何辨別高仿包包
- 什麼是等級保護?一級等保和三級等保有什麼區別?
- 等級保護分為幾個等級?一級、二級、三級有什麼區別?
- 等保二級和等保三級的三大區別講解
- blog保姆級別開發流程七
- iOS11.4.1 beta開發者升級攻略 iOS11.4.1 beta開發者怎麼升級?iOS
- 等保等級如何進行劃分的?
- 《Sable》開發商Shedworks:如何改進遊戲藝術以提高辨識性遊戲
- 教你如何辨別網上實體網投,遠離黑網
- 網路安全中二級等保和三級等保有什麼區別?
- 開發者,別讓自己孤獨
- 如何辨別AG介面是官方線路還是分接線路
- 恆訊科技解析:如何辨別伺服器的硬體質量?伺服器
- 線上教育機構魚龍混雜,消費者應該如何辨別網路課堂的好壞?
- 高仿香奈兒零錢包如何辨別高仿香奈兒
- 微信開發者工具整合GitHub,多人協調開發,上傳拉取等Github
- 等保級別最高為幾級?市面上常見嗎?
- 乾貨 | 作為前端開發者如何邁向獨立開發者前端
- 什麼是等級保護?為什麼要開展等級保護?
- Web開發中,什麼級別才算是高併發Web
- 移動開發者如何賺錢移動開發
- 初學者如何學Java開發?Java
- 用友開發者中心全新升級,YonBuilder移動開發入門指南UI移動開發
- 谷歌開發者工具檢視hover、active和visited等樣式谷歌
- 教辨別this指向問題 包括箭頭函式函式
- 【網路安全小知識】二級等保和三級等保之間的區別有哪些?
- 如何有效辨別網路釣魚電子郵件?這六點要牢記
- 【ASP.NET Core】按使用者等級授權ASP.NET
- 【科普】等級保護與分級保護的區別和聯絡!
- APICloud開發者進階之路 | 超級實用技巧APICloud
- 不同層級的Android開發者的不同行為Android
- 好用的自媒體一鍵分發軟體有哪些?我來教你辨別
- 本地生活發展旺盛之勢下,4個方面教你辨別小程式平臺
- [譯] 如何成為更好的開發者
- 直播:開發者如何抵達“元宇宙”元宇宙
- Linux下一款為開發者設計的等寬字型Linux
- 【教你賺錢】安卓開發者如何走向獨立開發安卓