- 浏览: 68716 次
- 性别:
- 来自: 沈阳
最近访客 更多访客>>
文章分类
最新评论
-
hexawing:
请问我怎样指定它去哪个服务器下载gem呢?之前默认的貌似不能用 ...
[转载]使用RubyGem -
bryanzk:
我说兄弟,你从豆瓣上直接全文copy我的内容,也要打个招呼吧? ...
[转载备份]Rails创始人DHH新作《Rework》读书笔记:“少!快!精!”
导读:谁是完美程序员?著名博客作家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. 创造必要的环境,促使这些优秀品质能够有效发挥作用。使用正确的领导风格,并且使程序员感到愉快。
拥有优秀核心品质的人会提出最优的方法,包括编写单元测试和重构;学习设计模式,并且最重要的是:开发出众并实用的软件。
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. 创造必要的环境,促使这些优秀品质能够有效发挥作用。使用正确的领导风格,并且使程序员感到愉快。
拥有优秀核心品质的人会提出最优的方法,包括编写单元测试和重构;学习设计模式,并且最重要的是:开发出众并实用的软件。
发表评论
-
我的IT未来预测及个人规划
2011-11-13 21:34 0现状: windows 市场占有率高 linux 市场 ... -
[转]华为时间管理培训
2011-11-04 23:49 669什么是时间管理 “时 ... -
俞敏洪:我让女儿主动学习的秘密
2011-09-15 10:59 528我之所以能够在这 ... -
[俞敏洪]当第一也不容易
2011-09-15 10:58 600其实当第一名也确实不容易,因为他走得很辛苦,往前面一看,一个追 ... -
[转自搜狐]外交部副部长傅莹就中国航母海试接受外媒采访
2011-08-23 20:54 375中新网8月23日电 据外交 ... -
[转载]十个成功励志小故事
2011-03-03 15:16 6791,▲相信自己是一只 ... -
[转载]为什么搞计算机工作的人看上去很清闲
2011-02-18 19:49 637非IT人员经常会产生这样的疑问,这个图片会多少回答这样的问题: ... -
[转载]软件开发中的11个系统思维定律
2010-12-18 15:56 495“我会更加努力地工作 ... -
[转载]如何解决消极怠工(事业单位)
2010-08-28 05:05 1186消极怠工理由: ... -
[转载]中国人的盲目攀比
2010-08-28 04:37 529徐明旭 拜孔夫子之 ... -
[转载]周鸿伟的成功秘决
2010-08-28 04:24 590不攀比不跟风做事装孙子 -
[转载]系统管理员变程序员 四步转型
2010-08-07 08:09 578作者:Justin James 翻译:PurpleEndure ... -
[学习笔记]微软技术必知的几个网站
2010-05-08 05:20 542http://www.microsoft.com/china/ ... -
[转载]评论:程序员,不止干到35岁
2010-04-24 19:05 504在中国,程序员不能超过35岁,似乎已经是不争的事实,软件开发工 ... -
[转载备份]Rails创始人DHH新作《Rework》读书笔记:“少!快!精!”
2010-03-24 14:01 1066注: 首先向作者致以诚挚的歉意。引用您的文章,并非为了赚 ... -
[转载]对自学编程者的一些建议
2010-03-24 13:56 657学习编程已经不再是少 ... -
[转载]充满荆棘的专家程序员之道
2010-03-24 13:50 555国外程序员常常遇 ... -
读《做单》有感
2010-02-21 17:03 594虽然这是一本写IT行业销售故事的书,但是其中的主人公的心路历程 ... -
[转载]数学是知识,哲学是智慧
2010-01-10 09:54 634至于知识和智慧的区别 ... -
[转载]马云的经典语录(给奋斗者)
2010-01-10 09:52 825*今天很残酷,明天更残 ...
相关推荐
介绍了程序员如何进一步进阶提升自己能力的转载文档!真是有效,字字珠玑,大家快来下载啊!
【程序员完美简历】是每个求职者在IT行业中脱颖而出的关键,尤其对于程序员来说,一份精心制作的简历能够有效地展示自己的技能、经验和项目成果,从而增加获得面试机会的概率。在这个竞争激烈的领域,一个优秀的...
根据对职业的理解和技能水平,我们可以将程序员分为不同境界,这些境界不仅体现在技术能力上,还包括了项目管理、创新思维、沟通技巧以及个人品质等多个方面。 五流程序员,他们主要关注技术和工具的更新。这一层次...
程序员简历模板10份--蓝色主题 各不相同 程序员简历模板10份--蓝色主题 各不相同 程序员简历模板10份--蓝色主题 各不相同 程序员简历模板10份--蓝色主题 各不相同 程序员简历模板10份--蓝色主题 各不相同 程序员简历...
一点小小的体会与程序员们分享 一点小小的体会与程序员们分享 一点小小的体会与程序员们分享 一点小小的体会与程序员们分享
【Java程序员完美简历】是一个针对初级Java程序员的简历模板,主要展示了应聘者在Java软件开发领域的专业技能和个人项目经验。这份简历突出了以下几个关键知识点: 1. **个人概况**:包含姓名、性别、联系方式、...
《程序员》2004 第10期 PDF
10x程序员工作法笔记
总的来说,"程序员个性电脑桌面壁纸"是一种将个人兴趣与职业特点相结合的体现,它不仅展示了程序员的个性,还反映了他们对待工作的态度和对生活的热爱。在日常工作中,选择一张合适的壁纸,既能为枯燥的编程生活增添...
程序员从初级到中级10个秘诀程序员从初级到中级10个秘诀程序员从初级到中级10个秘诀程序员从初级到中级10个秘诀程序员从初级到中级10个秘诀程序员从初级到中级10个秘诀程序员从初级到中级10个秘诀程序员从初级到中级...
10. 程序员目标:雷军认为,程序员目标不是追求高级程序员,而是热爱写程序,热爱电脑世界的美妙,并且是一个完美主义者。 11. 程序员之路:雷军认为,程序员之路是漫长的,需要热爱写程序,热爱电脑世界的美妙,...
程序员简历程序员简历.pdf
标题中的“程序员专用编程输入法”指的是专门为程序员设计的特殊输入法工具,旨在提升编码效率。这类输入法通常具有以下特点: 1. **快捷代码输入**:程序员输入法能够通过快捷键、组合键或者自定义短语来快速输入...
java程序员面试交流项目经验java程序员面试交流项目经验java程序员面试交流项目经验java程序员面试交流项目经验java程序员面试交流项目经验java程序员面试交流项目经验java程序员面试交流项目经验java程序员面试交流...
多色主题-程序员简历模板 各不相同10份 多色主题-程序员简历模板 各不相同10份 多色主题-程序员简历模板 各不相同10份 多色主题-程序员简历模板 各不相同10份 多色主题-程序员简历模板 各不相同10份 多色主题-程序员...
《程序员接单宝典》是一本专为程序员提供接单指南的综合资源,包含了第一版和第二版的内容,旨在帮助程序员更好地理解接单流程、提升接单效率,并找到适合自己的项目机会。这本书全面覆盖了从寻找项目源到完成交付的...
【程序员10大境界】这本书由周伟明先生编著,他是一位资深的IT专家,拥有丰富的软件开发经验,尤其在多核编程技术领域有独到的见解。书中的内容涵盖了程序员从入门到精通的不同阶段,旨在探讨和评估中国与西方程序员...
程序员项目交接文档概要 IT 项目交接文档概要是程序员在项目交接过程中的重要文件,它对项目的开发、测试和维护起着至关重要的作用。本文档概要将对程序员项目交接文档的主要内容进行概要介绍。 人事模块是程序员...
总之,成为一名优秀的程序员,不仅需要具备耐心、毅力、细心和勇于挑战的品质,还需要保持谦逊、热情和自我反省的态度,同时避免轻易放弃、浮躁自满、消极被动和推卸责任等行为。通过这样的自我修养和努力,才能在IT...