Don Morrison is a Director of Engineering with 18 years of experience building high-performance, user-focused software teams and products, currently leading engineering at MapLight to advance transparency and civic tech. A hands-on leader who prefers a "lead-from-the-front" approach, he bridges strategy and execution—often stepping into code to refactor critical systems and improve reliability for high-traffic applications. He co-founded and scaled a profitable consulting firm, owning product strategy, hiring, and P&L while delivering bespoke engineering solutions for diverse clients. An active contributor to the Ruby ecosystem, his open-source work includes performance optimizations to ClosureTree and structural improvements to Virtus, reflecting deep Rails and back-end expertise. Don pairs technical problem-solving with empathetic team coaching, and he brings practical experience in zero-downtime deployments and data-driven product roadmaps. When not shipping software, he practices Aikido, revealing a disciplined, centered approach to leadership and conflict resolution.
[DISCONTINUED ] Attributes on Steroids for Plain Old Ruby Objects
Role in this project:
Back-end Developer
Contributions:26 commits, 2 comments in 5 months
Contributions summary:Don primarily focused on enhancing the `Virtus` library, an attribute management system for Ruby objects. Their contributions included implementing a module builder for creating custom Virtus modules, which involved configuration and coercion options. They also refactored and documented the library, addressing global configuration settings and deprecating obsolete methods. The user's work involved core changes to the library's structure and functionality.
Easily and efficiently make your ActiveRecord models support hierarchies
Role in this project:
Back-end Developer
Contributions:6 commits in 1 day
Contributions summary:Don focused on optimizing the `hash_tree` method within the ClosureTree library. Their contributions include refactoring database queries to improve performance, specifically by eliminating self-joins and using inner joins. They also implemented the use of `build_nested_hash` for creating hash trees and addressed self-references within the hierarchies. Furthermore, the user worked on applying the use of a computed column.
closure-treerailsdescendantshierarchiesancestry
Find and Hire Top DevelopersWe’ve analyzed the programming source code of over 60 million software developers on GitHub and scored them by 50,000 skills. Sign-up on Prog,AI to search for software developers.