疯狂的程序员,程序员的本质

Computers are useless. They can _disibledevent=>疯狂的程序员,程序员的本质
人类世界的背景
The problem with people is that they’re _disibledevent=>疯狂的程序员,程序员的本质
我们可以看到,一名优秀程序员应该具备应付两个不同世界的两套技能。
理解人类的需求并提出解决方案:
  • 1. 沟通——与人建立联系的能力,能够同他人亲密的交谈,并有勇气去尝试分享自己的观点。
  • 2. 意图——从谈话中提取有用的信息,理解并使之有意义。
  • 3. 逻辑——为不懂让步的计算机整理、剔除那些人类思想中含糊而有争议的内容。
  • 4. 创造力——挖掘、转变人类的想法,从而创建优秀的解决方案。
  • 5. 构思——利用人类友好的接口和便捷的互动性来包装编程思想。
  • 6. 大局观——清楚解决方案是如何适应全世界的用户、企业以及其他,从而使你的程序更有用。
告诉计算机该做什么,并建立解决方案:
  • 1. 逻辑(再次强调)——把程序员的想法组织整理成有凝聚力的软件思想和计算机指令。
  • 2. 技术——发现并理解科技黑箱(对于99%的人来说是黑箱)。
  • 3. 编程语言——学习美观的、富有逻辑的、清晰明了的语言,从而把程序员的想法提供给电脑。
  • 4. 算法——精通让计算机完成任务最高效的方法。
  • 5. 建模——在软件代码中建立抽象和模型,从而掌握并操控想法。
  • 6. 实践(比如代码重构、单元测试、持续集成)——周期性活动,以保持系统可靠、健康与可改变。(关于代码重构,可参见伯乐在线职场博客《明星软件工程师的10种特质》这篇文章中的第3点。)
面向人类和面向硬件对象/系统的程序员有很大不同。
不与人沟通的程序员不是好程序员。一个优秀的解决方案需要计算机世界与人类世界的双重技能。只有连接起两个世界,才能成为一个真正的优秀程序员。
译文出处:伯乐在线- 职场博客 - 程序员
译文链接:http://www.jobbole.com/entry.php/821
原文:Andriy Solovey 文章推荐:关关 翻译:敏捷翻译 - 魏哲
如需转载,但请注明原文/译文出处、译文超链接和译者等信息,否则视为侵权,谢谢合作!
Tags:  程序员的出路 程序员的爱情 程序员的自我修养 修真的电脑程序员 疯狂的程序员

延伸阅读

最新评论

发表评论