Learning to Code: Lessons From Building a Rails App with Treehouse

Learning to Code: Lessons from Building a Rails App with Treehouse

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.

Learning to Code: Lessons From Building a Rails App with Treehouse

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…

The Most Memorable Quotes (I Could Capture) From Startup School 2012

Startup School is a fantastic event put on by Y Combinator. They bring together some of the most important and interesting people in tech startups and have them give candid, non-pitchy talks about what they’ve learned as a founder or investor.

This year, Stanford’s Memorial Auditorium was packed pretty much wall to wall on both levels. I’ve really enjoyed the talks in the past but it’s unfortunate that lots of people are unable to attend. So this year I tried to jot down some of my favorite quotes by the 2012 speakers both to save for myself and to share with others.

Note: I did my best to capture their statements as they said them but also had to patch from memory so this shouldn’t be considered a perfect transcription of the talks! Also I had to leave at 5pm so I missed the last 3 speakers: Joel Spolsky (StackExchange), David Rusenko (Weebly) and Hiroshi Mikitani (Rakuten). Darn!

Mark Zuckerberg, Facebook (interviewed by Paul Graham)

Paul (pg) interviewed Mark (mz) in an entertaining and enlightening recollection of working on Facebook in the early days.

Growing

  • mz: [Looks around at the Startup School audience]
  • mz: “Getting bigger!”
  • pg: “Yeah, well I heard you are too.”
  • Audience laughs

You can’t 80/20 everything

  • mz: “We had to do a bunch of manual work to sign up every school – looking up all the course catalogs. Dustin thought we could grow faster if we didn’t have to do that. We had this big debate on this issue and what quality meant for us. It definitely set this tone early on that we had clean data and it was a college specific thing.
  • mz: “You hear a lot about the 80/20 but you can’t 80/20 everything. There are somethings that you have to go beyond that and be the best in the world at.”

Flexibility is important

mz – “I have this big fear of getting locked into doing things that are not the most impactful thing. This is the thing about entrepreneurs, is that they have this laser like focus on doing the most important thing. One of the amazing things about college is the flexibility to try a lot of projects and explore things. I think people undervalue the power of having options.”

Special kind of pivot

  • mz: “I mean Facebook went through a lot of pivots. We went from just being for college to being “not college”, then from being just a website to being a platform.”
  • pg: “There’s another word for the kinds of pivots you were doing. EXPANSIONS”

Monopoly? Us?

  • pg: “In retrospect, do you think MySpace had a chance after you got all the college students? Were they destined to get dominated by you?”
  • mz: “I don’t see it that way. there is more than one-”
  • pg: “More than one social network? Not really.”
  • Audience laughs

Everyone knew it but me

  • mz: “We raised money from Peter Thiel and told him the plan”
  • pg: [stunned] “You told him you might go back to school?”
  • mz: “Yeah, but I don’t think he really believed us.”
  • Audience laughs
  • mz: “There is a long history of people predicting I’d drop out of school before I did.” [Mark's mom was unsurprised when he told her he was dropping out of Harvard]

Travis Kalanick, Uber

In a brash, chatty pitch, Travis talked about how Uber got started, the progress they’ve made and their battle with regulatory bodies. Continue reading…

Unless You Dare to Battle [quote] + Updates!

It is impossible to win the race unless you venture to run, impossible to win the victory unless you dare to battle.

- Richard M DeVos (via 50 Impossible Quotes)

—–

I’ve had my hands pretty full recently and hope to get some more substantial posts out soon, but here’s a few quick updates:

  • YC Project:  I’ve been working on a cool Y Combinator related side project that’s almost done. I promise you guys will get a first crack at it when I release!
  • Ridejoy Funding: We announced some big news for Ridejoy: we raised $1.3M in seed funding from Freestyle Capital, SV Angel, Founder Collective and some other awesome people. Some coverage in AllThingsD, Techcrunch and Wall Street Journal.
  • How to woo a startup: Getting hired at a startup is tough. I know, I wrote a mega-post on it. That’s why I was super impressed with how Ridejoy’s new community manager applied (and got the gig). Learn more here.
  • Triathlon training: It’s going well. I struggled in the pool at first, and apparently gymnasts are notoriously bad at swimming, but I’m starting to figure it out. Doing a swim-bike brick tomorrow morning!