Software architecture principles for Friday engineers.

General concepts

Engineers at Friday need to have a basic understanding of these concepts: separation of concerns, single responsibility principle, don't repeat yourself (DRY), loose coupling, principle of least knowledge and high cohesion.


Ruby engineers use the MVC architectural pattern to organise applications using Rails. Frontend engineers organise entities into loosely-coupled components.


The design and development of our APIs rely heavily on the REST and SOA standards.


We generally develop applications in a manner which allows them to easily scale horizontally.