优秀开发者必备的四种品质
2012-03-27 15:16
274 查看
你觉得你自己算是一名优秀的开发者吗?如果是的话,你有没有考虑过,作为一名优秀的开发者,你具备哪些优秀的品质?好的开发者和差的开发者区别在哪里?经验?技能?还是天赋?如何才能成为一名优秀的开发者?
1. 具有很强的分析思维
作为一名优秀的开发者,你需要思考,观察数据,记忆并且分析这些现象和内容,并解决问题。虽然这一点有些抽象,但很不幸的是这是非常重要的一点。为什么很不幸呢?因为这一点意味着不是每一个人都能成为优秀的开发者,即使他们很努力。这种分析思维有点像是天生的。如果你没有这个能力的话,还是尽早改行。
分析性思维是可以锻炼的,例如解决算法和逻辑问题会让你在这方面有所提高。但是每个人都有一个上限,难以超越。
2. 对软件有一个宏观的理解
开发一个软件有点像是下棋 - 你要赢得比赛就要预测后面几步。在编程的时候,你不光要看到眼前的代码,你还要想到将来要写的代码。作为一名优秀的开发者,你不应该只盯着软件的一小部分,你应该看到软件的整体结构。你需要知道如何实现一项功能,也需要知道为什么实现一项功能。
3. 从业务的角度理解软件开发
在我的概念中,一名优秀的开发者不仅是面向技术的。你同时需要面向业务,理解客户的需求。如果你做不到这一点的话,有很多潜在的问题:误解业务需求,软件可用性差等等。
那么如何做一个面向业务的开发者呢?
从业务的角度理解软件
尊重客户的需求
能将业务问题转化成技术问题
能和非技术领域的人沟通
4. 善于协作
一名优秀的开发者不是只会单打独斗的。一个项目要成功的话,团队内部的沟通和协作是至关重要的。不善于协作的开发者是无法融入团队的。我知道有很多牛逼的开发者都很内向,但是在现代开发过程中,光写代码是不够的。
敏捷的世界需要好的开发者
我上面说的几点也许在多年前是不成立的。如果我们没有进入敏捷的时代,任何合格的“码农”都可以被称作合格的“开发者”。但事实是我们已经进入敏捷的时代,我们需要敏捷的开发者,能够分析问题,从业务的角度考虑问题,对软件有全局观,并且善于协作。
------- 译者总结 -------
随着时代的发展,纯粹的coding,码农(programmer)已经不能满足需求。时代需要的是开发者(developer)。作为开发者你需要“善于分析问题,对软件开发有大局观,懂得业务需求,善于沟通协作”。
我个人越来越感觉到,随着移动互联网的兴起,“开发者”这个概念被提的越来越多。IT界的大势正在推动着对开发者这个角色的需求。开发者是程序员,但程序员不一定是开发者。
1. 具有很强的分析思维
作为一名优秀的开发者,你需要思考,观察数据,记忆并且分析这些现象和内容,并解决问题。虽然这一点有些抽象,但很不幸的是这是非常重要的一点。为什么很不幸呢?因为这一点意味着不是每一个人都能成为优秀的开发者,即使他们很努力。这种分析思维有点像是天生的。如果你没有这个能力的话,还是尽早改行。
分析性思维是可以锻炼的,例如解决算法和逻辑问题会让你在这方面有所提高。但是每个人都有一个上限,难以超越。
2. 对软件有一个宏观的理解
开发一个软件有点像是下棋 - 你要赢得比赛就要预测后面几步。在编程的时候,你不光要看到眼前的代码,你还要想到将来要写的代码。作为一名优秀的开发者,你不应该只盯着软件的一小部分,你应该看到软件的整体结构。你需要知道如何实现一项功能,也需要知道为什么实现一项功能。
3. 从业务的角度理解软件开发
在我的概念中,一名优秀的开发者不仅是面向技术的。你同时需要面向业务,理解客户的需求。如果你做不到这一点的话,有很多潜在的问题:误解业务需求,软件可用性差等等。
那么如何做一个面向业务的开发者呢?
从业务的角度理解软件
尊重客户的需求
能将业务问题转化成技术问题
能和非技术领域的人沟通
4. 善于协作
一名优秀的开发者不是只会单打独斗的。一个项目要成功的话,团队内部的沟通和协作是至关重要的。不善于协作的开发者是无法融入团队的。我知道有很多牛逼的开发者都很内向,但是在现代开发过程中,光写代码是不够的。
敏捷的世界需要好的开发者
我上面说的几点也许在多年前是不成立的。如果我们没有进入敏捷的时代,任何合格的“码农”都可以被称作合格的“开发者”。但事实是我们已经进入敏捷的时代,我们需要敏捷的开发者,能够分析问题,从业务的角度考虑问题,对软件有全局观,并且善于协作。
------- 译者总结 -------
随着时代的发展,纯粹的coding,码农(programmer)已经不能满足需求。时代需要的是开发者(developer)。作为开发者你需要“善于分析问题,对软件开发有大局观,懂得业务需求,善于沟通协作”。
我个人越来越感觉到,随着移动互联网的兴起,“开发者”这个概念被提的越来越多。IT界的大势正在推动着对开发者这个角色的需求。开发者是程序员,但程序员不一定是开发者。
相关文章推荐
- 优秀的互联网项目经理必备哪些品质?
- 开发者谈优秀应用的7个必备要素
- 一个优秀的Unity3d开发者必备的几种设计模式
- 开发者谈优秀应用的7个必备要素
- 20个值得学习的优秀开源框架,应用开发者必备精选
- 经验分享|必备九大技巧——让前端开发者越来越优秀
- 一个优秀的Unity3d开发者必备的几种设计模式
- 一个优秀的Unity3d开发者必备的几种设计模式
- 创造优秀的程序之必备知识:字符编码(2)—软件开发者必须知道的Unicode和字符编码
- 非常优秀的免费的Web UI库,框架和工具包,web开发者必备
- 优秀开发人员的一些必备品质
- 内行者说!总监是如何练成的之优秀设计主管必备的品质(上篇)
- 安卓开发者必备的42个链接
- 国际:什么是程序员的优秀品质?
- 优秀程序员的一种必备意识
- 安卓开发者必备的42个链接
- 项目经理专业化的迫切要求——把优秀开发者选为项目经理是条不归路
- 20大UI设计原则——优秀设计师必备
- 开发者必备:六大图片、图标处理类工具
- 10个针对Web开发者的优秀Chrome扩展推荐