来自:鸡啄米

http://www.jizhuomi.com/career/286.html

写在前面:据传此文出自雷军之手,是他以前给软件开发2.0技术大会准备的演讲稿,但由于某些原因没有派上用场。这里跟大家分享下,对我们程序员来说还是大有裨益的。

每个IT企业,尤其是初创企业,都非常苦恼:

找不到好的程序员

现在大学、软件学院及各种培训机构,每年培养几十万的程序员,毕业的每个人都有同样的困扰:

找不到好的工作

问题出在哪里呢?

其实,企业需要的不是刚会写程序的人,而是来了就能干活的人,尤其能把活干好的人。而刚毕业的大学生多半刚学会如何写程序,的确很难满足企业的需求。

你肯定想问了,那一个刚入门的程序员如何成为企业需要的高手呢?还有很多程序员问我,“我需要具备什么样的能力就可以去创业?”我一直在琢磨类似的问题。我自己写过十年程序,也在金山管理过一千多人的研发队伍,最近也在做天使投资,所以我仔细总结了如下五点建议与所有的程序员分享。

01

只有真正喜欢才能写好程序

喜欢写程序,做程序员就是上天堂;

不喜欢写程序,做程序员就是下地狱。

程序员需要整天趴在电脑前,经常没日没夜的,非常辛苦,而且工作来不得半点虚假,少写一个标点符号都不行。喜欢的人,日子过得非常开心,每写一行代码,都会有新的成就,尤其当自己的作品被广泛应用的时候,那种自豪感油然而起。不喜欢的人,坐在电脑前极端无聊,被进度压得喘不过气来,天天为找bug改bug生气。

只有喜欢,只有热爱,才能把程序写好!

我建议不喜欢写程序的人早点转行,不要勉强自己,免得误人误己。

02

把程序当艺术品,像写诗一样来写代码

现在很少有公司做code review(对写好的程序做代码级检查),于是很多人在进度的压力下潦草应付,只要测试通过就算搞定。表面上看,开发速度很快,进度有保障;但实际上,这样的程序连开发者自己都很难读懂,一旦有bug,很难调试,将来维护升级都非常困难。这样的代码多半只能重写,浪费自然严重。

如果每个人写程序的时候当艺术品来写,写每行都认认真真、干干净净的,虽然速度略微慢了一点,但综合的开发成本会低很多。

如何写出像诗一样美的代码呢?方法也很简单。

1、买几本经典的编程书,把书上所有例程全部重新写一遍,逐个比较和书上范例的差距,一步一步改善自己编程的风格和技巧。时间长了,自然就能写出象书上例程一样的代码,甚至可以比书上写得更好。

2、基础扎实后,多看看Linux等系统级的源代码,看看高手是如何写的,就有感觉了。

3、通读一下MSDN中所有的资料,这样,“读书破万卷,下笔如有神”。

还有,一定要牢记软件工程的铁律:可能出错的地方一定会出错。每个变量都做初始化,引用每个参数都做有效性检查,在可能出错的每个地方都做边界条件检查,这样开发出来的程序一定会稳固很多,就是出错也会很容易修改。野路子出来的高手,一般开发速度很快,但做完后bug很多,经常需要很长时间修改。而真正的高手,追求的境界是bugfreecode(零缺陷代码)。

03

必须写够十万行代码,不要心存侥幸

程序员就像木工一样,熟能生巧。程序员必须写足够代码量的程序,才会有感觉,这是一个苦力活,没有任何捷径可走。

计算机是一门实践型的科学,没有动手能力做支撑,很难做出好的科研成果。我的一个学长是美国卡内基梅隆大学的博士,卡内基梅隆大学计算机系在全世界非常出名,他说每个博士生必须写十万行代码才能毕业,卡内基梅隆大学博士进任何一个大企业基本不用面试。而国内培养的大部分研究生、博士生,动手能力都偏弱。

没有写过足够代码量,想成为高手是不可能的,只能纸上谈兵!

04

时刻保持好奇心

