這樣的程式員創業有戲

來源:互聯網
上載者:User

這是我為12月4日開始的“2008軟體開發2.0技術大會”準備的講稿。到了現場,我發現這個講稿對現場近千人的技術高手不適合,只好臨時講了移動互連網的趨勢。

致剛入門的程式員五點建議

每個IT企業,尤其是初創企業,非常苦惱:找不到好的程式員。現在大學、軟體學院及各種培訓機構,每年培養幾十萬的程式員,畢業的每個人都有同樣困惱:找 不到好的工作。問題出在哪裡呢?其實,企業需要的是不是剛會寫程式的人,需要來了就能幹活的人,尤其能把活幹好的人。而剛畢業的大學生多半剛學會如何寫程 序,的確很難企業需求。

企業到底需要什麼樣的程式員,一個剛入門的程式員如何成為企業需要的高手呢?還有很多程式員問我,“我需要具備什麼樣的能力就可以去創業?”我一直在琢磨 類似的問題。我自己寫過十年程式,也在金山管理過一千多人的研發隊伍,最近也在做天使投資,仔細總結了如下五點建議與所有程式員分享。

建議一、只有真正喜歡才能寫好程式

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

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

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

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

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

建議二、把程式當藝術品,象寫詩一樣來寫代碼

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

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

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

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

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

三、通讀一下MSDN中所有的資料,這樣,“讀書破萬卷,下筆如有神”。

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

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

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

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

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

建議四、時刻保持好奇心

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

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

建議五、不要局限在技術本身,多花點精力關注使用者

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

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

我們寫程式的最終目的是滿足使用者需求,不是簡單完成需求規劃方案中的功能。所以,程式員一定要認真揣摩使用者心理,能明白使用者的真實需求。

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

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

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

這些就是我說的《創業十大標準》中提到的“技術過硬”要求。

    這樣的技術高手,如果捕捉到合適的產品方向,並且具備一定帶團隊的能力,創業成功機會很大!事實上,絕大部分創業的技術公司,創始人都是這樣的人!比如迅雷的鄒勝龍和程浩,UCWEB的何小鵬和梁捷等。

 原文:http://blog.sina.com.cn/s/blog_4b0e23c90100bevf.html

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.