你以为你本身算是一名优秀的开发者吗?若是是的话,你有没有考虑过,做为一名优秀的开发者,你具有哪些优秀的品质?好的开发者和差的开发者区别在哪里?经验?技能?仍是天赋?如何才能成为一名优秀的开发者?程序员
1. 具备很强的分析思惟
做为一名优秀的开发者,你须要思考,观察数据,记忆而且分析这些现象和内容,并解决问题。虽然这一点有些抽象,但很不幸的是这是很是重要的一点。为何很不幸呢?由于这一点意味着不是每个人都能成为优秀的开发者,即便他们很努力。这种分析思惟有点像是天生的。若是你没有这个能力的话,仍是尽早改行。
分析性思惟是能够锻炼的,例如解决算法和逻辑问题会让你在这方面有所提升。可是每一个人都有一个上限,难以超越。
2. 对软件有一个宏观的理解
开发一个软件有点像是下棋 - 你要赢得比赛就要预测后面几步。在编程的时候,你不光要看到眼前的代码,你还要想到未来要写的代码。做为一名优秀的开发者,你不该该只盯着软件的一小部分,你应该看到软件的总体结构。你须要知道如何实现一项功能,也须要知道为何实现一项功能。
3. 从业务的角度理解软件开发
在个人概念中,一名优秀的开发者不只是面向技术的。你同时须要面向业务,理解客户的需求。若是你作不到这一点的话,有不少潜在的问题:误解业务需求,软件可用性差等等。
那么如何作一个面向业务的开发者呢?算法
4. 善于协做
一名优秀的开发者不是只会单打独斗的。一个项目要成功的话,团队内部的沟通和协做是相当重要的。不善于协做的开发者是没法融入团队的。我知道有不少牛逼的开发者都很内向,可是在现代开发过程当中,光写代码是不够的。
敏捷的世界须要好的开发者
我上面说的几点也许在多年前是不成立的。若是咱们没有进入敏捷的时代,任何合格的“码农”均可以被称做合格的“开发者”。但事实是咱们已经进入敏捷的时代,咱们须要敏捷的开发者,可以分析问题,从业务的角度考虑问题,对软件有全局观,而且善于协做。编程
原文连接,OSChina.NET 原创编译.net
------- 译者总结 -------blog
随着时代的发展,纯粹的coding,码农(programmer)已经不能知足需求。时代须要的是开发者(developer)。做为开发者你须要“善于分析问题,对软件开发有大局观,懂得业务需求,善于沟通协做”。开发
我我的愈来愈感受到,随着移动互联网的兴起,“开发者”这个概念被提的愈来愈多。IT界的大势正在推进着对开发者这个角色的需求。开发者是程序员,但程序员不必定是开发者。get