爲什麼要寫這篇文章?一個人成功,人們往往只關注到成功的光環,我想通過雷軍成功的背後,去挖掘他身上值得我們學習的地方,分享給學習程序、走在程序員道路上的各位。希望可以給大家帶來幫助。

人們熟知的雷軍往往只是小米的創始人、著名的天使投資人、金山的CEO,但他更是一位程序員。

那雷軍如何從一個程序員走到成功呢?

雷軍:如何從一個程序員走到成功

回顧我的程序人生

努力的編程天才

走進大學的第一個晚上我就去上自習。在我的印象中,像聞一多等很多名人都是在大學 成名的,我當時也想利用大學的機會證明我的優秀。每天早早的去自習室佔座,經常自習到深夜。上《數字邏輯》課,我基本能回答老師提問的所有專業問題。

當看到有同學不睡午覺看書的時候,爲此,我戒掉了午睡的習慣。我特別害怕落後,怕一旦落後,我就追不上,我不是一個善於逆境中生存的人。我會先把一個事情想 得非常透徹,目的是不讓自己陷入逆境,我是首先讓自己立於不敗之地,然後再出發的人 。

我把時間分割成以半小時爲單位,爲自己制定好每半小時的學習計劃。兩年修完了大學四年的課程。然後就揹着包上了武漢電子一條街實際操作去了,我不僅寫過加密軟件、財務軟件、CAD軟件,還做過電路板設計、焊過電路板,修護各種有故障的計算機。計算機搞懂精髓以後,所有的東西都很簡單。計算機不是一門理 論性很強的學科,強調的是實踐。

破解WPS

當我在武漢電子一條街“仗劍江湖”的時候,我有幸發現了這款求伯君的金山WPS,當時我就震驚了,我真的不敢相信,這是中國內地程序員開發的軟件。這款處理文字軟件不僅體積小、速度快、不復雜,而且功能強大,非常適合中文用戶使用。

WPS當年被推出後,成爲了市場上一款很火的軟件,據不完全統計,一年能賣3萬多套,每套批發價2200多元。面對2000多元的天文價格,我想到了一個辦法:破解金山WPS。

我幾乎兩週沒怎麼睡覺,破解完WPS之後,在求伯君的基礎上,對WPS做了更合理的提高和完善,使這款破解版的WPS在功能上有了進一步提升和增強,解密後的WPS版本,放在網上後,竟搖身一變成了當時國內最受歡迎的WPS版本。

成名之作——Bitlok

之後我認識了王全國,這是我生命中最重要的事。當時王全國正在做一個加密軟 件的界面,在這之前我正好寫過一個加密軟件的內核,於是我們決定合作開發一款加密軟件。

我寫軟件屬於是“直奔主題,一上來就幹”,而王全國則會“先從外面看看,看看有沒有竅門。在外面看半天再去做其實也挺慢的,直奔主題走錯方向也會很慢,兩者結合起來,不斷修正,就是一個很好的合作。

因爲8月1 5日學校開學,所以我們僅僅用了兩週時間完成了加密軟件的編寫。加密軟件BITLOK做完後,王全國所在公司發給他50元加班費,他把這50元給了我 ,這是我寫軟件得到的第一筆報酬。

免疫90——病毒殺手

1990年,我開發出了第二款商業軟件——免疫90。

這是我和武大同學馮志宏合作開發編寫的,這時候計算機病毒剛剛在大陸流行開來,我看到了商機,就起了念頭要做一款殺毒軟件。當時的條件並不好,我們在外面的一個公司找了一臺機器上機,兩個人分工合作開發程序,因爲寒假自由時間比較充裕,就選擇了在寒假進行開發。

免疫90是用PASCAL寫的,這個病毒免疫程序,可以讓程序免受病毒侵擾,如果染上病毒,該程序可以像抖落身上灰塵一樣把病毒清除,另外還做到了樣本庫升級和在英文環境下英文顯示,在中文環境下中文顯示。

售價260元一套的免疫90,上市後賣得很好。銷售了一年之後,我們每人賺了幾百元。之後在輔導員劉紹鋼老師的推薦下,免疫90獲得了湖北省大學生科技成果一等獎。

雷軍:如何從一個程序員走到成功

1991年,一個計算機展覽會上,我見到了仰慕已久的求伯君,他邀請我進金山。經過深思熟慮,最後我決定加入金山成爲金山第六位員工。

