True software engineering is carefully designed, implemented, tested, analyzed, and maintained. Such software evolves over the course of development through constant review and feedback from our peers and customers. The following details the core qualities of what engineering rigor looks like in practice.
Our drive for quality is woven into everything we do, and is the primary reason this collective was formed. We achieve high quality engineering through:
- Psychological Safety: Everyone on the team feels accepted and respected where failures are reviewed blamelessly and are a chance to grow stronger together.
- The Long Tail: The team is forward thinking where the work is more of a marathon instead of sprint where everyone has time to plan, research, refactor, build, and rest at a pace that is sustainable.
- Engineering Experience: The engineering experience is one such that anyone on the team can be onboarded and productive within an hour or less which means documentation is up-to-date, most onboarding steps are automated, the test suite is easy to use, the build process is fast, and deployment to Stage and Production environments requires minimal effort.
CommunicationMastering the written word allows you and fellow colleagues to express ideas, think deeply about complex problems, and document architecture so others can ramp up quickly. Good communication means less interrupts, notifications, and meetings so we can accomplish more with the precious time we have.
We craft software that first causes no harm. Our code and business practices strive to make the right ethical choice for our collective, society, and the environment.
We avoid letting inputs distract from our work by staying focused on Getting Things Done. We deal with these inputs by responding quickly, delegating as necessary, and/or scheduling larger projects into our queue so as not to distract from any tasks at hand.
Zero Bug Policy
It would be unreasonable to assume we never have any bugs. No idea is hatched perfectly at inception, try as we might, but we have a low tolerance for bugs if/when they crop up and work to resolve them as quickly as possible. Bugs are an early warning sign that, when left unattended, inevitably leads to complex and even catastrophic failures.
Security is often an after thought but, for us, is a primary focus and concern in everything we do by making it part of the engineering process.
"As an evolving program is continually changed, its complexity, reflecting deteriorating structure, increases unless work is done to maintain or reduce it." -- Meir M Lehman
"A lack of consistency keeps ordinary people from extraordinary results." -- Farnam Street.
Quality software engineering is impossible without well maintained company and code. For us, working toward zero organizational and technical debt -- while enforcing consistency -- is an ingrained practice. We achieve low organizational and technical debt by being proactive rather than reactive in order to not fall behind open source updates, major version releases, security patches, etc. Only with this level of diligence can we provide a work environment and code base that is enjoyable while yielding an outstanding collaborative and customer experience.