開發(fā)者是菜鳥還是高手?兩個問題秒見分曉
譯文雖然表面上看這根本不是個問題,但深究起來卻說法多多。而且更重要的是,我們該如何衡量一位開發(fā)人員是否已經由新手成長為資深?
菜鳥和高手有何區(qū)別?這真是個問題嗎?
有時候,這還確實就是個問題。我無意中聽到組內的開發(fā)者就此進行討論,而對話雙方恰好是一位資深人士外加一位初級開發(fā)人員。
這位高手是我個人合作過的最聰慧也最出色的程序員之一,他用了三十分鐘表達自己的觀點并陳述二者之間的差異。
隨著對話的推進,最初提出這一問題的新手開發(fā)者則引出了另外兩個非常有趣且值得深入思考的子議題:
1. 作為一名新手,我要如何客觀地判斷自己何時才有資格被稱為“資深開發(fā)者”?
2. 作為一名資深開發(fā)者,您是如何量化新手的進步程度并認定其已經成為高手的?
問題一
我覺得這個問題很有意思。在討論過程中,我也開始回憶自己的整個成長過程。
誠然,從業(yè)時間對于每位開發(fā)者來說都是順利晉級的必要指標。從招聘信息中就可以看出,眾多企業(yè)也對此深信不疑——當然,有些人認為5到7年即為資深開發(fā)者,而也有些人將從業(yè)時長限定在10到15年。但歸根結底,必須承認目前并沒有真正的“標準”來衡量一位開發(fā)者是否已經達到資深水平。
而從開發(fā)者自身出發(fā),有些人在經過幾年從業(yè)后即自信地宣稱其已經達到資深水平,而也有些人將目標設定在從業(yè)7到10年。很明顯,這些論調與實際的、可供參考的知識儲備沒有任何關系。雖然搞技術的人有點自負情緒也可以理解,但這種極為夸張的認知沖突與失衡可能令各方在此問題上完全無法達成統一意見。
那么所掌握的技術或者語言數量能否說明問題?有一派認為資深開發(fā)者只需要掌握一到兩種語言,因為只有著眼于一個方向不斷推進才能真正達到技術頂峰。然而另一種觀點則認為廣泛涉獵才是正道,身負多種技術及能力方可解決更為廣泛的實際問題。
不過著眼于問題的核心,是否資深仍然取決于我們能否處理好工作內容。而且無論我們被最終評判為新手還是高手,腳下的技術道路還是得一步步自己走下去。
因此經過認真思考,我認為***個問題的答案其實因人而異。如果非要給出一條比較明確的回應,那我認為當一位初級開發(fā)者擁有充足的技術能力與信心,可堪肩負企業(yè)提出的新任務時,那么其已經可以被視為資深團隊中的一員了。
問題二
我們可以利用無數指標進行衡量。坦率地講,判斷資深開發(fā)者的工作并不存在萬試萬靈的方法——至少我是沒見過。
當然,測試與考核都能夠起到一定作用,我們也應當重視這些評估手段。
但更有趣的是,人們往往并不會立足于對特定技術或者語言的熟悉程度來判定某位開發(fā)者是否“資深”。例如,小型企業(yè)當中技術管理者往往在交付Java企業(yè)應用領域經驗豐富。然而,他的日常工作卻是考核iOS開發(fā)者——而他對這類內容其實所知甚少。
好吧,可能有點跑題了。真正的問題在于,我們應當認真考量考核對象的成長情況。
首先,我們恐怕很難直接為青年人才正確傳達成長方面的量化指標。另外,如果非要選擇一種指標,那么我仍然堅持問題一中的結論:有能力完成單一或者一系列任務,有信心在規(guī)劃時間內結束且?guī)缀醪恍枰蕾囉谒说膮f助。
換言之,如果大家仍然在犯剛入行時常見的各種低級錯誤,那么肯定是跟“資深”二字無緣了。
結論
必須承認,我無法就這個問題給出確切的答案,而只是提供了一項可能適用的討論指標。
大家對此有何見解?您會使用哪些指標來判斷開發(fā)者的實際水平?請在評論中分享您的觀點~
原文標題:Junior vs Senior Developers: What's the Difference, Anyway?
【51CTO譯稿,合作站點轉載請注明原文譯者和出處為51CTO.com】
核子可樂譯