Last night I pushed my first Rails app to production – you can find it at (oops! It looks like all the traffic has crashed the app. Hiding the URL for now) Here’s what it looks like.
It’s like a super stripped down version of Twitter – you can create an account and post statuses. It uses Twitter Bootstrap for some basic styling and Gravatars for profile pics. One obvious area for improvement (among many) is that right now, you can post a status as any user (not just yourself) and edit anyone’s status.
Despite this issue, I’m still very proud of it. Deploying the app to Heroku was a very satisfying moment and feels like a real milestone in my quest to learn how to code. I have a long way to go, but I thought I’d stop and share some lessons I’ve learned so far as a business guy venturing into web development.
Note: My friend Bevan is starting a Ruby on Rails Newbies Meetup in SF if you’re interesting in connecting in meatspace.
1) Have a learning plan
I signed up for Treehouse (referral link) in late December and have been going through their modules for the past 6 weeks . You can see my progress here. Treehouse was recommended to me by a non-technical friend (thanks Tony!) who found it very accessible and I completely agree.
Having a program or system, especially an interactive one that’s designed for newbies, is incredibly comforting. I know I can work my way through the modules and learn the basics without missing something important or getting too stuck. Obviously there are many options beyond Treehouse. CodeSchool and Lynda are paid subscription based models, and the Ruby on Rails Tutorial are other learning plans that would be worth checking out.
2) Setup is a big hurdle and something to be proud of
When I tried to learn Rails a few years ago, I struggled with correctly configuring Rails and Ruby. It was frustrating and embarrassing to be stymied by such a basic issue that I didn’t feel comfortable asking for help. That was a mistake. I am comforted by Michale Hartle (author of Ruby on Rails Tutorial) when he talks about getting up and running:
There is quite a bit of overhead here, especially if you don’t have extensive programming experience, so don’t get discouraged if it takes a while to get started. It’s not just you; every developer goes through it (often more than once), but rest assured that the effort will be richly rewarded.
So don’t be discouraged by the first hurdle of just getting setup. When you finally get it done, celebrate it – it’s a worthy accomplishment for a newbie. Continue reading →