Limehome Domain Driven Design & Engineering Principles

Alex Di Mango
limehome-engineering
3 min readFeb 11, 2022

Domain Driven Design

An interesting software design technique for understanding and solving business complexity is Domain Driven Design (DDD). Domain Driven Design supports reality-based modelling of the business as relevant to our use cases.

DDD helps Limehome align the business with the technical side, de facto unifying 2 main areas of our businesses: product and technology.
DDD starts with the idea of identifying the parts of our application that represent a sub-domain of the final application.

Usually, an application is focused on one main domain, for example, one of Limehome’s main domains is properties , showing that our properties are the core of our business. DDD suggests dividing the domain into several sub-domains allowing a company to understand how to structure the business as well as the project.

References:

Engineering Principles

Working with a domain-oriented configuration with a lot of freedom for individual teams offers many opportunities, but it also brings its own challenges. We account for these with an established set of engineering principles that we use across all of our technical teams.

  • We believe that each domain should have the people and the tools to build/deliver/iterate without dependence on the other teams.
  • We make changes small — the only way to know if it works is to get feedback from real users and see how they use it
  • We think across domains and we always give priority to the company and our guests even when this has an impact on our domain
  • We look for positive impact and opportunity to help other domains benefit from what we are building
  • We value simplicity — build only what we need now (*and this doesn’t mean dumb things)
  • We believe in Infrastructure as Code — do it once and do it right
  • We pick the right tool for the job, not the newest and shiniest
  • We deeply understand the importance of documenting well our work

Check out the open roles in our Tech and Engineering team.

--

--

Alex Di Mango
limehome-engineering

I provide expert tech strategies and methodologies to scale organizations and manage cross-functional teams 🖖