Software Layers

Having technical responsibilities separated into software layers makes it easier for us to evolve those parts of the system independently to accommodate technology shifts.

Layering also makes it easier to work with our software platform in general, as each layer only deals with one specific set of technical issues, making it simpler for anyone to understand and change as necessary.