Developer values

My Developer values align with my overarching goal: to build software systems that provide net-positive value to humans. Each value identifies a category of risk common to all the systems I build, lists the proactive steps I take to mitigate that risk, and offers stakeholders a persuasive reason to prioritize those efforts.

Security

I anticipate potential threats by malicious actors that could compromise the system and its data. I implement safeguards and secure design patterns to harden the system, in order to minimize the probability and impact of service disruptions and data breaches.

Accessibility

I anticipate different ways that users might engage with the system. I implement robust interface features that accommodate users' needs, so that everyone who relies on the system can access it effectively.

Reliability

I anticipate different ways the system could fail or break. I implement and provision automated solutions to prevent, detect, mitigate, and reverse damage to user data and business operations.

Simplicity

I anticipate unwarranted complexity in the system's design and architecture. I simplify the syste, by re-designing and refactoring components, links, and functions, thereby reducing operation and maintenance costs.


Professional values

My professional values are simple habits which form my professional code. I stive to adhere to this code as consistently as possible in all my interactions with clients, vendors, and peers.

Transparency

When I make recommendations or decisions that affects someone, I:

  • Share all the information relevant to the decision or recommendation.
  • Explain the reasoning behind my decision or recommendation.
  • Omit irrelevant noise that could cause confusion.
  • Clarify why I cannot or will not share certain information.

Accountability

When I make a mistake, I:

  • Take responsibility by admitting my mistake, and the known scope of its impact, to all relevant stakeholders.
  • Remedy any damage to the best of my ability.
  • Draft and share my plan to prevent the same mistake from recurring.

Clarity

When I communicate, I:

  • Use vocabulary familiar to my audience.
  • Translate complex ideas and concepts into mental models that my audience can comprehend and employ.

Humanity

When I work with others, I:

  • Set personal and professional boundaries.
  • Honor the boundaries others have for themselves.
  • Treat everyone's time and priorities with respect, including my own.
  • Advocate for regular periods of rest and recovery, which enable maximum human performance.