爲什麼選擇金山?

求伯君因爲寫程序,在金山成功了,而且是打工成功的。金山如果能夠造就一個求伯君,就會造就出第二個、第三個。目 前我不想創業,創業我還缺太多的東西,創業需要很多條件的組合。

走上了當CEO的“不歸路

1998年,當時金山100人吧,遇到了不少管理上的挑戰,求總也不想管,我也不想管,後來我們就想找個CEO來幫我們管,結果找了幾個人談,要不就是我們看不上人家,要不就是人家看不上我們,反正就是沒找到。

怎麼辦呢?求總就說雷軍你來管嘛。

我跟求總說,這樣,我先幹着,我先當總經理,如果找到比我好的我們再換人就可以。

於是我白天當總經理,晚上加班幹程序員,當了好幾個月。

當時心裏還在想,我有沒有可能在當總經理的同時還能把程序員幹好?

在我做着這樣一個美夢的時候,一個意外的事情發生了,有一個人推了我一把,從此金山少了一個好程序員,多了一個不怎麼樣的CEO。

出了什麼事呢?

我們公司來了一個同事,這個同學叫劉光明,把我的電腦不小心給格式化了,連備份硬盤都格式化了,斷了我的後路,從此走上了當CEO的“不歸路”。

萬般皆下品,唯有程序高

當時的金山還是一個純粹的技術公司,高層幾乎都是程序員出身,有着極其濃厚的程序員文化。

在我們那兒就是”萬般皆下品,唯有程序高”,所有人都狂熱地喜歡寫程序。

大家喜歡到什麼程度呢?

我記得當年我們的隊伍裏面也有幾位非常好的程序員做了高管,比如說董波董老師,幹了兩三年以後來找我,說雷總,能不能不讓我做副總裁了,我直接就寫程序就好了。我說好啊。

等我答應董波以後,萬萬沒想過,第二個人舉手了,沈家正當時是助理總裁,也跟我說,我能不能也回去寫程序?

所以,在金山這種特殊的環境下,我們一直有着極其濃郁的程序員文化,就是這樣的文化,使我們堅持了技術立業,堅持不斷地科技創新,才一步一步有了今天。

給所有程序員分享我的經驗

每個IT企業,尤其是初創企業,都非常苦惱:

找不到好的程序員

現在大學、軟件學院及各種培訓機構,每年培養幾十萬的程序員,畢業的每個人都有同樣的困擾:

找不到好的工作

問題出在哪裏呢?

其實,企業需要的不是剛會寫程序的人,而是來了就能幹活的人,尤其能把活幹好的人。而剛畢業的大學生多半剛學會如何寫程序,的確很難滿足企業的需求。

你肯定想問了,那一個剛入門的程序員如何成爲企業需要的高手呢?還有很多程序員問我,“我需要具備什麼樣的能力就可以去創業?”

雷軍:如何從一個程序員走到成功

只有真正喜歡才能寫好程序

喜歡寫程序,做程序員就是上天堂;

不喜歡寫程序,做程序員就是下地獄。

程序員需要整天趴在電腦前,經常沒日沒夜的,非常辛苦,而且工作來不得半點虛假,少寫一個標點符號都不行。喜歡的人,日子過得非常開心,每寫一行代碼,都會有新的成就,尤其當自己的作品被廣泛應用的時候,那種自豪感油然而起。不喜歡的人,坐在電腦前極端無聊,被進度壓得喘不過氣來,天天爲找bug改bug生氣。

只有喜歡,只有熱愛,才能把程序寫好!

我建議不喜歡寫程序的人早點轉行,不要勉強自己,免得誤人誤己。

把程序當藝術品,像寫詩一樣來寫代碼

現在很少有公司做code review(對寫好的程序做代碼級檢查),於是很多人在進度的壓力下潦草應付,只要測試通過就算搞定。表面上看,開發速度很快,進度有保障;但實際上,這樣的程序連開發者自己都很難讀懂,一旦有bug,很難調試,將來維護升級都非常困難。這樣的代碼多半隻能重寫,浪費自然嚴重。

如果每個人寫程序的時候當藝術品來寫,寫每行都認認真真、乾乾淨淨的,雖然速度略微慢了一點,但綜合的開發成本會低很多。

如何寫出像詩一樣美的代碼呢?方法也很簡單。

