每個程序員的性格不一樣,能力也不一樣。正因為如此,也就衍生出了不一樣的程序員。有些程序員自比碼農,還有些認為自己是專家。那麼你究竟是哪一類型的程序員,快來看看吧!
程序員常見的四種類型
1、工匠
這是一群非常不一樣的程序員,其他程序員對技術本身比較關注,但是這類程序員對實現的結果比較關注。對這些程序員來說,利用技術所創造出來的產品才是重點,技術本身不是重點。
因此,你很難用前端、後台、DBA、安全工程師定義他們,為了創造偉大的產品,他們願意學習任何技術,有些淺嘗而止,有些因為需要或興趣而精通無比。他們通常具有叛逆精神,本能地抵制權威,喜歡挑戰某個領域的領導者,具有傳統意義的黑客精神。他們對自己和別人都極其嚴格,具有很強的控制欲,喜歡插手編程之外與產品有關的事物,如設計、UI、市場等等;因為他們不希望因為某個環節的失誤而降低了產品的影響力,雖然他們並不總是對的。
這類程序員愛編程,但是編程只是他們生活的一部分。他們生活的其他部分,會是旅行、種地、繪畫、玩音樂、打劍道、吹笛子,這些愛好,跟大家眼中的程序員氣質完全不符。這些程序員還是工作狂、性格倔強、特立獨行。
因為如此種種,在一般的企業中,工匠很難共事,他們總會覺得自己的才華受到了限制,周圍的人跟不上他的節奏;他們在某種意義上是公司的不穩定因素,要麼是天 使,要麼是魔鬼;絕大部分的企業不需要工匠,但對偉大或立志偉大的企業而言,工匠比專家還重要,專家可以把現有的產品做到行業領先,但工匠可以創造新的產 品從而改變遊戲規則。因為適合工匠的企業如此至少,他們中的有些人選擇自己創辦一個。
2、碼農
起初網路上沒有這個詞,這個詞的由來,是因為一個程序員的自嘲。實際上,碼農也就是軟體的主體實現者。同千千萬萬農民工一樣,他們只是軟體大廈的締造者。也許他們熟悉或者精通幾門語言,開發現有框架。
他 們是程序員中的藍領,干著某種程度上的體力活,但這並不是什麼壞事,事情總要有人做,並且編程的自由行賦予了碼農很大的創造和學習空間。如果承認自己是個 碼農並樂於所從事的工作,那也是件極其美好的事,可問題在於很多人並不是自己願意做碼農,而是被迫成為了碼農,他們本應是音樂家、運動員或者是商人,可因為種種原因成為了碼農,干著他們認為枯燥且重複的體力活,所以他們不開心,這種狀態下工作身心俱疲,也就是他們最容易發出程序員吃青春飯,三十歲以後還寫程序沒出息,應該轉管理之類的蠢話。
可當他們真的成為了管理者,通常情況下,只有極少部分人找到了自己喜歡做的事,其他大部分碼農仍將繼續他們的抱怨。綜上,碼農是程序員中佔比最大的群體,他們的可塑性最高,有剛學習編程的中學生,有剛參加工作的畢業生,也有工作多年仍樂於戰鬥在第一線的資深工程師;作為碼農,首先要承認自己的身份,然後找到自己的興趣與方向,或者樂於做一輩子碼農,或者準備向其他三類程序員轉換,再或者換個行業,追尋自己最初的夢想。
3、專家
在軟體行業中,這些專家摸爬滾打了很多年。他們對一個領域或者多個領域精通,而且見多識廣。在公司里,這些專家通常被稱為高級程序員、CTO或者架構師。他們通常設計好軟體大廈結構后,安排碼農去做,再自己寫核心代碼。
他們經驗豐富,具有技術前瞻性,能夠未雨綢繆,提前做出反應以應對軟體大廈腐朽的趨勢和業界的技術變化。他們性格單純,喜歡自己的工作,且薪水不菲,通過閱 讀科學家的論文來保持與時代共同進步。軟體行業很特殊,對於製造業,傑出者與平庸者帶來的結果差距通常只有一到兩倍,可在軟體行業恐怕用千萬倍形容都不為 過。
所以專家是公司的寶貝,任何一家公司都要不懈餘力去爭取或培養專家;同時,成為專家通常也是很多碼農的終極夢想。因此,如果你是一位專家,請接受我致以的崇高敬意。
4.(計算機)科學家
與其說他們是程序員,不如說他們是數學家。他們發明了各種理論、演算法和術語,教科書上那冗長的證明和計算也出自他們之手,其他的程序員都或多或少受益於他們的成果。有時,他們的一篇論文能改變整個業界的思維方式,但他們通常不會也不喜歡把那驚世駭俗的理論商業化。相比之下,他們更喜歡沉浸在科學的象牙塔里,自得其樂,好不快活。
他們是程序員中最不經常寫程序的人,甚至有一些大師一輩子都沒寫過程序,你也許認為這違反了我們開頭對程序員的定義,可誰說編程非要用鍵盤呢?