# Engineering Principles

### 1 - Open Source Everything

* Principle: We open-source everything we develop, engineer, or R\&D, aside from the intellectual property of the business.
* Application: Share our code, designs, and innovations with the community to foster collaboration and transparency.

### 2 - Eat Your Own Dog Food

* Principle: We engineer solutions for engineers, therefore we must be the first to use our own products.
* Application: Use our tools and systems in our daily workflows to ensure they meet the highest standards of usability and functionality.

### 3 - Everyone Writes Code

* Principle: From the CEO to the junior engineer, everyone must write code.
* Application: Maintain a culture where all team members contribute to the codebase, ensuring a deep understanding of our products across all levels.

### 4 - Keep It Simple, Stupid (KISS)

* Principle: Keep it simple, extremely simple. Compromise functionality for simplicity if ROI is reasonable.
* Application: Design systems and write code that is straightforward and easy to understand, avoiding unnecessary complexity.

### 5 - Self-Explanatory Code

* Principle: No comments; the code must speak for itself.
* Application: Write clear, readable, and self-documenting code that does not rely on comments to be understood.

### 6 - No Hacks

* Principle: No hacks in the code. If needed, add an issue to be fixed later.
* Application: Avoid temporary or quick fixes that compromise code quality. Log issues and address them properly.

### 7 - Individual Coding Styles with Code Reviews

* Principle: No peer-programming. Each engineer has their own style, but we enforce PR (Pull Request) on every change.
* Application: Encourage individual creativity and coding styles while ensuring code quality and consistency through mandatory code reviews.

### 8 - Iterative Improvement

* Principle: Continuously improve our systems and processes through regular review and iteration.
* Application: Implement iterative testing and feedback loops to enhance the quality and functionality of our products.

### 9 - Customer Experience First

* Principle: Customer is the aim; we must always keep in line with customer experience in what we build.
* Application: Prioritize the needs and feedback of our customers in all design and development decisions to ensure a positive user experience.

### 10 - Embrace Latest Technologies

* Principle: We use the latest technologies where possible, including heavy use of AI products to be faster and more efficient.
* Application: Integrate cutting-edge technologies and AI solutions into our workflows to enhance productivity and innovation.