计算机技术更新换代非常快,每年都有各种各样的新技术出现。在我过去的职业生涯中,仅编程语言,我就用过basic、masm、pascal、c++、vba、Delphi、java等。需要时刻保持好奇心,不断学习各种新的东西,才能在未来的几十年职业生涯中不落伍。你要理解为什么iPhone出来很多高手用iPhone,现在一天到晚惦记着换部iPhone玩玩。

人的精力有限,高手往往工作压力也比较大,如何在有限的时间内掌握整个行业动态,的确是一个不简单的事情。我的经验是经常看业内的各种技术杂志,参加各种聚会,可以节约很多时间。最重要的是,交几个博学的技术高手,多和他们交流,一定获益匪浅!

05

不要局限在技术本身,多花点精力关注用户

做到前面几条,就已经是千金难求的高手了。但一个真正的高手需要知道用户需要什么,如何做出让用户满意的产品。

现在的软件研发越来越强调团队协作,不少团队都配置了专门的需求分析工程师、用户界面及用户体验设计师,软件研发的分工越来越细。很多程序员以为只要把技术搞好,不用管用户需求和用户体验。实际上,需求方案及界面方案不可能写得非常细,具体的实施还是程序员自己来实现的。这个时候,好坏的差距很快就体现出来了。

我们写程序的最终目的是满足用户需求,不是简单完成需求规划方案中的功能。所以,程序员一定要认真揣摩用户心理,能明白用户的真实需求。

其次,怎么设计交互界面,让用户觉得好用,用起来舒服,这里面学问很大。我举一个小例子,每个程序窗口右上角都有三个按钮,如最小化、关闭等。乔布斯觉得不好看,不易用,他提出改用红绿蓝的交通灯。这样修改后,果然MacOS漂亮和易用了很多。

目前互联网和手机上的应用开发,都非常强调小团队研发。这样研发模式速度会快很多,但对程序员的综合素质的要求也就更高了。

我强烈建议程序员不要仅仅局限在技术本事,还需要多点精力考虑和用户相关的问题,学会洞察用户的需求,并努力设计好用易用的产品。做这到点的程序高手,创业成算就很大了。

这样的技术高手,如果捕捉到合适的产品方向,并且具备一定带团队的能力,创业成功机会很大!事实上,绝大部分创业的技术公司,创始人都是这样的人!

总结雷军给大家的五大建议就是:

  • 要打心底里喜欢技术

  • 要有耐心,注重代码质量

  • 量变产生质变,写过足够代码量

  • 保持好奇,持续学习

  • 写程序要真正关心和满足用户需求

