OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3837|回复: 2

完美程序员的10种品质-集芯城

[复制链接]

29

主题

39

帖子

0

精华

初级会员

Rank: 2

积分
175
金钱
175
注册时间
2014-7-17
在线时间
0 小时
发表于 2014-8-26 16:25:44 | 显示全部楼层 |阅读模式
  谁是完美程序员?著名博客作家AlexIskold在《明星软件工程师的10种特质》一文中给出这个问题的答案:

    1。热爱编程

    2。完成事情

    3。持续重构代码

    4。使用设计模式

    5。编写测试

    6。善用现有代码

    7。专注可用性

    8。编写可维护的代码

    9。能用任何语言编程

    10。知晓基本的计算机科学

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

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

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

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

    1、一个完美的程序员应该能够及时解决用户的问题,或者能在一段合理的时间内解决。所有程序员的品质都与用户的问题以及背景有关:

    有些问题需要创造力,而有些则需要具体的方向;

    有些问题通常需要专业技术,而有些则需要高深的业务知识;

    有些问题需要仔细分析,而有些则需要一些社会技能和直觉。

    2、一个完美的程序员应该明白什么是“完成”,并且关注产品质量。对于一个软件系统,“完成”的意思远非编码的结束。一个完美的程序员会完成所有必要的步骤来开发这个系统:测试,优化代码以使代码量保持最小、高效以及可读,使系统可用并且保证顾客和用户能够喜欢这个系统。

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

    1。才智非凡-

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

    2。魅力超群-

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

    3。术业专攻-

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

    4。积极主动-

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

    5。成熟稳重-

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

    6。实用主义-

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

    7。通力协作-

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

    8。善于沟通-

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

    9。潜力无限-

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

    10。远见卓识-

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

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

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

    1。在雇佣他们之前先理解问题,评估每种品质要达到的水平,并且准备好问题甚至测试。

    2。组建一个完美的团队,但不一定用完美的程序员。只要保证团队成员的部分品质达到了应有的水平。对每位团队成员来说,大概只有协作才是最重要的品质。

    3。创造必要的环境,促使这些优秀品质能够有效发挥作用。使用正确的领导风格,并且使程序员感到愉快。

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

大家可以关注我的微信,微信号:icjxc520
(现在关注微信还有机会获得最高200元的话费,详见关注后的微信公众号历史消息)
微信二维码:
                        











来源:21ic
集芯城(http://www.icjxc.com/)——国内领先的网上电子元器件批发商城
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

126

主题

820

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1683
金钱
1683
注册时间
2012-10-28
在线时间
62 小时
发表于 2014-8-26 19:40:51 | 显示全部楼层
坚持学习!就能成功!
回复 支持 反对

使用道具 举报

29

主题

39

帖子

0

精华

初级会员

Rank: 2

积分
175
金钱
175
注册时间
2014-7-17
在线时间
0 小时
 楼主| 发表于 2014-8-27 16:07:14 | 显示全部楼层
回复【2楼】1501697860:
---------------------------------
谢谢
集芯城(http://www.icjxc.com/)——国内领先的网上电子元器件批发商城
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-24 15:46

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表