不是每一個(gè)寫(xiě)代碼的都是程序員。這里,我把程序員定義為以編程為生的人。我認(rèn)為世界上存在四類(lèi)程序員:科學(xué)家、碼農(nóng)、專(zhuān)家和工匠。下面我一一介紹自己的觀點(diǎn)。
科學(xué)家,與其說(shuō)他們是程序員,不如說(shuō)他們是數(shù)學(xué)家。他們發(fā)明了各種理論、算法和術(shù)語(yǔ),教科書(shū)上那深入的證明和計(jì)算也出自他們之手,其他的程序員都或多或少受益于他們的成果。有時(shí),他們的一篇論文能改變整個(gè)業(yè)界的思維方式,但他們通常不會(huì)也不喜歡把那驚世駭俗的理論商業(yè)化。相比之下,他們更喜歡沉浸在科學(xué)的象牙塔里,自得其樂(lè),好不快活。他們是程序員中最不經(jīng)常寫(xiě)程序的人,甚至有一些大師一輩子都沒(méi)寫(xiě)過(guò)程序,你也許認(rèn)為這違反了我們開(kāi)頭對(duì)程序員的定義,可誰(shuí)說(shuō)編程非要用鍵盤(pán)呢?
碼農(nóng),這個(gè)詞匯來(lái)自網(wǎng)絡(luò)上程序員的自嘲。但在這里,我把他定義為軟件的主體實(shí)現(xiàn)者。正如農(nóng)民工兄弟一樣,他們是軟件大廈的實(shí)際締造者,他們通常熟悉或精通一到兩門(mén)語(yǔ)言,在現(xiàn)有的架構(gòu)下進(jìn)行開(kāi)發(fā)。他們是程序員中的藍(lán)領(lǐng),干著某種程度上的體力活,但這并不是什么壞事,事情總要有人做,并且編程的自由行賦予了碼農(nóng)很大的創(chuàng)造和學(xué)習(xí)空間。如果承認(rèn)自己是個(gè)碼農(nóng)并樂(lè)于所從事的工作,那也是件極其美好的事,可問(wèn)題在于很多人并不是自己愿意做碼農(nóng),而是被迫成為了碼農(nóng),他們本應(yīng)是音樂(lè)家、運(yùn)動(dòng)員或者是商人,可因?yàn)榉N種原因成為了碼農(nóng),干著他們認(rèn)為枯燥且重復(fù)的體力活,所以他們不開(kāi)心,這種狀態(tài)下工作身心俱疲,也就是他們最容易發(fā)出程序員吃青春飯,三十歲以后還寫(xiě)程序沒(méi)出息,應(yīng)該轉(zhuǎn)管理之類(lèi)的蠢話??僧?dāng)他們真的成為了管理者,通常情況下,只有極少部分人找到了自己喜歡做的事,其他大部分碼農(nóng)仍將繼續(xù)他們的抱怨。綜上,碼農(nóng)是程序員中占比最大的群體,他們的可塑性最高,有剛學(xué)習(xí)編程的中學(xué)生,有剛參加工作的畢業(yè)生,也有工作多年仍樂(lè)于戰(zhàn)斗在第一線的資深工程師;作為碼農(nóng),首先要承認(rèn)自己的身份,然后找到自己的興趣與方向,或者樂(lè)于做一輩子碼農(nóng),或者準(zhǔn)備向其他三類(lèi)程序員轉(zhuǎn)換,再或者換個(gè)行業(yè),追尋自己最初的夢(mèng)想。
專(zhuān)家,他們?cè)谲浖袠I(yè)中摸爬滾打多年,見(jiàn)多識(shí)廣且精于一個(gè)或多個(gè)領(lǐng)域。他們?cè)?a target="_blank">公司里通常被稱(chēng)之為高級(jí)程序員,架構(gòu)師或是CTO,他們通常設(shè)計(jì)軟件大廈的結(jié)構(gòu),然后安排碼農(nóng)去實(shí)現(xiàn),或者自己寫(xiě)一些核心代碼。他們經(jīng)驗(yàn)豐富,具有技術(shù)前瞻性,能夠未雨綢繆,提前做出反應(yīng)以應(yīng)對(duì)軟件大廈腐朽的趨勢(shì)和業(yè)界的技術(shù)變化。他們性格單純,喜歡自己的工作,且薪水不菲,通過(guò)閱讀科學(xué)家的論文來(lái)保持與時(shí)代共同進(jìn)步。軟件行業(yè)很特殊,對(duì)于制造業(yè),杰出者與平庸者帶來(lái)的結(jié)果差距通常只有一到兩倍,可在軟件行業(yè)恐怕用千萬(wàn)倍形容都不為過(guò)。所以專(zhuān)家是公司的寶貝,任何一家公司都要不懈余力去爭(zhēng)取或培養(yǎng)專(zhuān)家;同時(shí),成為專(zhuān)家通常也是很多碼農(nóng)的終極夢(mèng)想。因此,如果你是一位專(zhuān)家,請(qǐng)接受我致以的崇高敬意。
工匠,他們是很特殊的程序員,與其他程序員關(guān)心技術(shù)本身相比,他們更關(guān)注實(shí)現(xiàn)的結(jié)果,他們是把科學(xué)家論文商業(yè)化的實(shí)踐者。對(duì)他們而言,重要的不是技術(shù)本身,而是利用技術(shù)創(chuàng)造偉大的產(chǎn)品。因此,你很難用前端、后臺(tái)、DBA、安全工程師定義他們,為了創(chuàng)造偉大的產(chǎn)品,他們?cè)敢鈱W(xué)習(xí)任何技術(shù),有些淺嘗而止,有些因?yàn)樾枰蚺d趣而精通無(wú)比。他們通常具有叛逆精神,本能地抵制權(quán)威,喜歡挑戰(zhàn)某個(gè)領(lǐng)域的領(lǐng)導(dǎo)者,具有傳統(tǒng)意義的黑客精神。他們對(duì)自己和別人都極其嚴(yán)格,具有很強(qiáng)的控制欲,喜歡插手編程之外與產(chǎn)品有關(guān)的事物,如設(shè)計(jì)、UI、市場(chǎng)等等;因?yàn)樗麄儾幌M驗(yàn)槟硞€(gè)環(huán)節(jié)的失誤而降低了產(chǎn)品的影響力,雖然他們并不總是對(duì)的。他們喜歡編程,但編程通常并不占據(jù)生活的全部,他們一定會(huì)有一些與大眾眼中程序員氣質(zhì)不符的愛(ài)好,如吹笛子,打劍道,玩音樂(lè),繪畫(huà),種地,旅行等等。他們特立獨(dú)行,性格倔強(qiáng),工作瘋狂,只愿和優(yōu)秀的人合作。因?yàn)槿绱朔N種,在一般的企業(yè)中,工匠很難共事,他們總會(huì)覺(jué)得自己的才華受到了限制,周?chē)娜烁簧纤墓?jié)奏;他們?cè)谀撤N意義上是公司的不穩(wěn)定因素,要么是天使,要么是魔鬼;絕大部分的企業(yè)不需要工匠,但對(duì)偉大或立志偉大的企業(yè)而言,工匠比專(zhuān)家還重要,專(zhuān)家可以把現(xiàn)有的產(chǎn)品做到行業(yè)領(lǐng)先,但工匠可以創(chuàng)造新的產(chǎn)品從而改變游戲規(guī)則。因?yàn)檫m合工匠的企業(yè)如此至少,他們中的有些人選擇自己創(chuàng)辦一個(gè)。
以上是個(gè)人對(duì)程序員的分類(lèi),科學(xué)家、碼農(nóng)、專(zhuān)家、工匠;每一個(gè)程序員依據(jù)技術(shù)能力,性格習(xí)慣一定會(huì)找到自己的類(lèi)型,但通?;蚨嗷蛏俣紩?huì)具有其他類(lèi)型的氣質(zhì),有工匠氣質(zhì)的科學(xué)家,喜歡與碼農(nóng)并將作戰(zhàn)的專(zhuān)家等等。對(duì)于每一位程序員,重要的不是你現(xiàn)在屬于哪種類(lèi)型的程序員,而是找到你希望成為的那種程序員,并為之努力。每一位程序員,都會(huì)有自己的精彩。
-
程序員
+關(guān)注
關(guān)注
4文章
949瀏覽量
29746
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論