《优秀的程序员养成计划.docx》由会员分享,可在线阅读,更多相关《优秀的程序员养成计划.docx(5页珍藏版)》请在三一办公上搜索。
1、优秀的程序员养成计划优秀的程序员养成计划 问: 如何成为一名优秀的程序员,优秀的程序员是如何养成的,怎样成为一名优秀的程序员? 答: 0.优秀的程序员考核标准:对技术充满热情;编程是生活的一部分;会在你的耳边谈论技术相关的话题,如果你有兴趣的话;主动学习新技术;对自己不能认同的技术,感到不适应,无法全身心投入;聪明,对很多话题都感兴趣;在大学/工作之前就开始编程了;有隐藏的冰山,自己完成的大项目;对许多不相关的技术有了解。 1.程序员写的程序不是算法+语法,而是要能够满足用户需求的工具,要想达到用户需求就必须从各个方面来考虑,如业务、人机交互 、效率等方面,而不只是一个语言的问题,语言只是工具
2、,只知语法不知其他那就真是编程机器了!编程机器在印度高中生经过几个月培训,按照严谨的软件工程方法,加上较高的管理,就可以胜任了! 2.提出一个问题,并在这个问题上不断的深化,看他解决问题,分析问题的思路。计算机是一门综合性学科,所以我觉得出现偏才的概率会低于其他的领域,我不认为一个C程序员只懂C语言本身而不懂操作系统,编译原理,数据结构等会是一名优秀的程序员。 手写一段代码。主要考核这个人是否认真,仔细。面试官问他什么是观察者模式,他说网上找找就可以了。我觉着这样的一个人不热爱技术,不喜欢动手实践,最多也就是一个码农。 3.1.有的时候我觉得自己是优秀的程序员,什么时候呢?当我解决问题的时候,
3、当我学会一个技术,并且能应用于项目中的时候。我都会心里夸自己“你牛,你牛,你真牛”,这时候我整个人都飘起来,心情极佳。这时候我觉得整个世界是这么美好,所有的人都是那么和蔼可亲,我也乐于帮助别人。 3.2.有的时候我觉得自己不是优秀的程序员,什么时候呢?当自我感觉在某个技术方面已经很明白了,却遇到比自己更明白的人。当工作的时候,产品或者测试不断地给你找麻烦,让你加班加点的时候,我会生气。当我发现很多方面我还是菜鸟的时候。当我发现,我竟然还有很多方面应该向我儿子学习的时候,尽管他只有9个月大。当我发现我在与别人沟通,老是有麻烦的时候。 看成绩。以前我对这个很不理解,毕竟成绩只是代表过去的东西。但直
4、到一个很NB的外企来我们学校指定要GPA多少多少的时候,HR说成绩代表了你过去四年对你的工作一个认真负责的态度。而一个人的习惯,很难改变。 阅读他的代码,看是否善于提问,懂得若何运用搜索引擎。让他详细描述之前项目中遇到的问题和解决办法。程序不是用人堆出来的,花两个普通人的钱请一个高手,你得到的肯定比你请两个普通人多。 认真负责是一个很泛的话题,我觉得识别的方法也是有很多种的,比如跳槽时如何为前一家公司做了怎样的交接,或者是不是一个乐于帮助朋友并受朋友欢迎的人,一个人能对朋友的事认真,对自己的事会更认真。 通常一个技术人员有自己的博客的话,看博客是比较直接的,但是国内博客不乏一些抄袭现象,甚至连
5、错误的内容都不假思索地乱抄一通。我觉得可以根据博客上涉及的内容逐渐把话题展开,挑面试者擅长的话题聊下去。 一览青岛英才网某招聘顾问说到考察是否专注于某一领域,或者对某一技术兴趣很高。2. 学习能力是否很强,能否独立解决问题。3. 对于问题,能否提出自己的方案,并对方案进行优劣评价。4. 是否注重团队协作,理解团队的力量。5. 是否善于与他人分享知识,主动帮助他人解决问题。 开发是一种团队工作,如果一个java程序员只懂得语言本身,不懂html,js,css,那么他和前端开发交流一定很困难;不知道什么是SQL,视图,存储过程,那么DBA说什么他也基本听不懂。如果过去你只学习你喜欢的学科,研究你喜
6、欢的东西,对你不感兴趣的东西不认真对待,那么在团队中也要以你为中心吗?给你分配你喜欢的任务,其他的任务交给别人?如果有一天你突然对你的工作不感兴趣了,那还要另外找你感兴趣的事情给你做吗? 读读博客、学习新语言和框架、参与讨论以及看看同行在干什么。两耳不闻业界事,你就无法成为一名更优秀的程序员。每天工作24小时不会让你更有效率。休息、回家,然后打个盹。通常,很多难题是在我回家的时候解决掉的,解决方法通常在我开车时或第二天早上突然想到。不要害怕替换、重写、重构或者放弃垃圾代码。有时候,如果碰到可留可不留的代码,直接扔掉才是上策。永远不要爱上你的代码。 代码审查是一个不错但很少用的想法。指导经验比你
7、少的程序员,有助于整个团队。不要公开批评他人。指导并不是贬低别人。别人有时候会接受,有时候不接受。其实,有时候你可能会从自认为水平不如你的人身上学到很多东西。动手写代码之前要尽量理解要解决的问题。要做原型、从网上查找实例、跟其他也做这个的人讨论或者只是练练手而已。构建你从未做过或用过的东西是个坏习惯。如果开始就有思路,结果可能会更好。 尽可能使用开源,并且当你有能力的时候,要对其有所贡献。聚全社会之智慧,胜过某些“大”公司之短视。 尝试其他技术、框架、方法和观点。不要总以为只有你的选择才是可行的。别的选择也有可能比你的要强得多。要以开放的心态,来检验其他人的选择。尽量发布可以运行的代码。不要指
8、望QA能给你找出所有的程序错误。要经常并且全面深入地测试你的代码。编程是一项艰苦的脑力劳动活;有时你的大脑确实需要休息一下。拒绝例行公事地每周工作80小时,否则你的工作质量将大打折扣,花费大量时间取得的成果将前功尽弃。 一览重庆英才网某方面的招聘专家说到,对于企业来说,更看重程序员求职者的过硬本事,对代码的把控程度,这是考量一个人的核心。还一个更重要的就是耐心,如果一个程序员的耐心非常好,那么相信他完成自己任务的能力也很强,只有耐得住寂寞,才能写出好的代码。其实,大家不能忽略了一点,那些在工作中认真负责,不是说为了完成任务而完成任务,更多的是完成任务之后所学会的知识技能,而这种知识技能只能靠线
9、下自己自学,适当的时候问问是怎么处理碰到的问题,是一个很好的考量方式。最好不要找到一些闷骚的人,比如说讨论的时候一言不发就不好啦,一起去玩耍下也闷着自己,大家都不是比尔盖茨,还是要生活为重。 时过境迁,编程语言也在不断进步和完善,新的技术会出现,新的标准也会到来。当然不是说,所有优秀的程序员都对那些事物有浓厚的兴趣,但有很多程序 员他们从来不会主动学习新事物,除非迫不得已,因为他们不喜欢学习新东西。这些人往往是在大学时学的计算机专业,然后渴望毕业后找到份好工作。 如果你打算雇佣某个程序员,只要提到“我能掌握那个,只要把我送到培训中心一个星期”。不要雇佣那样的人。优秀的程序员不需要培训中心。事实上,优秀的程序员会提到你从未听过的新技术,然后向你解释为什么必须用它,即使他都不知道如何使用。 证书.这其实不是一个优秀程序员的特征,很多有计算机相关证书,很多没有。年龄也一样,有些18岁就展露头角,有些40岁才有所成就。我的经历告诉我,大多数平凡或者差的程序员大学时才开始编程,为了他们的计算机课程。而优秀的程序员编程的历史可以追溯到更远。如果你的准程序员在大学前没有接触过编程,他所有的经历都是从第一份工作开始的,他很可能不是一个优秀的程序员。文章由 一览重庆英才网 某招聘顾问整理,谢谢查阅。