這是一群非常不一樣的程式設計師,其他程式設計師對技術本身比較關注,但是這類程式設計師對實現的結果比較關注。對這些程式設計師來說,利用技術所創造出來的產品才是重點,技術本身不是重點.
因此,你很難用前端、後台、dba、安全工程師定義他們,為了創造偉大的產品,他們願意學習任何技術,有些淺嚐而止,有些因為需要或興趣而精通無比。他們通常具有叛逆精神,本能地抵制權威,喜歡挑戰某個領域的領導者,具有傳統意義的黑客精神。他們對自己和別人都極其嚴格,具有很強的控制欲,喜歡插手程式設計之外與產品有關的事物,如設計、ui、市場等等;因為他們不希望因為某個環節的失誤而降低了產品的影響力,雖然他們並不總是對的。
這類程式設計師愛程式設計,但是程式設計只是他們生活的一部分。他們生活的其他部分,會是旅行、種地、繪畫、玩**、打劍道、吹笛子,這些愛好,跟大家眼中的程式設計師氣質完全不符。這些程式設計師還是工作狂、性格倔強、特立獨行。
因 為如此種種,在一般的企業中,工匠很難共事,他們總會覺得自己的才華受到了限制,周圍的人跟不上他的節奏;他們在某種意義上是公司的不穩定因素,要麼是天 使,要麼是魔鬼;絕大部分的企業不需要工匠,但對偉大或立志偉大的企業而言,工匠比專家還重要,專家可以把現有的產品做到行業領先,但工匠可以創造新的產 品從而改變遊戲規則。因為適合工匠的企業如此至少,他們中的有些人選擇自己創辦乙個。
起初網路上沒有這個詞,這個詞的由來,是因為乙個程式設計師的自嘲。實際上,碼農也就是軟體的主體實現者。同千千萬萬農民工一樣,他們只是軟體大廈的締造者。也許他們熟悉或者精通幾門語言,開發現有框架。
他們是程式設計師中的藍領,幹著某種程度上的體力活,但這並不是什麼壞事,事情總要有人做,並且程式設計的自由行賦予了碼農很大的創造和學習空間。如果承認自己是個 碼農並樂於所從事的工作,那也是件極其美好的事,可問題在於很多人並不是自己願意做碼農,而是被迫成為了碼農,他們本應是**家、運動員或者是商人,可因為種種原因成為了碼農,幹著他們認為枯燥且重複的體力活,所以他們不開心,這種狀態下工作身心俱疲,也就是他們最容易發出程式設計師吃青春飯,三十歲以後還寫程式沒出息,應該轉管理之類的蠢話。
可當他們真的成為了管理者,通常情況下,只有極少部分人找到了自己喜歡做的事,其他大部分碼農仍將繼續他們的抱怨。綜上,碼農是程式設計師中佔比最大的群體,他們的可塑性最高,有剛學習程式設計的中學生,有剛參加工作的畢業生,也有工作多年仍樂於戰鬥在第一線的資深工程師;作為碼農,首先要承認自己的身份,然後找到自己的興趣與方向,或者樂於做一輩子碼農,或者準備向其他三類程式設計師轉換,再或者換個行業,追尋自己最初的夢想。
在軟體行業中,這些專家摸爬滾打了很多年。他們對乙個領域或者多個領域精通,而且見多識廣。在公司裡,這些專家通常被稱為高階程式設計師、cto或者架構師。他們通常設計好軟體大廈結構後,安排碼農去做,再自己寫核心**。
他們經驗豐富,具有技術前瞻性,能夠未雨綢繆,提前做出反應以應對軟體大廈腐朽的趨勢和業界的技術變化。他們性格單純,喜歡自己的工作,且薪水不菲,通過閱 讀科學家的**來保持與時代共同進步。軟體行業很特殊,對於製造業,傑出者與平庸者帶來的結果差距通常只有一到兩倍,可在軟體行業恐怕用千萬倍形容都不為 過。
所以專家是公司的寶貝,任何一家公司都要不懈餘力去爭取或培養專家;同時,成為專家通常也是很多碼農的終極夢想。因此,如果你是一位專家,請接受我致以的崇高敬意。
與其說他們是程式設計師,不如說他們是數學家。他們發明了各種理論、演算法和術語,教科書上那冗長的證明和計算也出自他們之手,其他的程式設計師都或多或少受益於他們的成果。有時,他們的一篇**能改變整個業界的思維方式,但他們通常不會也不喜歡把那驚世駭俗的理論商業化。相比之下,他們更喜歡沉浸在科學的象牙塔裡,自得其樂,好不快活。
他們是程式設計師中最不經常寫程式的人,甚至有一些大師一輩子都沒寫過程式,你也許認為這違反了我們開頭對程式設計師的定義,可誰說程式設計非要用鍵盤呢?
有兩種極端原型的程式設計師——「禪宗的程式設計師」,我們稱為心如止水的程式設計師,還有「不能克制分心的程式設計師」,我們稱為心緒不定的程式設計師。兩者都是非常極端的,所以他們應該處於貝爾鐘形曲線的兩端,對嗎?
錯。實際上,心緒不定的程式設計師是難以置信地普遍存在著。
的效果要比文字有用,所以我現在用來說明兩種程式設計師的精神世界的狀態。
心如止水的程式設計師
他寫**。這是他做的唯一的事情,這也說明了一切。也許更重要的問題是什麼事情他沒有做:他沒有受分心的影響。專注的注意力,專注的修改,專注的編碼。一到兩個小時的純**時間,然後才是 20-30分鐘的休息,通常是離開電腦。之後他會繼續開始寫**。(以上所說的時間只是乙個例子。他可以用其它方式安排時間——不過他總是能平衡並搞定長時間的生產率。)
他的思維像平靜的水緩慢地流動。當然它不像那種恆久不變的凝固的冰。
這就是心如止水的程式設計師精神世界看起來的樣子:
即使你的精神世界現在看起來像乙個心如止水的程式設計師,只要你在編譯的時候開啟了 facebook 或者檢查了你的郵件還是做了其它什麼事情。
幾分鐘之後它就會像這樣:
女士們先生們,這就是你檢查你的郵件和開啟 facebook 後的狀況。如果你還擁有一堆實時通知,即時通訊,還要去檢查你的 rss 源和推特,結果就是大腦像上面圖中變成碎片的災難一樣。
你可能還沒有完全從這張圖恢復過來。不在特定的某天,任何時候都有可能發生。即使你把精神世界所有無用的東西最小化到工作列,它仍會留在那裡,不停地引誘你,消耗你的精神資源。朋友,時間就這樣走了,你會困惑它是怎麼不見的。
順便說一下,如果你是乙個心緒不定的人,你還是可以看看我們**的網頁漫畫!不必立刻回來把這篇文章讀完。別忘了訂閱那個漫畫源!看完所有的漫畫後可以分享給你的朋友並聊聊!做這些事不會過於分心的,真的!
心如止水的程式設計師更傾向於長期的幸福感和生產率。他有能力高度集中注意力,關注目標。
心緒不定的程式設計師更傾向於短暫的滿足感,長期這樣不能到達全部的潛力並且會對他自己的身體和精神帶來雙方面的傷害。他不能定下心來集中注意力。
其實無論是專家還是碼農,程式設計師都是為老闆服務,為公司服務。有人說程式設計師的收入都很高,這句話雖然沒錯,但是又有多少人看到程式設計師的辛苦。在很多大型企業,加班到最遲的永遠是程式設計師
程式設計師的四種型別
不是每乙個寫 的都是程式設計師。這裡,我把程式設計師定義為以程式設計為生的人。我認為世界上存在四類程式設計師 計算機 科學家 碼農 專家和工匠。下面我一一介紹自己的觀點。與其說他們是程式設計師,不如說他們是數學家。他們發明了各種理論 演算法和術語,教科書上那冗長的證明和計算也出自他們之手,其他的程式...
程式設計師的四種型別
不是每乙個寫 的都是程式設計師。這裡,我把程式設計師定義為以程式設計為生的人。我認為世界上存在四類程式設計師 計算機 科學家 碼農 專家和工匠。下面我一一介紹自己的觀點。計算機 科學家 與其說他們是程式設計師,不如說他們是數學家。他們發明了各種理論 演算法和術語,教科書上那冗長的證明和計算也出自他們...
你是哪種層次的程式設計師?程式設計師的四種型別
不是每乙個寫 的都是程式設計師。這裡,我把程式設計師定義為以程式設計為生的人。我認為世界上存在四類程式設計師 科學家 碼農 專家和工匠。下面我一一介紹自己的觀點。科學家,與其說他們是程式設計師,不如說他們是數學家。他們發明了各種理論 演算法和術語,教科書上那冗長的證明和計算也出自他們之手,其他的程式...