雷軍做程式設計師時寫的部落格,太牛了!

LZ太热發表於2024-04-08

來源:blog.sina.com.cn/leijun

這篇文章是在雷總個人部落格看到的,裡面聊到了他作為程式設計師的一些經歷、初衷以及思考。寫的不錯,轉來給大家看看。

如果程式人生的話,這條路太漫長。

我並非天生喜歡寫程式,上高中時也沒有想過程式設計師的生活。

我學電腦非常偶然,小時好友上大學時選擇了計算機系,為了和這個朋友有更多的共同語言,我也選擇了計算機系,開始步入程式人生的道路。

當我學會一些後,發現自己特別喜歡寫程式。我是八七年上的武漢大學計算機系,大一下學期才有專業課。當我有資格上機的時候,發現電腦世界太美妙,就一頭扎進去。

當時用的是 Motorola 68000 (相當 於 Intel 8088), 540K 的記憶體,執行的 UNIX 作業系統,八個人一起用。

大二學PC,又過了一學期,開始出現在老師的實驗室,幫忙幹活,當時就寫了現在很多人用的 RI (RAMinit, 清記憶體的小工具, 看來我還是最早一批寫 Shareware 的人)。

又過了一個學期,開始和校外的公司接觸。大二暑假,也就是1989年8月,和一個朋友組建了 Yellow Rose 軟體小組,寫了我第一個商品軟體 BITLOK 0.99。後來自己創業辦過公司,也寫過一些其他的軟體。

大學畢業後,分到研究所,不太適應那裡的氣氛,就在1992年初加入金山軟體,開始了職業程式設計師的生涯。後來成了金山軟體研發部門的主管,但我一直都是一線的程式設計師。

# 程式設計的感受

程式設計師活在自己想象的王國裡

我剛接觸電腦就發現電腦的妙處,電腦遠沒有人那麼複雜。如果你的程式寫得好,你就可以和電腦處好關係,就可以指揮電腦幹你想幹的事。

這個時候你是十足的主宰。每你坐在電腦面前,你就是在你的王國裡巡行,這樣的日子簡直就是天堂般的日子。

電腦裡的世界很大,程式設計人是活在自己想象的王國裡。你可以想象到電腦裡細微到每一個位元組、每一個位元的東西。

我愛程式設計這個工作,可以肯定我會幹上一輩子

不少人認為程式設計師最多幹到三十五歲就可以收山換環境了,腦子也差不多該歇歇了,體力也不支了。並認為寫程式是年輕人的事情,到了一定歲數,估計沒什麼人再當程式設計師了。

當我剛有一點本事的時候,我也和大家一樣覺得程式設計辛苦,也想三十歲後幹別的。當我年長一點後就發現了自己的無知。

一個人大學畢業就二十一二歲,有點水平的時候可能二十五,接著就是過日子諸多事情。一切搞掂的時候,也許就是三十五歲。如果這樣的話,我們就不用選擇程式人生的道路。

電腦進入中國時間並不短,但真正大規模開始用,還是八五年 PC 開始的,因此國內真正寫電腦程式的人最長也就寫了十幾年(不知道是否還有這樣的人)。

由於電腦應用在國內時間比較短,國內開發的主力是三十五歲以下的年輕人為主。但這不表示程式設計師如同紅粉佳人般的容易衰老。美國主力工程師以三十四十多歲的人為主。

開始的時候,我們覺得我們沒有什麼不能做的(現在還能聽到這樣的豪言壯語),而且更要命的是好象我們特別聰明,特別適合開發軟體,比老外強得多。

當我們真正接觸那些傑出的開發人員的時候,發現他們太厲害了,都有十多年的開發經驗。雖然也有很多年輕人做了很多好東西,但決大多數的產品出自這些有豐富開發經驗的程式設計師的手。

剛畢業的時候,程式設計不僅僅是愛好,而且也成了一輩子的工作。整天不知道寫些什麼東西,覺得特別沒勁,找不到感覺,特別灰心。

後來,才明白,只有全身心地投入,程式才會有感覺。

寫程式的活特別費腦子,也特別累,但我喜歡,可以肯定我會幹上一輩子,雖然我沒有打算一生只幹這一件事。用一生來程式設計序是一件既容易又困難的事。

如果碌碌無為,為交差寫點程式,這樣的日子太好混了。但如果想全身心地寫程式,寫十年就不是一件容易的事。

現在我不少朋友都洗手了,有時我也想“用什麼電腦呀,Windows 外的世界不是也很大嗎?”。

面對電腦的時候,立刻頓悟:寫程式還是自己最擅長的事,也是最喜歡的事。

高階程式設計師不是追求的目標

有的人學習程式設計技術,是把高階程式設計師做為追求的目標,甚至是終身的奮鬥目標。後來參與了真正的商品化軟體開發後,反而困惑了,茫然了。

一個人只要有韌性和靈性,有機會接觸並學習電腦的程式設計技術,就會成為一個不錯的程式設計師。剛開始寫程式,這時候學得多的人寫的好,到了後來,大家都上了一個層次,誰寫的好只取決於這個人是否細心、有韌性、有靈性。掌握多一點或少一點,很快就能補上。

成為一個高階程式設計師並不是件困難的事。

當我上學的時候,高階程式設計師也曾是我的目標,我希望我的技術能得到別人的承認。後來發現無論多麼高階的程式設計師都沒用,關鍵是你是否能夠出想法出產品,你的勞動是否能被社會承認,能為社會創造財富。成為高階程式設計師絕對不是追求的目標。

# 程式設計不僅僅是技術,還是藝術

有人認為程式設計是一種熟練工種,也有人把程式設計說成是藝術創作。這兩種意見爭論比較激烈。我們換個工種來看,石匠應該是熟練工種,屬於工人,更和藝術似乎沾不上邊。但正是這些石匠,給我們留下多少文物古蹟,如樂山大佛、莫高窟等等。應該說這些石匠給我們留下了無窮的文化財產。

現代軟體工業已具相當規模,很多軟體的完成需要的是大兵團作戰。一名普通程式設計師接受編寫某一模組的任務後,往往只是寫程式碼,發揮的餘地很小。

在大專案中,很多程式設計師只能瞭解到和自己所編模組相關的很區域性的細節,另外還受到開發環境的限制,真的很難體會到自己在從事”藝術”創造,更多的時候是感到自己在從事重體力勞動。

有的時候還擔心自己苦苦參與的這個專案究竟有沒有意義,是不是在同類產品中有競爭力,會不會開發出來以後就因為硬體的發展,作業系統的換代而過時……

我認為程式設計的工作和石匠比較相似,有技術活,更多的是體力活。不管怎麼說,寫出一個好軟體不是一件容易的事。

這兩種想法都有片面性,程式設計應該說兩種屬性都有。

程式設計不僅僅是技術,也還是藝術。

程式設計是技術活,才有可能大規模進行,才會有軟體工程和軟體工廠。

也正是程式設計是藝術,才會有如此多的好產品,讓大家如痴如醉。

- END -

相關文章