`
xf986321
  • 浏览: 163984 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

做一个更好的开发者

阅读更多

If you search for ways to become a better developer you will find nearly 70 million results. After reading as many of those results as possible and still learn something, I boiled down all the advice to the following general axioms.

  • Read Everything
  • Learn Fast, Learn Everything
  • Practice What You Know
  • Try New Things
  • Strive for Simplicity
  • Write and Teach
  • Assume Nothing
  • Question Everything
  • It is Not Personal
  • Know Your Tools
  • Rinse and Repeat

The advice above can be used in just about any industry by anyone trying to advance in their career. This advice holds true whether your are a Ruby programmer or investment banker. The truth is that being a better students makes us better at whatever we do. If we learn how to learn, to see the patterns blindfolded, to navigate up and down the different layers of abstractions, to troubleshoot and debug code you never seen before, to ask the right questions at the right time… all these things help us write better programs no matter what language or technology stack you use.

That said, I wanted to illustrate these rules with more concrete examples specific to programming. Given a particular job title, say Ruby on Rails Developer, we can break down the above axioms to the following advice for being a better Rails developer…

  • Read Everything
    • Download sample/Open Source apps
    • Dig into Rails source code
    • Read tutorials
    • Read books
  • Learn Fast, Learn Everything
    • Master Ruby
    • Know SQL
    • Understand CSS
    • Use JavaScript
    • Learn HTML
    • Pickup HTTP
    • Use FTP
  • Practice What You Know
    • Write code, scripts, and libraries
    • Start Open Source projects
    • Submit patches
  • Try New Things
    • Tryout latest release
    • Find new plugins
    • Find new gems
    • Use different frameworks
    • Integrate with new services
    • Catch up on a new languages
  • Write and Teach
    • Write prototypes
    • Write a gem
    • Write plugins
    • Write tutorials
    • Give presentations, brown bags, tech talks
  • Assume Nothing
    • Don’t believe the hype, dogma, marketing
    • Test everything
    • Quantify assumptions
  • Know Your Tools
    • Know editor shortcuts
    • Know editor code templates
    • Use editor plugins
    • Use version control
    • Use FireBug

Again, these are just a few words of advice that we can exercise to help us write better software. No one rule or axiom is enough. Other Rails developer would add additional advice, this is especially true with each new release of Rails. With each new release of Rails or Rails specific tools, we add and remove some of the advice given for a Rails developer. If I had written a list like this for a Java EE developer in 2001, that list would be out of date for a Java EE developer today. The key is that no one process, tool, framework, library, or language will make us better programmers but our daily developer routine , our behavior, and discipline…

分享到:
评论

相关推荐

    黎镭:一个开发者走向世界的机会

    获取更大的下载量和更好的推广机会是开发者面临的另一个关键问题。亚马逊应用商店利用其全球范围内的流量和推广资源,为开发者提供了一个展示自己作品的平台。为了吸引更多的流量,亚马逊提供了包括销售报告、收益...

    如何让微信开发者工具显示切后台按钮,微信开发者工具显示“切后台”按钮

    这不仅提高了调试效率,也使得开发者能够更好地模拟真实环境下的小程序运行情况,从而打造出更优秀的微信小程序产品。所以,下次遇到类似需求时,不妨尝试一下这种方法,相信它会成为你开发过程中的得力助手。

    统信uos开启开发者模式软件

    统信UOS有一个活跃的开发者社区,提供了丰富的文档、教程和论坛资源,帮助用户更好地利用开发者模式进行开发和学习。 总的来说,统信UOS的开发者模式为程序员和高级用户提供了一个自由探索和创新的平台,同时也...

    HP打印机开发者指南

    这份资源包含了一系列的文档、代码示例和教程,旨在帮助开发者更好地理解HP打印机的工作原理,以及如何利用HP提供的API和工具创建定制的打印解决方案。 在开发者的世界里,理解和利用硬件设备的能力至关重要,尤其...

    ShardingSphere 5.2.1版 开发者手册 中文版

    ShardingSphere 是一个开源的分布式数据库中间件,旨在提供一个基于标准的数据库访问接口,帮助开发者更好地管理和使用数据库资源。下面是 ShardingSphere 的详细知识点: 1. 什么是 ShardingSphere? ...

    Vue2,Vue3的开发者工具

    Vue DevTools 是一个浏览器扩展,它为Vue应用程序提供了一个方便的开发环境,帮助开发者深入理解应用程序的状态和生命周期。 Vue DevTools 有针对Vue2和Vue3两个版本,因为Vue3引入了一些重大变化。`vue_dev_tools....

    Amazon MWS开发者指南

    如果需要,开发者也可以自行创建客户端库,以更好地满足特定的开发需求。 #### 8. 使用Content-MD5标头 在发送请求时,使用Content-MD5标头可以对请求内容进行MD5校验,这样可以提高数据传输的安全性,确保数据在...

    2020中国开发者调查报告

    《2020中国开发者调查报告》是一份深入剖析中国IT行业从业者现状的重要文献,它揭示了中国开发者群体的专业特点、工作环境、技术...通过持续关注此类报告,我们可以更好地把握IT行业的脉搏,为未来的决策提供数据支持。

    Google Chrome 开发者版.zip

    **谷歌浏览器——Google Chrome 开发者版** Google Chrome是一款由谷歌公司开发的开源网页浏览器,以其高效、稳定和快速著称。...通过持续接触和反馈,开发者能够更好地适应和推动Web技术的发展。

    赛灵思2017北京开发者大会资料

    【赛灵思2017北京开发者大会资料】是一份重要的技术分享文档集合,主要涵盖了嵌入式软件、应用软件以及硬件开发这三个关键领域。这次大会于2017年10月19日在北京举行,是赛灵思公司向业界展示其最新技术成果和未来...

    2013年中国Qt开发者大会

    8. **社区资源与最佳实践**:与会者可能分享了他们在开发过程中的经验教训,推荐了一些优秀的Qt开源项目、教程和工具,以帮助开发者更好地学习和使用Qt。 通过这样的大会,开发者不仅可以提升自己的Qt技能,还能...

    百度开发者别册

    - **百度云平台的角色:** 李彦宏提出,百度云平台旨在为开发者提供更广阔的发展空间和更好的技术支持。这不仅包括数据层面的服务,如“即搜即得”(即用户搜索的内容能够直接以数据形式呈现),还涵盖了应用层面的...

    微信开发者工具(稳定版 Stable Build)1.06.2210310

    版本号“1.06.2210310”表明这是2022年10月31日的一个稳定版本,意味着它已经经过了充分的测试,具备良好的稳定性和兼容性,旨在提供给开发者一个可靠的开发环境。 1. **小程序开发环境**:微信开发者工具是构建...

    FancySelect, 一种更好的识别网络开发者的.zip

    FancySelect, 一种更好的识别网络开发者的 注意:FancySelect不再主动维护。现在可以轻松地在所有主流浏览器中轻松样式化 select 元素了,我不再维护FancySelect了。 本机 select 更有用,也更容易访问,你应该使用...

    VANTIQ 开发者指导.pdf

    这样可以帮助开发者更好地理解业务需求,并设计出更加灵活和高效的应用程序。 环境 环境是 VANTIQ 开发者指导中另一个重要的概念。开发者需要了解应用程序的环境,包括事件和服务、调节灵活性和规模等要求。只有...

    软件开发者路线图从学徒到高手英文版.pdf

    《软件开发者路线图:从学徒到高手》是David H. Hoover和Adewale Oshineye两位作者共同创作的一本专业指南,旨在...通过学习和实践书中的模式,开发者可以更好地适应行业需求,不断提升自我,最终成为真正的技术高手。

    Azure开发者指南 Azure Developer Guide

    在云计算的时代背景下,Azure作为一个专门为开发者设计的云平台,提供了一系列的解决方案和服务,帮助开发者在几月内将商业创意转化为成功的企业。 在本书中,作者首先描述了应用程序开发的变迁,强调了云计算给...

    本项目致力于深入解析_Spring_框架的源码,帮助开发者更好地理解其内部实现

    本项目致力于深入解析_Spring_框架的源码,帮助开发者更好地理解其内部实现原理。通过详细的注释、_SpringSource

Global site tag (gtag.js) - Google Analytics