初級還是高階開發者,到底區別在哪裡?
本文由碼農網 – civic5216原創翻譯,轉載請看清文末的轉載要求,歡迎參與我們的付費投稿計劃!
這聽起來是一個很明顯的問題,但是它真這麼簡單嗎?
我聽到過公司裡的一些開發人員討論這個問題。當時我的一位高階工程師正與兩個初級工程師討論一些其他的事情。當事情討論完,其中一個初級工程師提出了這個問題,初級工程師還是高階工程師。
那個高階工程師,恰好是那些個我有幸一起工作中遇到的最好最聰明的工程師中的一員,從他的角度,花費了30分鐘去努力闡述區別在哪裡。
對話夾雜著通常的答案進行中,那個提出問題的初級工程師(是公司裡有點小聰明的一個傢伙)試著將問題拆分成兩個子問題,在我看來是比較有趣、有探究性又有用的子問題:
1.客觀來說,我作為一個初級工程師如何能確定什麼時候我成了“高階工程師”?
2.作為高階工程師,你如何計量初級工程師的進展,怎麼知道啥時候一個初級工程師已經跨越了那道成為高階工程師的門檻?
問題1
我覺得第一個問題特別有趣。隨著辦公室討論的繼續進行,我盡力去回想從開始軟體開發工作一直到成長為一名開發者,這些年我思考了什麼問題。
毫無疑問,對每個開發者而言,成長為更高職級人員的過程中,時間是一個重要的因素。觀察這些年的各種各樣招聘資訊(一些人認為“高階”意味著最少5-7年的經驗,而另一些人認為它意味著至少10-15年),很顯然就專業時間需要多久沒有真正的“標準”。
僅僅過了幾年,一些開發者就認為他們自己是高階工程師,而另外一些人過了7-10年還人認為自己僅僅是“中級水平”。 作為招聘方,我知道以上事實都屬實。這些都毋庸置疑,是明瞭的常識。自負也是一件有趣的事情。針對“時間多久”會有不同意見,這種“阻抗不匹配”會引起爭執。
那跟學到的技術或語言種類有關係嗎?有一種學院派觀點認為,掌握一兩種語言也能成為高階工程師,只要他掌握瞭如何去處理在使用程式語言過程中遇到的問題的經驗就好。然而,另一種職業更加註重使用不同相似技術去工作,並用不同技術解決更多通用問題的能力。
這是明擺著的,就是取決於工作要你去幹嘛。從那個角度而言,內部討論你是否已經進入了“高階工程師”領域是沒用的。
經過了反覆思量以及聽了很久的討論,我總結道,針對第一個問題的內部判斷是相當各異性的。如果讓我去提出一個標準—-不管是不是非正式的—-那將是:作為一個初級工程師,當一個公司或團隊的高階技術人員讓你做某件事的時候,你所擁有的舒適和自信水平。
問題2
毫無疑問,存在無數量度能解答這個問題。坦白說,我還沒看到任何一個方案能作為銀彈或金標尺去測量所有的高階工程師。
是的,存在不少測驗和考試用來評價一個開發人員的能力水平。毫無疑問,這些測驗不能被忽略。
讓事情變得更加有趣的是,有時候那些判定什麼是“高階工程師”的人並不是對那些技術或語言很熟悉的人。例如,在一個小公司裡,技術部的專家可能是一個具有相當多基於Java商業程式部署經驗的Java開發人員。然而,同樣的專家又有可能負責招聘高階iOS開發人員的人。在缺乏高階iOS開發工程師時,有一些人就得頂上去,成為專家。
打住,我有點跑題了。這裡真正的問題是評價初級工程師的進展。
有一些可能的標準,大部分看上去不太容易(並非不可能)合適地傳達給初級工程師本人。再一次,如果被要求提供一個可能的標準,我覺得是這樣的標準,開發者能夠對任務或一系列任務(不管多巨大)給出一個估計的工作量,能夠有信心在一個合理的時間範圍(不要讓我給出任務估計)內去完成它,並且只需最小的輔助。
換言之,如果你還一直在犯同樣的錯誤,這個錯誤是你剛開始從事開發工作的時候就遇到的錯誤,那麼確定無疑,你沒有進入到高階工程師的領域。
結語
這篇文章不打算回答我那個精明的初級工程師的問題。相反,它引出了一個關於什麼標準能夠合理的應用到每個問題的討論,它是一個起點,如果你覺得不錯的話。
你認為呢?有些什麼標準兩邊都可適用?我們沒有成熟的人力資源部門,但是可能有一些東西我們能去學習認識。
留下一些評論,讓我們繼續這個問題。
譯文連結:http://www.codeceo.com/article/junior-vs-senior-developers.html
英文原文:Junior vs Senior Developers: What's the Difference, Anyway?
翻譯作者:碼農網 – civic5216
[ 轉載必須在正文中標註並保留原文連結、譯文連結和譯者等資訊。]
相關文章
- 高階程式設計師到底強在哪裡?程式設計師
- HTTPS和HTTP有什麼區別,到底安全在哪裡?HTTP
- Java初級~中級~高階進階之路Java
- windows10高階設定在哪裡_win10系統高階設定在哪裡開啟WindowsWin10
- Redis到底快在哪裡Redis
- win10版本區別是什麼_win10版本區別在哪裡Win10
- Cache 和 Buffer 的區別在哪裡?
- WinRAR初級中級高階等應用
- MVVM 到底比 MVC 好在哪裡?MVVMMVC
- Java反射慢,到底慢在哪裡?Java反射
- 程式設計到底難在哪裡?程式設計
- 【Linux基礎】ftp、sftp和scp是什麼?區別在哪裡?LinuxFTP
- 蘋果企業簽名到底比超級簽名好在哪裡蘋果
- MPLS與專線的區別在哪裡?——VecloudCloud
- 微信小程式和app最大區別在哪裡微信小程式APP
- 公有云和私有云的主要區別在哪裡
- 什麼是數字化和數字化轉型?區別在哪裡?
- script標籤到底該放在哪裡
- 區塊鏈遊戲到底是投資工具,還是遊戲?區塊鏈遊戲
- 廣州牽引力告訴你UE設計和UI設計的區別到底在哪裡?UI
- 單件流與批次流的區別在哪裡?
- DOM操作成本到底高在哪兒?
- 中國做3A遊戲到底難在哪裡?遊戲
- 程式設計師的差距在哪裡?程式設計師的三個級別,你在哪裡?程式設計師
- 智慧手環的未來在哪裡?健康還是時尚?
- 都說DevOps落地難,到底難在哪裡?也許你還沒找到套路dev
- CC攻擊和DD攻擊的區別在哪裡
- 創業和打工的最本質區別在哪裡?創業
- 新媒體運營與文案的區別在哪裡?
- 同樣是搞IT,年薪 15W 和 50W 到底差在哪裡?
- 幫你科普搞清VR和AR的區別 VR和AR間的區別到底在哪?VR
- 大資料中臺之Kafka,到底好在哪裡?大資料Kafka
- 好的程式設計師到底好在哪裡?程式設計師
- 自媒體盈利模式到底在哪裡?模式
- 聯合辦公和孵化器的區別在哪裡
- 華納雲:cdn和普通伺服器的區別在哪裡伺服器
- 基於雲的CRM系統到底好在哪裡?
- MQTT是TCP還是UDP?TCP與UDP區別MQQTTCPUDP