- When did you first start gaining an interest in web development? Did anyone inspire you?
It was during my teenage years when I started learning programming and getting online was a novelty. I wanted to distribute programs that my friend and I created. We built static sites to distribute them and the web was becoming my new obsession, racking up phone bills on dialup!
The Ruby community is full of great people such as Ryan Bates, Peter Cooper, José Valim, Yehuda Katz, Laurent Sansonetti, Matt Aimonetti, Hampton Catlin and our very own Jason Seifer and Jim Hoskins who’ve put a lot in over the years teaching people, creating open source software and creating killer products. There’s also jQuery creator John Resig!
- What language did you first start with? Which is your preferred language now?
I started off programming DOS applications in QBasic then moved on to VisualBasic before transitioning to the web to distribute those apps. I started building dynamic sites by first copying Perl scripts in to a cgi-bin folder and hacking them to suite my purposes. Eventually I started building things from scratch in PHP and getting in to databases with MySQL.
You can almost do anything in Ruby, once you learn how powerful it is you can’t see the same way. Ruby has a great community of developers and it makes it easier to get in to. Ruby is designed with the principle of least surprise in mind. Want to reverse a string? Call the reverse method! It’s like you know what you’re doing without knowing!
Today, on the server side, I’m all in with Ruby (with a few sprinkles of node.js here and there).
- What are some future web technologies (bleeding edge) that you’re excited about?
Being a polyglot programmer it’s always fun to learn new things and apply them in environments you wouldn’t typically. If you can learn more than one computer language you start to get a “feel” for the tools required to learn any programming language, it’s not so much about the syntax it’s about the common tools used.
- When you have a big project ahead of you, how do you stay in the zone when coding?
Small steps. Get the minimum viable product out the door. Let your users play with it, break it and react to their use cases. There’s a lot to learn from behaviour rather than second guessing it. Having a massive project ahead of you can be daunting and off putting. Breaking it down makes it more digestible. Think about stories or use cases your users have to go through. Writing them out in a BDD framework can help. BDD or Behavior-driven development allows you to focus on what has value for your business. A popular framework is Cucumber – you can check it out on http://cukes.info. It’s great because you can write your user stories in plain english so it can be signed off by non-technical project shareholders.
- What makes you most excited about Treehouse?
Treehouse offers the opportunity for people to empower themselves through learning, advancing their careers, starting new businesses and getting to know the technical world better. Times are tough now but the technology business hasn’t seen much disruption, and these jobs need filling. Treehouse is the right solution at the right time; world changing stuff. That’s what’s exciting!
- Tell us something about yourself you don’t think anyone would ever assume!
I’ve never seen the Big Labowski! Oh and I have 4 nipples.