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.