1. 具有很强的分析思维
作为一名优秀的开发者,你需要思考,观察数据,记忆并且分析这些现象和内容,并解决问题。虽然这一点有些抽象,但很不幸的是这是非常重要的一点。为什么很不幸呢?因为这一点意味着不是每一个人都能成为优秀的开发者,即使他们很努力。这种分析思维有点像是天生的。如果你没有这个能力的话,还是尽早改行。
分析性思维是可以锻炼的,例如解决算法和逻辑问题会让你在这方面有所提高。但是每个人都有一个上限,难以超越。
2. 对软件有一个宏观的理解
开发一个软件有点像是下棋 - 你要赢得比赛就要预测后面几步。在编程的时候,你不光要看到眼前的代码,你还要想到将来要写的代码。作为一名优秀的开发者,你不应该只盯着软件的一小部分,你应该看到软件的整体结构。你需要知道如何实现一项功能,也需要知道为什么实现一项功能。
3. 从业务的角度理解软件开发
在我的概念中,一名优秀的开发者不仅是面向技术的。你同时需要面向业务,理解客户的需求。如果你做不到这一点的话,有很多潜在的问题:误解业务需求,软件可用性差等等。
那么如何做一个面向业务的开发者呢?
a)从业务的角度理解软件
b)尊重客户的需求
c)能将业务问题转化成技术问题
d)能和非技术领域的人沟通
4. 善于协作
一名优秀的开发者不是只会单打独斗的。一个项目要成功的话,团队内部的沟通和协作是至关重要的。不善于协作的开发者是无法融入团队的。我知道有很多牛逼的开发者都很内向,但是在现代开发过程中,光写代码是不够的。