Evrone’s interview with David Heinemeier Hansson, the creator of Ruby on Rails, co-founder and CTO of Basecamp.
Join the DZone community and get the full member experience. David Heinemeier Hansson is the creator of Ruby on Rails, co-founder and CTO of Basecamp, best-selling author, Le Mans class-winning race car driver, family man, frequent podcast guest, and inspirational conference speaker. Ruby on Rails was created by David in 2003. From the day Evrone was founded, in 2008, we’ve been using the Rails open-source web framework daily. It has helped us write truly beautiful code for our projects thousands of times. In addition to creating one of the most useful tools in software development, David has accomplished many other impressive feats, from writing the books ‘It Doesn’t Have To Be Crazy At Work,’ ‘REWORK,’ and ‘REMOTE: Office Not Required,’ to racing in the FIA World Endurance Championship. In 2014, he came in first in his class in the 82nd running of The 24 Hours of Le Mans, the world’s most prestigious sports car endurance race. He also won the WEC championship in the GTE-Am category that year. In 2020, we invited David to speak at RubyRussia, Evrone’s 11th annual Moscow programming conference. Prior to the event, we got a chance to talk to David about the world of software development and his approach to writing phenomenal code. Evrone: Hey, David, it’s a pleasure to be speaking with you today. Let’s start our interview. What is the best way for an average developer to decide if they need to start with a ‘low JavaScript’ approach and evolve their application later, or they need to use Angular, React, or Vue from the start? What decision strategy would you recommend? David: If you’re building something that looks or tastes like a vanilla web app, like Basecamp, GitHub, Shopify, whatever, then I think minimal-JS is the way to go. It’s no JS, just minimal. If you’re building something that’s highly interactive, like a game, or a photo editing app, or anything that’s more of the single-screen-tons-of-state variety, then looking into a full SPA makes sense. Evrone: As codebase and team grow larger, what parts of the typical Rails application would you recommend to move into microservices? Given that a business wants a good code development organization, but rewriting the entire product from scratch is not an option.