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