1、買幾本經典的編程書,把書上所有例程全部重新寫一遍,逐個比較和書上範例的差距,一步一步改善自己編程的風格和技巧。時間長了,自然就能寫出象書上例程一樣的代碼,甚至可以比書上寫得更好。

2、基礎紮實後,多看看Linux等系統級的源代碼,看看高手是如何寫的,就有感覺了。

3、通讀一下MSDN中所有的資料,這樣,“讀書破萬卷,下筆如有神”。(來w3cschool學習編程就更事半功倍啦~)

還有,一定要牢記軟件工程的鐵律:可能出錯的地方一定會出錯。每個變量都做初始化,引用每個參數都做有效性檢查,在可能出錯的每個地方都做邊界條件檢查,這樣開發出來的程序一定會穩固很多,就是出錯也會很容易修改。野路子出來的高手,一般開發速度很快,但做完後bug很多,經常需要很長時間修改。而真正的高手,追求的境界是bugfreecode(零缺陷代碼)。

必須寫夠十萬行代碼,不要心存僥倖

程序員就像木工一樣,熟能生巧。程序員必須寫足夠代碼量的程序,纔會有感覺,這是一個苦力活,沒有任何捷徑可走。

計算機是一門實踐型的科學,沒有動手能力做支撐,很難做出好的科研成果。我的一個學長是美國卡內基梅隆大學的博士,卡內基梅隆大學計算機系在全世界非常出名,他說每個博士生必須寫十萬行代碼才能畢業,卡內基梅隆大學博士進任何一個大企業基本不用面試。而國內培養的大部分研究生、博士生,動手能力都偏弱。

沒有寫過足夠代碼量,想成爲高手是不可能的,只能紙上談兵!

雷軍:如何從一個程序員走到成功

時刻保持好奇心

計算機技術更新換代非常快,每年都有各種各樣的新技術出現。在我過去的職業生涯中,僅編程語言,我就用過basic、masm、pascal、c++、vba、Delphi、java等。需要時刻保持好奇心,不斷學習各種新的東西,才能在未來的幾十年職業生涯中不落伍。你要理解爲什麼iPhone出來很多高手用iPhone,現在一天到晚惦記着換部iPhone玩玩。

人的精力有限,高手往往工作壓力也比較大,如何在有限的時間內掌握整個行業動態,的確是一個不簡單的事情。我的經驗是經常看業內的各種技術雜誌,參加各種聚會,可以節約很多時間。最重要的是,交幾個博學的技術高手,多和他們交流,一定獲益匪淺!

不要侷限在技術本身,多花點精力關注用戶

做到前面幾條,就已經是千金難求的高手了。但一個真正的高手需要知道用戶需要什麼,如何做出讓用戶滿意的產品。

現在的軟件研發越來越強調團隊協作,不少團隊都配置了專門的需求分析工程師、用戶界面及用戶體驗設計師,軟件研發的分工越來越細。很多程序員以爲只要把技術搞好,不用管用戶需求和用戶體驗。實際上,需求方案及界面方案不可能寫得非常細,具體的實施還是程序員自己來實現的。這個時候,好壞的差距很快就體現出來了。

我們寫程序的最終目的是滿足用戶需求,不是簡單完成需求規劃方案中的功能。

所以,程序員一定要認真揣摩用戶心理,能明白用戶的真實需求。

其次,怎麼設計交互界面,讓用戶覺得好用,用起來舒服,這裏面學問很大。我舉一個小例子,每個程序窗口右上角都有三個按鈕,如最小化、關閉等。喬布斯覺得不好看,不易用,他提出改用紅綠藍的交通燈。這樣修改後,果然MacOS漂亮和易用了很多。

目前互聯網和手機上的應用開發,都非常強調小團隊研發。這樣研發模式速度會快很多,但對程序員的綜合素質的要求也就更高了。

我強烈建議程序員不要僅僅侷限在技術本事,還需要多點精力考慮和用戶相關的問題,學會洞察用戶的需求,並努力設計好用易用的產品。做這到點的程序高手,創業成算就很大了。

這樣的技術高手,如果捕捉到合適的產品方向,並且具備一定帶團隊的能力,創業成功機會很大!事實上,絕大部分創業的技術公司,創始人都是這樣的人!

最後,我們來學習鑑賞一下雷布斯曾經寫過的編程代碼~

雷軍:如何從一個程序員走到成功

雷軍:如何從一個程序員走到成功

相关文章