`
xf986321
  • 浏览: 164853 次
  • 性别: 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的开发者模式为程序员和高级用户提供了一个自由探索和创新的平台,同时也...

    Vue2,Vue3的开发者工具

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

    HP打印机开发者指南

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

    Amazon MWS开发者指南

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

    2020中国开发者调查报告

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

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

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

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

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

    2013年中国Qt开发者大会

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

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

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

    ShardingSphere 5.2.1版 开发者手册 中文版

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

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

    通过学习和实践书中的行为模式,软件开发者们可以更好地适应日新月异的技术环境,有效地解决工作中遇到的问题,并在软件开发领域取得显著的成就。最终,开发者将能够从单纯的技术人员成长为一位综合素质高的软件工匠...

    百度开发者别册

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

    react开发者工具,react开发者工具,react开发者工具

    React开发者工具是一款强大的JavaScript库,专门用于调试基于React技术构建的Web应用程序。...通过熟练掌握和使用React DevTools,开发者可以更好地驾驭React技术,创造出更高效、更稳定的Web应用。

    中国开发者画像洞察研究报告2022.pptx

    对于开发者本人、企业雇主、教育机构以及政策制定者而言,本报告提供了宝贵的数据支持和深入的洞察,有助于他们更好地适应和引导开发者群体的发展。 通过对中国开发者群体的洞察,我们能够促进开发者与企业、教育...

    苹果上架应用,注册开发者帐号指南

    苹果开发者帐号注册指南 苹果开发者帐号注册是开发者在苹果平台上发布应用程序的第一...了解苹果开发者帐号的注册流程、类型、优势、费用和使用指南,可以帮助开发者更好地使用苹果开发者帐号,发布成功的应用程序。

    itune connect 开发者计划 (中文版)

    iTunes Connect不仅为开发者提供了便捷的应用发布平台,还包含了详尽的指导文档,帮助开发者更好地理解和运用其功能。本文将根据给定文件《iTunesConnect开发者指南》(版本6.6,3月2日,2011)的内容,详细解析...

Global site tag (gtag.js) - Google Analytics