// senior backend engineer// ruby on rails

David Morales

Software design, clean code and maintainable Rails.

25+ years building for the web. Ruby on Rails since 2013, remote since 2014. Based in Barcelona.

01about

I’ve been building for the web for more than 25 years. First with PHP, and since 2013 with Ruby on Rails.

I care about software design, clean code and maintainable solutions that deliver real business value. Remote since 2014: distributed teams, asynchronous collaboration. I’ve taught Rails on LinkedIn Learning (5,900+ enrollments) and write about software design on DevelClan.

~/davidmles $ git log --graph --first-parent--graph --date-order
  1. nowHEAD → mainCareer break: studying software design full-time and writing about it on DevelClan.
  2. 2024Published “Hands-On Introduction: Ruby on Rails” on LinkedIn Learning.
  3. 2023Senior engineer on CloudStore, a white-label e-commerce platform with dynamic pricing for ski resorts: took over from a five-person team as its sole engineer, migrated live payments with zero downtime and designed an accounts API.
  4. 2023Published “Hotwire: Reactive Ruby on Rails Applications” on LinkedIn Learning.
  5. 2022Built GreenMarket.net, a gardening marketplace, from scratch, and maintained and extended Verkami.com, a creative crowdfunding platform.
  6. 2022Published my first LinkedIn Learning course: “Ruby on Rails: Debugging”.
  7. 2015Senior engineer on HiveHome.com, British Gas’s smart-home store: maintained a modular Rails codebase and helped replace the Spree e-commerce engine with custom code.
  8. 2014Went remote, building Rails apps for a London agency: a brainstorming platform and the API for the Sheffield Doc/Fest 2015 site.
  9. 2013Poured everything I knew about Symfony 2 into a Udemy course, then left PHP for Ruby on Rails.
  10. 2008The Symfony years: classifieds and e-commerce sites, often as the only developer.
  11. 2006Technical lead at a Barcelona start-up: built Tree-Nation.com, an eco social network, from scratch, then grew and led a team of three. PHP, MySQL, Linux.
  12. 2005Hired as a UNIX systems administrator, straight in as a level-3 technician. Reverted after a week: I was a developer.
  13. 2005university:Graduated in Computer Engineering at the University of Barcelona.
  14. 2005mac:First laptop: an Apple iBook G4 running Mac OS X Tiger. The first step on a long road to an all-Mac setup.
  15. 2001Full-time trainer while studying at university: 500+ hours of company courses, mostly UNIX and Linux, plus Java and web development.
  16. 2001university:Started Computer Engineering at the University of Barcelona.
  17. 2000Merged into my first job in October, thanks to a recommendation from someone I met on #php: a train-management web app for FGC, a Catalan railway, in ASP. On day one a stack of notes landed on my desk: I was teaching a JavaScript course the following week.
  18. 2000Hired to program COBOL on AS/400 systems. Reverted after a few days: it wasn't my path.
  19. 1998irc:Started building websites in PHP and hanging out in #php on IRC-Hispano.
  20. 1998linux:First Linux: Red Hat 5.0, from a magazine CD, installed next to Windows to see what it could do.
  21. 1998npi:NPI #3: replaced NeoBook with my own engine, written in C for MS-DOS. Shipped on the cover CD of PCManía 70, the Spanish computer magazine.
  22. 1998freelance:First client: a billing app in C for the local mechanic. Without a real database it grew too complex, and I had to abandon it. Lesson learned.
  23. 1997npi:NPI #1: a disk magazine made with classmates in NeoBook. I wrote about computers and music. Published on the cover CD of PCManía 61; #2 followed in PCManía 66.
  24. 1996demoscene:Fell for the demoscene, in the days of Spanish group Iguana and their demo Despair. What those people squeezed out of assembly is what got me building things.
  25. 1996music:Discovered Fast Tracker II and started composing my first music on the computer.
  26. 1996hardware:Built my first PC from parts, a Pentium 133, and from then on built every one myself. Soon I was everyone’s tech support.
  27. 1995win95:Tried to install Windows 95 by copying a friend’s folders onto my new Pentium 90. It didn’t boot, and that’s how I learned how an operating system really gets installed.
  28. 1995academy:Diploma from my neighbourhood computer academy: MS-DOS 6.2, WordPerfect 5.1, dBase III Plus and Lotus 1-2-3. Years earlier, BASIC hadn’t won me over.
  29. 1994books:Learned the basics of Pascal, then C.
  30. 1994pcmania:Read PCManía, a Spanish computer magazine, cover to cover every month. That’s where I learned hardware and computer architecture.
  31. 1993Initial commit: my first PC, an IBM PS/1 with a 386SX at 25 MHz, MS-DOS 5.0 and Windows 3.1.

02work

03notes

04contact