|
研發(fā)
相對(duì)于開發(fā)來說,我個(gè)人更喜歡研發(fā)一點(diǎn)。研發(fā)和開發(fā)的一個(gè)不同之處就是研發(fā)有更多的研究成分在里面,也就是說研發(fā)的時(shí)候會(huì)有更多光明正大的學(xué)習(xí)時(shí)間,這對(duì)于那些對(duì)技術(shù)本身有追求的工程師來說是很有吸引力的。有一些人做工程師是為了可以創(chuàng)造出好的產(chǎn)品,然后掙大錢或者改變世界;也有一些人做工程師是因?yàn)閷?duì)技術(shù)本身有興趣,想要好好研究。可以憑借技術(shù)名利雙收變身成功人士固然很有吸引力,但不關(guān)心世事鉆研一些自己喜歡的東西也自有它的樂趣在。
如果說開發(fā)產(chǎn)品是輸出,那么學(xué)習(xí)思考就是輸入,只有輸出沒有輸入整個(gè)人就會(huì)廢掉,完全淪為一顆螺絲釘。在很多公司尤其是那種經(jīng)常加班趕項(xiàng)目的公司,你每天都會(huì)處于很忙碌的狀態(tài),腦子里想的都是趕緊把指定的任務(wù)完成上線。因?yàn)闀r(shí)間緊,所以你在開發(fā)過程中遇到什么問題都是只求解決,沒有心思和時(shí)間去搞明白為什么會(huì)出現(xiàn)那種問題,在這樣的工作狀態(tài)下完全沒有辦法積累工作經(jīng)驗(yàn),看上去好像工作了五年,其實(shí)是工作了一年,然后重復(fù)了四年。
做研發(fā)一般不會(huì)直接為產(chǎn)品貢獻(xiàn)代碼,更多做的是一些基礎(chǔ)架構(gòu)或者實(shí)驗(yàn)性的產(chǎn)品,所以它有幾個(gè)很明顯的好處。首先,很少開會(huì)。其次,沒有產(chǎn)品經(jīng)理。第三,一般都會(huì)把質(zhì)量放在第一位,時(shí)間不會(huì)特別緊。這是三個(gè)非常巨大的優(yōu)勢(shì),這意味著你絕大部分時(shí)間都可以安心學(xué)習(xí)、思考、設(shè)計(jì)、編程,幸福指數(shù)會(huì)飆升。如果你是做基礎(chǔ)架構(gòu),那么代碼質(zhì)量就會(huì)有硬性要求,你不得不寫得健壯、易用、松耦合并且易于調(diào)試,要花心思和時(shí)間細(xì)細(xì)打磨,對(duì)個(gè)人的能力提高、習(xí)慣養(yǎng)成和經(jīng)驗(yàn)積累都非常有幫助;如果你是做實(shí)驗(yàn)性的產(chǎn)品,那么你就有大量的機(jī)會(huì)和時(shí)間去調(diào)研最新的技術(shù),而且最棒的是你可以在產(chǎn)品當(dāng)中使用它們這對(duì)于開發(fā)線上產(chǎn)品的工程師來說是不太可能的,因?yàn)椴怀墒斓男录夹g(shù)存在太多未知的風(fēng)險(xiǎn)。
此外,做研發(fā)對(duì)工程師的素質(zhì)要求很高,需要很好的技術(shù)基礎(chǔ)、學(xué)習(xí)能力和研究能力我把它看作是一個(gè)優(yōu)點(diǎn)。從個(gè)人角度來說,我寧愿一家公司招聘非常嚴(yán)格需要竭盡全力才可以進(jìn)去,因?yàn)閲?yán)格的招聘可以保證團(tuán)隊(duì)所有成員的質(zhì)量,不用擔(dān)心進(jìn)去之后會(huì)和臭棋簍子下棋。既然選擇去做研發(fā),那么基本可以說明你是一個(gè)對(duì)技術(shù)有追求的人,也肯定希望周圍是一群和你一樣的人,而不是連基礎(chǔ)知識(shí)都不夠熟悉的家伙。只有這樣一群互相看得起的人在一塊研究、學(xué)習(xí)、思考、切磋才會(huì)其樂無窮,才能夠產(chǎn)生更多創(chuàng)意,做出好玩的東西。
當(dāng)然,做研發(fā)也有不好的地方。只有大公司才有研發(fā)部門,這些公司一般都已經(jīng)上市或者員工已經(jīng)很多,你不太可能有機(jī)會(huì)一夜暴富。當(dāng)你埋頭做了幾年研發(fā)之后,某一天去參加同學(xué)會(huì),發(fā)現(xiàn)大學(xué)時(shí)候那個(gè)數(shù)據(jù)結(jié)構(gòu)不及格總是求你讓他拷貝編程作業(yè)的張三衣著光鮮四處敬酒。他所在的公司剛剛上市,因?yàn)檫M(jìn)去得早,現(xiàn)在他變成了百萬富翁而且榮升高層。于是你忽然開始懷疑自己當(dāng)初的選擇,連學(xué)習(xí)和編程的樂趣都變得很不真實(shí)。所以,如果你渴望建功立業(yè),那么就不要選擇做研發(fā),或者做幾年研發(fā)之后就出來闖蕩。成功需要的條件很多,而編程只是你的優(yōu)勢(shì)之一,只有這一個(gè)優(yōu)勢(shì)你需要太多的運(yùn)氣才可以得到你想要的。
不過,我們也可以換個(gè)角度看。亂世放不下一張安靜的書桌,現(xiàn)在到處都無比浮躁,有個(gè)地方可以讓你安安心心做一些自己喜歡的事情已經(jīng)非常難得,多少人拼命掙錢就是為了可以和你一樣做自己喜歡的事情。盡管那么多人在叫嚷搞原子彈的不如賣茶葉蛋的,但總有一些人愿意去追求人類最高財(cái)富知識(shí)和藝術(shù)家般的技藝。
本來做研發(fā)成就感會(huì)少一點(diǎn),作為一個(gè) Twitter 的開發(fā)工程師看到那么多人在用 Twitter 肯定會(huì)特別開心,相比之下某個(gè)在 Google 做基礎(chǔ)研究的工程師的成就感可能沒那么強(qiáng)烈。不過在國(guó)內(nèi)環(huán)境比較神奇,開發(fā)工程師非但成就感不多,反而會(huì)不少挨罵,還經(jīng)常會(huì)有負(fù)罪感,相信做過郵件推廣和廣告彈窗的工程師都深有體會(huì)。這樣一來,研發(fā)工程師的清苦反而變成了一個(gè)優(yōu)點(diǎn),可以遠(yuǎn)離很多不得不做的違背良心的事情。
相信很多工程師在入行之前是喜歡技術(shù)的,但是工作之后發(fā)現(xiàn)完全不是自己當(dāng)初想象的那個(gè)樣子,然后就變得失望麻木,不再對(duì)技術(shù)有熱情。其實(shí)你可以把熱情延續(xù)下去,只不過要去做研發(fā),而不是做開發(fā)。大部分由于興趣而不是生計(jì)學(xué)習(xí)編程的人,內(nèi)心真正渴望的都是去做研發(fā),只不過沒有人告訴他們開發(fā)和研發(fā)的巨大差別。現(xiàn)在不少大公司都有自己的研發(fā)部門,有一些還成立了自己的研究院,想要一直做技術(shù)的同學(xué)不妨嘗試一下。
如何選擇
很多人在大學(xué)里之所以會(huì)選擇計(jì)算機(jī)為自己的專業(yè),并不是因?yàn)樽约簩?duì)計(jì)算機(jī)和編程有興趣,而是因?yàn)橛?jì)算機(jī)是熱門專業(yè),在畢業(yè)之后也渾渾噩噩地找了一份工作進(jìn)入了這個(gè)行業(yè),做著自己并不喜歡的事情;還有一些人則是畢業(yè)之后找不到工作,然后看到一些培訓(xùn)機(jī)構(gòu)的廣告就去報(bào)名學(xué)習(xí)編程,希望廣告上描繪的月薪過萬不只是一場(chǎng)夢(mèng)。于是就有了越來越多的代碼民工,在形形色色的大小公司做著又臟又累的工作,只為了混口飯吃。
我并不想批評(píng)這些人,畢竟在這個(gè)大環(huán)境下有著太多無奈,逼得我們無從選擇。對(duì)于這樣一些只想找一份好工作的人,是被騙到這個(gè)行業(yè)中來的。仔細(xì)回憶一下,這些年來我們看到的業(yè)界新聞,了解到的互聯(lián)網(wǎng)公司文化,大部分都是有關(guān)諸如 Google, Facebook 等國(guó)外公司的;我們平時(shí)學(xué)習(xí)和使用的技術(shù),幾乎都是國(guó)外發(fā)明的。這讓我們深信互聯(lián)網(wǎng)就是那樣美好,那些激動(dòng)人心的東西觸手可及,但請(qǐng)你關(guān)上電腦出門好好看一下周圍:這是在中國(guó)。互聯(lián)網(wǎng)沒有國(guó)界,但互聯(lián)網(wǎng)公司有。Google 和 Facebook 這樣的公司看上去離我們很近,我們每天也使用它們的產(chǎn)品,但國(guó)內(nèi)的互聯(lián)網(wǎng)公司可能要幾百年之后才會(huì)有那樣的氣質(zhì)和文化。所以如果你不幸誤入了這個(gè)行業(yè),還是及早打算改行或者轉(zhuǎn)型做管理比較好,這樣就不需要再學(xué)習(xí)自己并不喜歡的枯燥技術(shù)了。
對(duì)于那些真的對(duì)技術(shù)有興趣的人,要么去做一個(gè)同時(shí)具備軟件設(shè)計(jì)能力的開發(fā)人員,也就是富有創(chuàng)造力的 Hacker;要么去做一個(gè)自得其樂的研發(fā)工程師。雖然環(huán)境惡劣,但是任何東西都擋不住真正的熱愛。在這個(gè)幾乎人人都把金錢作為衡量標(biāo)準(zhǔn)的社會(huì)里,你真是得到了上天的眷顧,不僅能夠以自己喜歡的事情謀生,而且收入還過得去。
Hacker 是適合創(chuàng)業(yè)的,因?yàn)樗麚碛袆?chuàng)造一個(gè)產(chǎn)品的全部能力。電影《社交網(wǎng)絡(luò)》讓很多以寫代碼為生的人產(chǎn)生了幻覺,F(xiàn)acebook 創(chuàng)始人傳奇般的經(jīng)歷好像在向全世界宣布:世界是程序員的。很多人只是激動(dòng)地看到扎克伯格的技術(shù)能力,但是卻忽視了他的軟件設(shè)計(jì)能力和對(duì)產(chǎn)品細(xì)節(jié)的重視程度,好像只要埋頭編程就可以做出 Facebook。除了優(yōu)秀的技術(shù)能力之外,扎克伯格的思考能力和創(chuàng)造力同樣出類拔萃,可以感受得到他眼里的世界是不一樣的。我們的工程師又有多少人對(duì)生活中的事物有獨(dú)特而深刻的理解呢?獨(dú)立思考也應(yīng)該是 Hacker 的必備技能。
很多工程師都覺得自己會(huì)編程,只是缺少一個(gè)好的 idea;很多非技術(shù)人員則覺得自己有一個(gè)好的 idea,但是缺少編程能力來實(shí)現(xiàn)。要做一個(gè)產(chǎn)品,好的 idea 和實(shí)現(xiàn)它的能力缺一不可。然而,我們可以看到最后成功的往往是那些非技術(shù)人員,因?yàn)樗麄兛梢郧宄乜吹骄幊淌且患梢詫W(xué)習(xí)的事情;而工程師們則往往天真地認(rèn)為好的 idea 靠的是靈機(jī)一動(dòng),不會(huì)有意識(shí)地培養(yǎng)自己的觀察能力和想象力。很多好的 idea 都是來自于平日對(duì)生活的敏銳觀察和思考,然后這些點(diǎn)在某個(gè)時(shí)候忽然連成了一條線,把它簡(jiǎn)單地歸結(jié)為天才是懶惰的做法。
成為一個(gè) Hacker和做研發(fā),很難說二者哪一個(gè)更困難。Hacker 在技術(shù)上可以不是一流,但他運(yùn)用技術(shù)創(chuàng)造產(chǎn)品的綜合能力肯定是一流的;而研發(fā)更注重技術(shù)上的造詣和理解程度,關(guān)注的是深度而不是廣度。如果想要做研發(fā),那么就要好好把基礎(chǔ)知識(shí)研究透徹,比如數(shù)據(jù)結(jié)構(gòu)、算法和網(wǎng)絡(luò)協(xié)議等,不然很容易就會(huì)遇到瓶頸。我遇到過的每一位研發(fā)工程師都是技術(shù)上的大牛,在很多技術(shù)問題上都有非常深刻的見解;他們會(huì)從本質(zhì)上分析問題,而不只是糾結(jié)于語言細(xì)節(jié)。
如果你想要通過自己的作品改變世界,那么就好好提高一下編程之外的能力,做一個(gè)好的 Hacker;如果只想埋頭技術(shù),就應(yīng)該選擇去做研發(fā)。不過,無論是想要做一個(gè) Hacker 還是一個(gè)研發(fā)工程師,都需要長(zhǎng)年累月地不斷學(xué)習(xí)和思考。聽上去好像非常辛苦,不過每一個(gè)熱愛技術(shù)的人應(yīng)該都會(huì)把學(xué)習(xí)和思考當(dāng)作一種樂趣,而不是一種苦役。如果你無法享受學(xué)習(xí)和思考的樂趣,那么還是不要在技術(shù)這條路上走下去了,你會(huì)活得特別累,并且毫無幸福可言。
在這個(gè)充斥著代碼民工并且缺乏技術(shù)文化的國(guó)度,我們只是關(guān)心怎么樣可以活得更舒服,似乎忘記了編程本身所具有的迷人色彩。Joel Spolsky 說過,許許多多的人選擇編程,首要的原因就是,他們寧愿將自己的時(shí)間花在一個(gè)公平有序的地方,一個(gè)嚴(yán)格的能者上庸者下的地方,一個(gè)只要你是對(duì)的就能贏得任何爭(zhēng)論的地方。此外,我覺得選擇編程還可以獲得最大限度的自由和獨(dú)立。因?yàn)檎夜ぷ鞯臅r(shí)候只需要憑借自己的編程能力,所以不需要見人說人話見鬼說鬼話,不需要去結(jié)交權(quán)貴達(dá)人,不需要去為了所謂人脈去混圈子,也不需要看到郵件列表里有領(lǐng)導(dǎo)的郵件就去頂。平日里寫寫代碼,其它時(shí)間喝酒吃肉,只交性情相投的朋友,武俠小說里的暢快適意也不過如此。這種獨(dú)立和自由是極為寶貴的,你可知道有多少人在醉酒之后哭喊安能摧眉折腰事權(quán)貴,使我不得開心顏?
所以說,編程這件事情關(guān)乎公平,關(guān)乎自由,關(guān)乎美。而作為一個(gè)擁有編程能力的人,你可以親手創(chuàng)造美。只有藝術(shù)家才可以創(chuàng)造美。希望有越來越多的人可以真正領(lǐng)會(huì)到編程的魅力所在,喜歡上這種藝術(shù)。正如 Raymond 所說,軟件設(shè)計(jì)和實(shí)現(xiàn)應(yīng)該是一門充滿快樂的藝術(shù),一種高水平的游戲。你需要用心。你需要去游戲。你需要樂于探索。
黑客事業(yè)之未來, 全依賴我們今日之創(chuàng)造。
最后推薦一些文章和書,這些文章和書大部分都與技術(shù)細(xì)節(jié)無關(guān),它們討論的是基于編程的令人心醉的文化,也適合非技術(shù)人員閱讀。
1. 如何成為一名黑客。所有學(xué)習(xí)編程的都應(yīng)該多看幾遍這篇文章,至少把 Hacker 和 Cracker 的區(qū)別弄清楚。
2. 大教堂和市集。這是一篇關(guān)于 Linux 的經(jīng)典文章。這里需要聲明一下,我對(duì)那些 Windows 程序員沒有偏見,只是我覺得作為一個(gè)以編程為職業(yè)的人,如果不參觀一下 Linux/Unix 的深邃世界,未免太過狹隘。
3. UNIX編程藝術(shù)。這本書雖然名字叫做編程藝術(shù),但里面并不講授如何編程,而是全面展示了迷人的 Unix 哲學(xué)和文化。看完之后你會(huì)發(fā)現(xiàn),那些看上去不修邊幅、整日對(duì)著電腦屏幕編寫代碼的邋遢程序員,對(duì)于美竟然會(huì)有那么高的追求。美在計(jì)算機(jī)科學(xué)中的地位,要比在其他任何技術(shù)中的地位都重要,因?yàn)檐浖珡?fù)雜了。美是抵御復(fù)雜的終極武器。 這本書的作者 Raymond 同樣是《如何成為一名黑客》和 《大教堂和市集》的作者。
4. 黑客與畫家。這篇文章是 Paul Graham 寫的,文中詳細(xì)描述了黑客與畫家的相似之處。這里所說的黑客和《如何成為一名黑客》中所說的黑客略有不同,但你可以看到他們很多共同點(diǎn)。本文也已經(jīng)被收錄到 《Hackers and Painters》一書,該書的中文版《黑客和畫家Paul Graham文集》由阮一峰翻譯,應(yīng)該很快就會(huì)面世,我十分期待。
5.創(chuàng)造者的品味。作者同樣是 Paul Graham,文章觀點(diǎn)獨(dú)到,見解深刻,每讀一次都有新的收獲。
6. 軟件隨想錄:程序員部落酋長(zhǎng)Joel談軟件。這本書是 Joel Spolsky 的精華文章結(jié)集,作者寫文章寫得非常有趣,擅長(zhǎng)講故事,前幾天我翻譯的那篇《程序員阿士頓的故事》就是他的手筆。本書由阮一峰翻譯,翻譯質(zhì)量非常高,有興趣的可以先去試讀幾篇。
7. About Face3交互設(shè)計(jì)精髓。本書是交互設(shè)計(jì)領(lǐng)域的經(jīng)典著作,作者之一 Alan Cooper 原來也是知名程序員,被稱為 Visual Basic 之父,所以這本書里面對(duì)程序員的批評(píng)還是很中肯的。另外,書中設(shè)計(jì)體貼的軟件的核心思想非常棒,值得程序員好好閱讀和思考。
it知識(shí)庫(kù):開發(fā)與研發(fā)(下),轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。