Best Practices

SAU/CAL Engineering

Table of Contents

Audience

These Engineering Best Practices are not geared to teach anyone to become an engineer. Rather, they aim to illustrate how to engineer the SAU/CAL way. Therefore, these best practices are intended for capable engineers.

Goal

As a company, we strive to provide websites and components that yield a top-notch user experience. In order to improve efficiency, we need to standardize what we use and how we use it. Standardizing our tools, frameworks, libraries, style, version control, and even languages will allow us to better understand the inner workings of someone else’s project and produce better solutions ourselves.

As such, SAU/CAL engineers should follow these best practices in all their work. Our best practices are not meant to be restrictive or comprehensive; we value creativity. The aim is for this document to provide a strong guidance, not an authoritative direction. It’s our hope that these best practices will not only influence SAU/CAL but community members as well.

Philosophy

“We make web publishing easy. Maybe even fun.”

At the very heart of SAU/CAL is user experience. WordPress, we firmly believe, is the best starting point to achieve this. We design and build websites that are tailor-made for our clients and their specific needs.

As such, the user experience cannot be made to be generic. We don’t cut corners when it comes to user experience and interface. We don’t take shortcuts that compromise the end experience for the user. We don’t distribute pre-packaged, auto-generated user interfaces or components.

“Keep it simple.”

While our solutions are complex, we want our code, tools, processes, systems, and practices to be as simple as possible. Simplicity facilitates collaboration as there is a lower barrier of entry. This goes for things like PHP design patterns as well as workflow. We discourage practices such as writing extra levels of code abstraction (wrapping existing API’s) as they complicate debugging and add another component that needs to be maintained.

“We are always learning.”

We are constantly challenging ourselves and learning. Knowledge gives us a competitive edge. Everyone around us is growing; if we stop growing individually or collectively and stop challenging ourselves to improve, we fall behind. For that reason, this document is not set in stone and will change. Evolving these best practices through contributions is incredibly important to us.

Contributing

Please contribute via pull requests on GitHub.