4 Engineering Tenets To Live By

For a company as small and fast-moving as ours, each stage of growth comes with its own set of group dynamics to consider. Just add one new person to the team and the whole culture changes!

Over the last four years, we’ve grown from just a handful of people in a single room to a 22-person organization comprised of an engineering and community team distributed around the world. After our most recent round of hires, the engineering team decided that it was the perfect time to publicly define and document the key tenets we, as a distributed open source team, are looking to exemplify.

In our new 4-part blog post series by Director of Engineering Spencer Norman, we’ll explore the ways in which Reaction Commerce’s engineering tenets lay the foundation for a successful technology-first organization. Each week, Spencer will dive into one of our four overarching themes—communication, character, competence, and care—along with the core values that drive each principle. We’ll also include concrete examples to illustrate how these tenets might translate to our daily work. Here are the 4 key tenets:

Communication

As a distributed team building open source software, strong communication is the cornerstone of our organization.

  • Thoughtful feedback. Give timely and specific feedback.
  • Public discourse. Maintain a bias towards public discourse.
  • Clarity. Expect and demand clarity.
  • Focus. Establish working blocks—interruptions are costly.

Character

Being a great software engineer involves much more than just understanding design patterns, data structures, and knowing when and where to use binary search.

  • Empathy. Maintain a platform mindset.
  • Open-mindedness. What you don’t know matters enormously.
  • Responsibility. Achieve the goal, don’t finish the task.
  • Growth. Be better today than yesterday.

Competence

We get excited by the prospect of working alongside people who are among the best at what they do.

  • Critical thinking. Solve the right problem.
  • Excellence. Do your best every day.
  • Consistency. Always be shipping.
  • Precision. Do things right the first time.

Cooperation

Being a distributed first team means proactively scheduling time to collaborate with each other. It also means we place a high priority on external community-building.

  • Cooperation. Pair whenever possible.
  • Protectivity. Protect the codebase.
  • Ownership. Think like an owner.
  • Proactivity. Leave it better than you found it.

Conclusion

We hope that readers come away from this series with a more transparent understanding of how we make decisions here as a team. We also hope that other startups, distributed teams, or open source orgs see a practice they’d like to incorporate into their own workflow.

Next week, Spencer will be delving into how we communicate, both within our distributed team and to the Reaction community at large. See you soon!

comments powered by Disqus