给刚入门的程序员五点建议

  

  每个IT企业,尤其是初创企业,非常苦恼:找不到好的程序员。现在大学、软件学院及各种培训机构,每年培养几十万的程序员,毕业的每个人都有同样困恼:找不到好的工作。问题出在哪里呢?其实,企业需要的是不是刚会写程序的人,需要来了就能干活的人,尤其能把活干好的人。而刚毕业的大学生多半刚学会如何写程序,的确很难企业需求。

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

  建议一、只有真正喜欢才能写好程序

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

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

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

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

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

  建议二、把程序当艺术品

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

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

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

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

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

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

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

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

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

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

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

  建议四、时刻保持好奇心

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

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

  建议五、多花点精力关注用户

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

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

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

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

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

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

时间: 2024-09-30 15:01:42

给刚入门的程序员五点建议的相关文章

产品经理与程序员的矛盾从何而来?(给产品经理们的建议,给程序员的建议。程序员处在信息传导到最末端,因此比较弱势、信息不准确)

今天我们来讨论一下在软件开发过程中的一个很常见,也是令很多程序员头疼的问题,那就是与产品经理直接的矛盾到底是怎么形成的. 先看下面的一张图片,我想大家都明白其中的意思. 一.产品需求经常变动 由于产品经理经常改动需求,导致程序员不得不把做好的东西重新再做,结果可想而知.有的时候程序员加班加点刚做完的东西,被产品经理一句话给推翻了,说需求变动了,不能这么做.严重的时候连核心模块都完全大变样.就一直这样改完做,做完改,无限循环下去.这个小编我可是深有体会. 二.产品经理对程序员的不理解 遇到一个懂技

#转载#我给所有新手程序员的建议

我写代码已超过 20 年了,并且迄今为止也教了大约 6 门编程入门课,总课时已经 1000 多个小时了.以下是一些我跟学生至少说过一次的(入门编程的)建议,排名不分先后. 欢迎来到编程的世界! 1. 编程真的很难 无论你多擅长编程,唯一能降低开发速度的,就是学习和解决问题的能力.而当你越是擅长编程的时候,这种情况就可能越明显.这是一个非常吸引人的特质—你永远不会厌倦编程.如果你厌倦了,那么你的做法肯定是错的,你应该去总结思考你在重写的代码. 2. 编程也会是最令人沮丧的事情之一 编程的一般步骤是

写给未来程序员的建议

给计算机系学生的建议 大概在一两年前,我还在高喊,有着良好用户体验的Windows图形界面式客户端(rich Windows GUI client)将是未来的潮流.尽管我这样说了,但是时不时地还是有大学生写信给我,问我对于找工作有何建议.既然现在又到了招聘季节,我想我还是把我的标准建议写下来,让那些大学生读一读,笑一笑,然后忘掉. 大多数大学生都很自以为是,从不会虚心向前辈求教,他们觉得那样太麻烦.但是,很幸运,在计算机领域,这样做是对的.因为他们的前辈很可能会说一些不靠谱的话,比如"到2010

给程序员的建议

程序员如何优雅度过一生的15个建议(转) http://help.3g.163.com/16/0203/07/BESP8DN300964KAD.html 要点有以下几个: 1.积累你的代码量,不管是写什么样的代码,写那方面的代码,但是有一点,一定要思考,然后有所收获 2. 编程语言只是一种工具.(当然这个觉悟在菜鸟程序员看来简直是一个荒谬的事.但是当你学的足够深入,接触到一定量之后你就会对这个想法完全表示赞同.而且既然一种编程语言都只能说是一种工具的话,那对于前端来说,什么测试工具eslint,

初学者学习编程,如何训练自己的编程思维,资深程序员这样建议

近给大家讲了一堂关于初学者如何从零基础到就业正确的学习步骤,在课堂中我提过两点困难是初学者最大的问题,其中一个问题就是学了后面忘了前面的问题,还有一个最重要的问题就是编程思维.今天主要给大家讲一下初学者学习编程,如何更好的去提升自己的编程思维. 首先我们要明白一点,我们学习编程到底在学习什么?并不是单纯的只是学某个语言的语法,而是编程思维.只有掌握了正当的编程思维,我们才能真正去应对这个语言所出现的问题.才能把这个语言相关的编程题用代码实现出来,用计算机编程思维去思考问题,而不是在学习死知. 什

给程序员一些建议【转载】

不要局限在技术本身,多花点精力关注用户 做到前面几条,就已经是千金难求的高手了.但一个真正的高手需要知道用户需要什么,如何做出让用户满意的产品. 现在的软件研发越来越强烈团队协作,不少团队都配置了专门的需求分析的工程师.用户界面及用户体验的设计师,软件研发的分工越来越细.很多程序员以为只要把技术搞好,不用管用户需求和用户体验.实际上,需求方案及界面方案不可能写得非常细,具体的实施还是程序员自己来实现的.这个时候,好坏的差距很快就体现出来了.鞍山市皮防所www.pf0412.cn 我们写程序的最终

给程序员的五点建议--如何成为编程高手并以此创业

写在前面:此篇文章出自雷军之手,是他为软件开发2.0技术大会准备的演讲稿,但由于某些原因没有派上用场.这里跟大家分享下,对我们程序员来说还是大有裨益的. 每个IT企业,尤其是初创企业,非常苦恼:找不到好的程序员.现在大学.软件学院及各种培训机构,每年培养几十万的程序员,毕业的每个人都有同样困恼:找不到好的工作.问题出在哪里呢?其实,企业需要的是不是刚会写程序的人,需要来了就能干活的人,尤其能把活干好的人.而刚毕业的大学生多半刚学会如何写程序,的确很难企业需求. 企业到底需要什么样的程序员,一个刚

一个“纯屌丝”如何零基础转行做程序员

高考落榜后,生活像被蒙上了一层灰色的雾霾,看不清未来.在接下来的一两年中,磕磕绊绊地走了一些弯路.庆幸的是,我一直勇敢前行,欣慰的是,如今拨云见日,天朗气清. 放弃复读 一路波折 或许是因为年轻,心性不够成熟,我对高考的失败一直耿耿于怀,只顾嗟叹,连复读的勇气都没有.每每看到考上大学的同学在QQ空间发表状态.晒照片,总会有一种羡慕的感觉郁结心头. 在家闲的无聊,总觉得该找点事做,我在广告宣传的引导下来到传说中的新*电脑学校,学习网络技术,当时,不谙世事的我以为学完之后就能成功跨进IT行业,成为一

周瑜:如果想要在程序员生涯中取得成不错的成绩,就得在忙碌的工作中不断学习。

(全文较长,2260字,阅读须10min) 我不是一个伟大的程序员,我只是一个具有良好习惯的优秀程序员.--Kent Beck 周瑜,一个固执甚至刻板的男子,为了目标达成,他竭尽全力.为Dota游戏,他在大学曾累计在线4000小时研究战略战术,为Java面试,他不眠不休七天鏖战复习代码成功入职巨头企业,在鲁班学院,他同样执着,同样成功! (全文较长,2260字,阅读须10min) 一 一:彻夜苦修--凭技术优势进阶各大公司09年高考,周瑜阴差阳错被计算机专业录取,从此走进程序的世界.在学校的前几