Skip to content

Latest commit

 

History

History
33 lines (22 loc) · 2.06 KB

PRINCIPLES.md

File metadata and controls

33 lines (22 loc) · 2.06 KB

Ukama Engineering Principles

*listed in no particular order

Know The Business

You have a right to know how business functions and you have to understand it in order to make reasonable decisions.

Be open source at the core

Ukama is open source at its core. Our proprietary software must always use and may extend on the open-source version but never replace it.

Do One Thing And Do It Well (DOTADIW)

Write programs that do one thing and do it really well. Write programs to work together.

Keep it simple (KISS)

System Design should be as simple as possible. Don’t overcomplicate without necessity. Simple systems are easier to understand, extend, and maintain.

A service or a system should run out of the box with the default configuration.

Ukama software systems should run in vendor-neutral, scalable, and immutable infrastructure.

Follow Api First Approach

API is a first-class citizen. Internal user-facing applications should use the same API that is exposed externally.

When you face a choice like what naming convention or framework to use, try to look around, find similar cases and stay consistent with them unless you have a strong reason to diverge.

Automate tests and infrastructure from the beginning

Everything should be the code. Investments in automation early will pay off in the long run by simplifying the routine tasks and eliminating human error

In order to handle errors effectively, we need to know where they happen and what exactly happened. Systems are complex and they fail from time to time. Our goal is to make sure we are prepared