Being a Better Rails Developer

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…