如何从优秀的程序员成为伟大的程序员[1]
怎样评定一名软件开发人员?这是一个颇为奇怪的问题。现在已经有了很多的理论和形式来做这件事,人力资源部门也试着帮你管理和反省自己的行为。然而,怎样才是一个伟大的软件开发人员,在今天,你该怎样发展你的职业生涯?以下是我评定团队中软件开发人员的"军规".按照这些技巧和规则,你可以改善你的现状,由一个优秀的程序员,成为一名伟大的程序员。
1、时间花在写精彩的代码上
这里说的不是数量,而是质量。对此,一种歪曲是:要数量,也要质量。你也许会很多次的`遇到以下的两种情境:
情境A:你有一个发疯似的能写代码的程序员,事情似乎在进展中……然后,Bug开始不断出现,你们也不知道为什么,好像永远补不完。补完十个,又出来五个,现在你手里的,就是一大堆代码……
情境B:你现在有一个看起来很聪明的程序员,你面试他的时候,他似乎无所不知,能把理论说的头头是道。然而,你留给他三个任务,三个星期以后,他还在做一些三天就该干完的事。这下该你困惑了,他这么聪明,他知道generics(详见备注),多线程的一切事情,甚至还能给祖母级的人讲解什么是指针,让老太太兴奋的想去编程。可是--怎么什么都没完成?
于是,在梦境中--你写出了堪称伟大的代码,--伟大的代码是伟大的程序员写出来的,他睿智,明白代码的真正品质所在。写代码就像托尼?霍克在玩滑板一样自然优美,看上去就令人愉快。这些程序员以让你眼花的速度搞定一切,他们知道每个问题应该处理多长时间,也不会追捧寻觅所谓的世界最好解决方案,弄很多线程很多层来写一个简单的游戏。他们写的程序没有Bug,因为写的时候自己测试过了,在睡觉时也在写代码说的就是这样的人。这些程序员太宝贵了。
2、阐明问题
可以明确的是:即使有问题暂时处理不了,还有成百上千的方法去解决。有些人反应很迅速,很快就能提出多种解决方案。然而,一个伟大的程序员应该在做出行动以前清晰阐明问题--创建文档或用白板表达出来。他们写邮件给项目的管理者,这样表述:"我想和你说说我是怎么理解这个问题的,我们能这样处理吗?"然后他们就会动手给你多种方案。
对,这些人明白自己看问题和阐明立场的方式,而这理解方式大概不会是问题创建者所想要被理解的。请牢记这就是关键所在。一名伟大的程序员在尝试解决问题以前,一定要完全的理解它。你百分百搞明白了吗?没有?百分之九十九?--回去再多问些问题,确保百分之百理解清楚了。
3、怎样着手解决问题
那一搞明白了问题,就开始动手写代码?错!一个伟大的程序员应该按照规划,开始思考面临的多种选择,基于问题开始考虑最好的解决方案。我觉的这像一场国际象棋比赛。你知道每个棋可以怎么走,知道所有的游戏规则。但是你会马上走棋吗?不,你要审时度势,制订计划,紧盯对手,分析其通常的做法。和这一样,在你coding解决问题以前,你也要这么做。
看看问题,计算出需要怎样的结果,你的时间能怎么安排,预期的质量,你必须用的工具,……好了,开工吧!
-
销售实习报告(通用8篇)
一段忙碌又充实的实习生活又告一段落了,想必都收获了成长和成绩,是时候写一篇实习报告好好总结一下了。为了让您不再为写实习报告头疼,以下是小编精心整理的销售实习报告(通用8篇),欢迎阅读与收藏。销售实习报告1当我迈进大学生活的最后一个年头,站在我们面前的就是那...
-
关于食品类实习报告范文六篇
随着个人素质的提升,报告的使用频率呈上升趋势,我们在写报告的时候要避免篇幅过长。其实写报告并没有想象中那么难,下面是小编为大家整理的食品类实习报告6篇,仅供参考,希望能够帮助到大家。食品类实习报告篇1作为一名大学生,实习是必不可少的重要一课,它可以考验一个...
-
自信微笑为你打开职场之门
自信微笑为你打开职场之门看到诸多人才市场求职的那些行色匆匆的学弟学妹们,我就不由得想起了我的求职与工作经历。我现在的这份工作是我到深圳的第二份工作。当时在《深圳特区报》上看到一个招聘启事,正好是我喜爱而且擅长的广告、文化型公司,我就发了一个e-mail...
-
2011届毕业生半年后处于低就业状态群体就业满意度 大学生就业报告专题 应届毕业生网
半年后处于低就业状态的群体的就业满意度、母校满意度低于非低就业群体2011届就业的大学毕业生中,半年后处于低就业状态的群体的就业满意度远远低于非低就业群体。具体来看,本科毕业生中,低就业群体的就业满意度为27%,低于非低就业群体(54%)27个百分点;高职高专毕业生...