At the Golden Gate Ruby Conference this past weekend, one of the main themes I got from the talks (and conversations between them) was a notion of how important it is to get back to basics in order to cure major issues.
It’s a good point. The shiny new things make for sexier conference talks, but solid fundamentals applied over the long term is usually the path to happiness for a given codebase or system.
I’ve found this true in music and sports as well. Working on “low-level” fundamentals is often the best way to improve. Usually you don’t need something fancy or new to come along and improve things – you just need to learn to correctly use the tools you already have.
Creative work is hard. Whether it’s writing, drawing, programming – it’s taxing in a way that work that allows you to turn off your brain isn’t. To keep doing your best work, you need stuff that will help keep you inspired.
My dad’s a painter/digital artist and for a long time he’s had this quote by Charlie Parker on the wall of his studio:
Don’t be scared – just play the music
I love the simplicity of that quote. It makes it seem possible and even easy to do what you need to do. It also forces you to abandon any excuses you have and just get on with it.
I found a quote I liked so much I’ve had it in block letters on the huge-ass dry erase board in my home office. I found it in this great slide deck from Netflix and it goes:
Mediocre colleagues or unchallenging work is what kills progress of a person’s skills
Cuts through the bullshit and makes you ask some uncomfortable questions, exactly what inspiration is supposed to do.
I’m still getting up-to-speed using Rails (4 months in and counting) and I’ve found some great resources which have helped me kick-start the process and tackle the steep learning curve of using a totally new development language/environment:
1) Ruby on Rails Tutorial (RailsTutorial.org) – I spent the week before starting my current (and first) job using Rails by literally consuming all I could from this site. It’s great for learning Rails 3 from scratch. I love the approach of having both a book and screencasts which cover the same basic material but with a slightly different approach. The author Michael Hartl really knows his shit and has put a lot of thought and effort into the material. By working through the tutorial to the end, you will have built a fully-functional Twitter clone (you can view mine here).
2) Ruby Koans (RubyKoans.com) – A great resource for learning Ruby from the ground up. On top of helping clarify a large number of areas in the language, the Koans are really fun to run through. They take the form of a bunch of unit tests that are broken, which you need to go through and fix, learning some piece of Ruby functionality with each one. A lot of RoR sites/books focus more on the Rails side, but the Ruby side is equally important. I really got a lot out of running through all the koans and it helped me look at elements of the language in a different way.
3) Various projects on GitHub – There’s no better way to get proficient at something than to have a ton of good (and bad) real-world examples to look through and that’s exactly what GitHub provides. You can check out code for all the gems you use everyday – looking at every commit and letting the code tell the story of how it came to be in its current shape. One of my coworkers suggested this approach and it has been awesome.