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

    ShardingSphere 5.2.1版 开发者手册 中文版

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

    Vue2,Vue3的开发者工具

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

    HP打印机开发者指南

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

    vue3开发者工具插件

    Vue3 开发者工具插件是为 Vue.js 框架的最新版本——Vue 3 提供的强大辅助工具,它极大地简化了 Vue 应用的调试过程,帮助开发者更好地理解和优化应用程序。Vue.js 是一个流行的前端JavaScript框架,以其组件化、...

    2020中国开发者调查报告

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

    2013年中国Qt开发者大会

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

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

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

    Serverless Devs 是一个开源开放的 Serverless 开发者平台,致力于为开发者提供强大的工具链体系

    这样的全生命周期管理,使得开发者能够更好地控制和优化他们的 Serverless 应用。 平台的另一个显著特点是易于与其他工具和平台集成。Serverless Devs 允许开发者将其工具链与其他主流的开发、监控、CI/CD(持续...

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

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

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

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

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

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

    百度开发者别册

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

    CSDN Idae开发者助手v1.3.0发布

    这个版本的改进,旨在帮助开发者更好地应对项目中的时间处理挑战,减少因时间问题带来的困扰,从而专注于核心的代码编写工作。 想要深入了解CSDN Idae开发者助手的更多功能,可以访问官方提供的插件详细介绍地址:...

    个人开发者盈利秘籍.

    随着4G网络的普及,开发者可以考虑开发针对4G网络优化的应用程序,利用网络速度优势提供更好的用户体验。这种对技术趋势的敏感和及时反应,可以帮助开发者开发出更受市场欢迎的应用。 技术层面,个人开发者应该充分...

    C#腾讯云开发者工具套件

    特别地,为方便C#开发者更好地调试和接收腾讯云产品API,腾讯云开发者工具套件也提供了适用于C#的开发工具包。这使得C#开发者在使用腾讯云服务时能够更加得心应手,从而提高开发效率和产品质量。 腾讯云开发者工具...

    OpenHarmony开发者文档

    整个文档可能还会包含一些案例研究和教程,这些实际例子能够帮助开发者更好地理解文档中的理论知识,并且通过模仿学习,快速掌握如何在OpenHarmony平台上开发出创新的应用。 OpenHarmony开发者文档是开发者构建基于...

Global site tag (gtag.js) - Google Analytics