雷军:程序员如何成功创业?相关推荐

  1. 雷军这个程序员!真的牛逼!

    阅读本文大概需要3分钟. 这两天忙着给CEO汇报工作以及跟进几个新产品的进展,忙到连新闻都没时间看. 今天终于轻松了点,早上起来刷了刷知乎,看见一个让我惊呆了的消息:雷军要造车了!雷军宣称亲自带队,初 ...

  2. 雷军做程序员时写的文章,太牛了!

    来源 | 雷军的博客 如果程序人生的话,这条路太漫长. 我并非天生喜欢写程序,上高中时也没有想过程序员的生活. 我学电脑非常偶然,小时好友上大学时选择了计算机系,为了和这个朋友有更多的共同语言,我也选 ...

  3. 雷军做程序员时写的博客,太牛了。。

    来源:雷军的博客 blog.sina.com.cn/leijun 这篇文章是在雷总个人博客看到的,里面聊到了他作为程序员的一些经历.初衷以及思考. 如果程序人生的话,这条路太漫长. 我并非天生喜欢写程 ...

  4. 【雷军】给程序员的五点建议--如何成为编程高手并以此创业

    除非特别注明,鸡啄米文章均为原创 转载请标明本文地址:http://www.jizhuomi.com/career/286.html 写在前面:此篇文章出自雷军之手,是他为软件开发2.0技术大会准备的 ...

  5. 小米手机老板,雷军,肯定是假程序员

    头发浓密被质疑是假程序员?雷军:每个人头顶都是一栋别墅 8月16日晚,雷军直播带货首秀中表示,前段时间有人质疑他是假程序员,因为程序员的头发都掉光了.他回应称"我当时可是很好的程序员,我们现 ...

  6. 雷军凌晨2点下班、刘强东睡4小时,这碗鸡汤程序员你必须干了

    每天早上叫醒你的是梦想还是闹钟?不同的人有不同的答案.科技圈的大佬们,别看他们每天出席各种活动.开会.接受采访表面上很风光,其实与我们普通的上班族一样,身价动辄上亿的他们每天都是满负荷运转. 一周工作 ...

  7. 中国最有名的8个程序员:不只雷军、张小龙,其中3人都当过首富!

    众所周知,雷军.张小龙在成名之前,就是业界知名的程序员. 1.雷军:毕业于武汉大学计算机系,大三的时候就帮人写程序,成了百万富翁.1991年进入金山软件做程序员,一做就是7年.后来他成为金山总经理,又 ...

  8. 马化腾、李彦宏、雷军,程序员国服三强谁的编程能力最牛?

    点击上方"CSDN",选择"置顶公众号" 关键时刻,第一时间送达! 他们,曾是勤勤恳恳的程序员 江湖中依然流传着他们如诗一般的代码 他们多才多艺 有的精通饶舌 ...

  9. JS、PHP、Python等五大编程语言爆漏洞;中兴 70 后程序员坠亡;雷军平定迅雷内乱 | 一周业界事

    点击上方"CSDN",选择"置顶公众号" 关键时刻,第一时间送达! 回顾刚刚过去的一周,谷歌 AI 中国中心成立,谷歌将以人工智能技术研发的方式"重返 ...

  10. 雷军:人因梦想而伟大 金山骨子里重视技术尊重程序员

    金山软件董事长雷军日前在金山软件成立30周年时表示,当年因为自己的电脑被不小心给格式化了,连备份硬盘都格式化了,断了后路,从此走上了当CEO的"不归路". 金山30年来辉煌的成绩和 ...

最新文章

  1. NLP之词向量:利用word2vec对20类新闻文本数据集进行词向量训练、测试(某个单词的相关词汇)
  2. 【学习笔记】JS进阶语法一window对象
  3. QML学习笔记-对QML基本认识
  4. linux ntp 追赶,Linux 时间同步 ntpd
  5. 商业信息敏感、安全处理(口令、数字证书-U盾-密保卡、指纹识别-虹膜识别)...
  6. Oracle 11gR2学习之二(创建数据库及OEM管理篇)
  7. 字符编码:ASCII,Unicode和UTF-8
  8. [转]几种图像处理类库的比较
  9. Android 手机进入不了fastboot模式的解决方案
  10. [2018.07.21 T2] 离家出走
  11. python matplotlib.pyplot报错tk_@邹博,python 中 import matplotlib.pyplot 会报Keyerror 'qt5' 的错...
  12. linux锐捷代码_锐捷认证 For Linux
  13. 手游天涯明月刀服务器维护到几点,天涯明月刀手游 1月21日停服维护 维护更新详解内容介绍...
  14. 安装ie11提示计算机安装了更新的版本,离线安装IE11浏览器提示quot;获取更新quot;解决方法 - 191路由网...
  15. 手把手教你Windows操作系统添加Virtio驱动
  16. odl源码系列一restconf模块
  17. 吐血整理出来的大数据知识点,你掌握多少?
  18. 带你了解微信代运营公众号到底怎么做
  19. 花木兰荣耀典藏皮肤特效一览 花木兰九霄神辉值得入手吗
  20. 国庆节上映的电影有哪些?2014国庆节上映的动画电影盘点

热门文章

  1. FreeMarker笔记 第二章 数值和类型
  2. 21个最佳jQuery插件推荐
  3. AJAX实现导航式多条件搜索
  4. wpf 自动完成comboxBox
  5. jspsmartupload上传文件 servlet得不到jsp参数
  6. 完整的安全方案需要参考的几个方面
  7. NetBeans 6.9 正式版发布!
  8. 注意sizeof()返回的数无符号数,有符号数遇到无符号数时变成无符号数
  9. poj 2182 Lost Cows 线段树!!!!
  10. TotalFinder for Mac(Finder增强工具)v1.14.1