完美程序员的10种品质

来源:互联网 发布:效率源数据恢复公司 编辑:程序博客网 时间:2024/05/18 00:51

谁是完美程序员?著名博客作家Alex Iskold在《明星软件工程师的10种特质》一文中给出这个问题的答案:

1. 热爱编程
2. 完成事情
3. 持续重构代码
4. 使用设计模式
5. 编写测试
6. 善用现有代码
7. 专注可用性
8. 编写可维护的代码
9. 能用任何语言编程
10. 知晓基本的计算机科学

这是一份合理的清单,但是这份清单侧重于次要特征,这些特征只是更深层次品质所产生的结果,并且这是一份理想化的清单。你认为儿童网站的Flash程序员跟B2B财务交易服务公司的软件工程师品质会相同吗?那么,我们该如何从众多开发者中甄别出一名完美的程序员呢?

寻找完美程序员的最终标准:完美程序员能开发出满足客户期望的优秀软件。

因此,令人震惊的事实是完美程序员可能只精通一种编程语言,不知道什么是设计模式,并且不会在地下室里夜夜编程去创造下一个Google。我们不能客 观地衡量程序员的完美程度,就像测量自己胳膊的粗细那样。完美程序员的完美之处只在于他们按时开发了一个高质量、可用的并且可维护性高的软件系统(一个优 秀的系统),并且这个系统达到了用户的要求。

综上所述,我们可以得到如下几个推论:

  • 1.一个完美的程序员应该能够及时解决用户的问题,或者能在一段合理的时间内解决。所有程序员的品质都与用户的问题以及背景有关:
    • 有些问题需要创造力,而有些则需要具体的方向
    • 有些问题通常需要专业技术,而有些则需要高深的业务知识
    • 有些问题需要仔细分析,而有些则需要一些社会技能和直觉
  • 2.一个完美的程序员应该明白什么是“完成”,并且关注产品质量。对于一个软件系统,“完成”的意思远非编码的结束。一个完美的程序员会完成所有必要的步 骤来开发这个系统:测试,优化代码以使代码量保持最小、高效以及可读,使系统可用并且保证顾客和用户能够喜欢这个系统。


完美程序员的10种品质

完美程序员的每种品质都有一个范围,这个范围取决于具体的问题和背景。没有能解决所有问题的完美程序员(至少在我们这个星球上),并且对于特定问题,完美程序员应该具有以下品质:

1. 才智非凡 - 能够理解问题、能够用清晰可读的代码翻译并表达想法、善于分析并且逻辑思维能力强 (范围:用简单方式解决复杂问题)

2. 魅力超群 - 优秀个性的结合体 ( 注重细节 VS 富有创造力、灵活多变 VS 恪守典章、善于交际 VS 特立独行)

3. 术业专攻 - 具有一定的知识和经验,能在特定条件下利用专业技能解决用户问题(范围:从一个领域内的专家,到在不同领域都有丰富经验的程序员)。

4. 积极主动 - 关心工作,对编程表现出了很高的热情、兴致以及热爱(范围:从工作只为钱的人,到在业余时间不计报酬实现有趣的想法的人)。

5. 成熟稳重 - 精通并且运用合理的软件开发原则、敏捷方法和实践、设计和体系结构模式、领域驱动设计、单元测试、重构(范围:从一个充满激情的业余爱好者,到一名能够不停地发明新方法的黑带大师)。

6. 实用主义 - 明白什么事是可能的,喜欢简单实用并且避免过度设计;明白业务目标,贴近现实并且专注于该做的事情(范围:从自学成才的艺术家,到自我激励的务实的成功人士)。

7. 通力协作 - 能够倾听并且接受有好点子的人,毫无保留地支持团队的目标,跟别人分享自己的想法和知识,并且愿意指导别人(范围:从异见者到一个团队的领导)。

8.善于沟通 - 能够高效地与别人交流和交换想法,支持那些对系统具有清楚的解释、判断和解答的知识和决定(范围:从一个安静内向的人,到一个系统解说员)。

9. 潜力无限 - 拥有职业目标、出色的技能、好奇心、较强的适应性,并且能够不断自省(范围:从一个达到极限的人,到未来的编程之星)。

10.远见卓识 - 拥有更高的视野,了解相关的背景、趋势和人员,为达到团队和公司的潜在目标采取行动,致力于为软件系统建立共同愿景(范围:从对编程仅仅是感兴趣的人,到有远见的企业家)。


如何为特定问题找到完美的程序员呢?

能够找到具有最优品质的程序员当然更好,但是,这些另类都身价不菲,通常可遇而不可求或者会对你的问题感到厌烦。因此,可以采取以下措施:

  • 1.在雇佣他们之前先理解问题,评估每种品质要达到的水平,并且准备好问题甚至测试。
  • 2.组建一个完美的团队,但不一定用完美的程序员。只要保证团队成员的部分品质达到了应有的水平。对每位团队成员来说,大概只有协作才是最重要的品质。
  • 3.创造必要的环境,促使这些优秀品质能够有效发挥作用。使用正确的领导风格,并且使程序员感到愉快。


拥有优秀核心品质的人会提出最优的方法,包括编写单元测试和重构;学习设计模式,并且最重要的是:开发出众并实用的软件。

后话

完美程序员不是天生的,他们只是在解决问题时做了正确的事。如果你对完美程序员还有其他看法和补充,欢迎你在评论和微博中分享。

 

本文出处:伯乐在线 - 职场博客
本文链接:http://www.jobbole.com/entry.php/380

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 小孩脾气很犟怎么办 10几天宝宝咳嗽怎么办 孩子为什么老说梦话怎么办 面对调皮的孩子怎么办 宝宝咳嗽无痰怎么办 孩子经常做噩梦怎么办 孩子干咳的厉害怎么办 外遇有了孩子该怎么办 有个无赖父亲怎么办 孩子之间发生争执怎么办 被打耳光后耳鸣怎么办 被打了耳鸣怎么办 打到鼻子流鼻血怎么办 一岁多宝宝有痰怎么办 一岁半咳嗽有痰怎么办 12岁说话不清楚怎么办 梦见前夫打孩子怎么办 小儿咳嗽带痰怎么办 孩子扁桃体发炎咳嗽怎么办 一岁宝宝总有痰怎么办 四岁宝宝总有痰怎么办 5岁宝宝总有痰怎么办 一岁宝宝有痰咳不出怎么办 三岁宝宝有痰咳不出怎么办 孩子不听话打她怎么办 孩子笨上学吃力怎么办 孩子学习就睡着怎么办 孩子对父母大喊大叫怎么办 老师面对熊孩子怎么办 妈妈故意打孩子怎么办 老是被妈妈打怎么办 父母老打骂孩子怎么办 后妈总是欺负我怎么办 小朋友屁股被打紫了怎么办 儿童被咬出血怎么办 小宝宝蚊子咬了怎么办 幼儿被咬了怎么办 把孩子屁股肿打紫怎么办 小孩老是咬小孩怎么办 宝宝对蚊子过敏怎么办 胳膊打红了怎么办