CommunityA Treehouse Developer Interview with Alan


writes on October 17, 2011

Treehouse is our major re-imagining of our video tutorial service, Think Vitamin Membership. I caught up with Alan, our developer, and asked him a few questions about coding the Treehouse app.

Alan hard at work coding the Treehouse app.

What’s your overall strategy for transitioning from Think Vitamin Membership to Treehouse?

Writing Treehouse has been a bit trickier than a typical rebranding would be, just because so much of the underlying logic behind how the site works is changing as well. It’s a lot like writing a completely new app, but I’ve also got a ton of user data and other data, like video information, that has to transition with the app. Because of that, we decided against completely rewriting the app, but instead decided to rewrite chunks of it at a time and throw the old code away as we go. There are actually several things that are already rewritten and already in use, like video delivery.

Every app brings new challenges. What makes this app unique from others you’ve worked on in the past?

Probably the biggest unique factor is that we’ve got a lot of plans for the app that we’d love to be somewhat prepared for, so our strategy behind the app isn’t just focused on today, but it’s focused on how we plan to grow Treehouse. I’m usually against thinking too far ahead, but we saw with Think Vitamin Membership that getting too locked into strict rules about how our library is structured can be really limiting, so we’re changing that to build something that should be able to grow with us a bit more easily.

What’s the workflow like between you and Mike Kus?

I don’t know if there’s much of a set workflow between us. Mike and I work pretty well together, I would say, but the time zone difference makes it difficult for us to talk much. For the most part he’s been putting together HTML prototypes of the pages that we’re working on and then as I write the backed code for those pages I put the markup in place. As we get close to launch, though, I have a feeling we’ll have to deal with the time zone differences so that we can work more closely on cleanup and getting details perfect for launch.

Treehouse is being written using Ruby on Rails. What’s the reasoning behind this technology decision?

There wasn’t too much thinking behind it. Rails is just what we do when it comes to writing web apps. I’ve been a Rails developer for 5 years now (I did Java, .NET, and PHP development before that), and I can’t say that anything comes close to Ruby and Rails for me personally in terms of productivity and expressiveness.

That said, we’ve got some upcoming features that will benefit from the evented-ness of Node.js so we’ll be using it in the near future as well. We’re definitely not against using technologies other than Rails, but it has served our purposes really well thus far.

What other notable pieces of software are being used on the front-end and back-end, and why?

It’s mostly the normal stuff. On the front-end, Mike’s been creating his stylesheets with SASS. I’m using CoffeeScript for our front-end scripting and the wonderful MediaElement.js for our video playback. We’re using Modernizr. On the back-end there’s nothing too special going on. One of my major goals on almost any app that I work on is that the back-end is about as boring and reliable as it can possibly be. It’s hard to focus on overall experience if anything on the back-end is breaking, so I’m actually trying to strip away complexity and extra technologies on that side so that we can focus on having a nice, simple core to the app that will take us a long way into the future.


Learning with Treehouse for only 30 minutes a day can teach you the skills needed to land the job that you've been dreaming about.

Get Started

9 Responses to “A Treehouse Developer Interview with Alan”

  1. What about python and the Django Framework?
    I’d say that comes darn close to rails, right?

    • Anonymous on October 20, 2011 at 5:50 pm said:

      Python’s and Django is great – it’s just not my personal preference. Rails is the framework we use for web development, but it’s not our religion. 

      I think we’re getting to a point in technology where there are tons of almost equal options for what framework you build on, so it comes down to what you are happiest using. For us it’s Rails, but for others that’s not the case.

  2. I am not sure what is the king interview takes place whether its
    behavioral or completely technical… what kida questions asked in

  3. Hey Alan!

     I have a question for you If you can reveal us this kind of stuffs. I read you guys choose ruby on rails and my question is if you held your app on a private server that works properly for ruby on rails apps (I mean a server customized for your needs by the team) or just use a external hosting?

    that’s all. Sorry about my english

    • Anonymous on October 20, 2011 at 5:48 pm said:

      Hey Alonso – we’re more than glad to share info about how we host. We’re running Rackspace dedicated servers but generally manage the hosting ourselves.

  4. Is it Possible to use node.js and Rails both on back-end on same app?

  5. one think i don’t get is that is it possible to use rails and node.js both on backend

    • Anonymous on October 17, 2011 at 4:13 pm said:

      Hey @twitter-58779482:disqus – In our case our node app will be kind of a service running in the backend helping us serve up some special features. It’s kind of hard to talk about right now without revealing all the features, but I think we’ll have more info on what we’ve done and how we’ve built it all after launch.

Leave a Reply

You must be logged in to post a comment.

man working on his laptop

Are you ready to start learning?

Learning with Treehouse for only 30 minutes a day can teach you the skills needed to land the job that you've been dreaming about.

Start a Free Trial
woman working on her laptop