优秀开发者必备的四种品质

jopen 12年前
     <p>你觉得你自己算是一名优秀的开发者吗?如果是的话,你有没有考虑过,作为一名优秀的开发者,你具备哪些优秀的品质?好的开发者和差的开发者区别在哪里?经验?技能?还是天赋?如何才能成为一名优秀的开发者?</p>    <p><img style="display:block;margin-left:auto;margin-right:auto;" alt="优秀开发者必备的四种品质" src="https://simg.open-open.com/show/46b6d5e8604007440ad61e53d8dc5494.png" width="300" height="256" /><br /> <br /> <strong>1. 具有很强的分析思维</strong><br /> 作 为一名优秀的开发者,你需要思考,观察数据,记忆并且分析这些现象和内容,并解决问题。虽然这一点有些抽象,但很不幸的是这是非常重要的一点。为什么很不 幸呢?因为这一点意味着不是每一个人都能成为优秀的开发者,即使他们很努力。这种分析思维有点像是天生的。如果你没有这个能力的话,还是尽早改行。<br /> <br /> 分析性思维是可以锻炼的,例如解决算法和逻辑问题会让你在这方面有所提高。但是每个人都有一个上限,难以超越。<br /> <br /> <strong>2. 对软件有一个宏观的理解</strong><br /> 开 发一个软件有点像是下棋 - 你要赢得比赛就要预测后面几步。在编程的时候,你不光要看到眼前的代码,你还要想到将来要写的代码。作为一名优秀的开发者,你不应该只盯着软件的一小部 分,你应该看到软件的整体结构。你需要知道如何实现一项功能,也需要知道为什么实现一项功能。<br /> <br /> <strong>3. 从业务的角度理解软件开发</strong><br /> 在我的概念中,一名优秀的开发者不仅是面向技术的。你同时需要面向业务,理解客户的需求。如果你做不到这一点的话,有很多潜在的问题:误解业务需求,软件可用性差等等。<br /> <br /> 那么如何做一个面向业务的开发者呢?</p>    <ul>     <li>从业务的角度理解软件</li>     <li>尊重客户的需求</li>     <li>能将业务问题转化成技术问题</li>     <li>能和非技术领域的人沟通</li>    </ul>    <p><strong>4. 善于协作</strong><br /> 一名优秀的开发者不是只会单打独斗的。一个项目要成功的话,团队内部的沟通和协作是至关重要的。不善于协作的开发者是无法融入团队的。我知道有很多牛逼的开发者都很内向,但是在现代开发过程中,光写代码是不够的。<br /> <br /> <strong>敏捷的世界需要好的开发者</strong><br /> 我上面说的几点也许在多年前是不成立的。如果我们没有进入敏捷的时代,任何合格的“码农”都可以被称作合格的“开发者”。但事实是我们已经进入敏捷的时代,我们需要敏捷的开发者,能够分析问题,从业务的角度考虑问题,对软件有全局观,并且善于协作。</p>    <p> </p>    <p><a href="/misc/goto?guid=4958332565571747371" target="_blank">原文链接</a>,OSChina 原创编译</p>    <p>------- 译者总结 -------</p>    <p>随着时代的发展,纯粹的coding,码农(programmer)已经不能满足需求。时代需要的是开发者(developer)。作为开发者你需要“善于分析问题,对软件开发有大局观,懂得业务需求,善于沟通协作”。</p>    <p>我个人越来越感觉到,随着移动互联网的兴起,“<strong>开发者</strong>”这个概念被提的越来越多。IT界的大势正在推动着对开发者这个角色的需求。<strong>开发者是程序员,但程序员不一定是开发者。</strong></p>