Author & Software Engineer
A software developer with over 20 years of experience across many industries including virtual reality, web development, and large-scale backend systems. He has worked on everything from high-traffic applications to big data platforms and video games, using a wide range of languages and tools. Over the course of his career, he has focused on writing clean, maintainable code, especially in Ruby. As a remote principal software engineer, he builds robust, scalable systems and advocates for clarity and simplicity in software design.
Published titles covering Ruby development, software craftsmanship, and effective remote team leadership.
A Guide to Crafting Better Code for Rubyists
Learn to write clean Ruby code that your team will thank you for. This fully revised and expanded second edition goes far beyond the basics to help you master the principles and practices that keep your Ruby code elegant, maintainable, and future-proof. You'll work through foundational principles like SOLID, DRY, and KISS, explore modern Ruby idioms such as pattern matching and safe navigation, and discover strategies for refactoring, error handling, and performance tuning. With new chapters on metaprogramming, design patterns, sustainable development practices, and benchmarking tools, this edition equips you to write Ruby code that stands the test of time.
Building for the Web
Drawing from two decades of combined experience, this book provides practical strategies for building and managing high-performance distributed teams. Learn how to foster clear communication, maintain work-life balance, and create transparency across your remote engineering organization.
From Beginner to Pro
The definitive guide to learning Ruby from the ground up. This fourth edition covers the principles of object-oriented programming in Ruby and guides you through building fully functional applications, while also providing a solid understanding of databases, XML, web frameworks, and networking—updated for Ruby 3.