Values Statement

TL;DR

These values motivate and inform how I work.

They are values, meaning I aspire to live up to them and they are at times in tension with each other.

They are: curiosity, honesty, rigor, communication, empathy.

Curiosity

  • I chose to take an orientation of curiosity towards any problem I work on. Replace feelings of frustration, anger and disappointment with curiosity when possible.

Honesty

  • My coworkers should expect everything I say to be my complete and honest understanding.
  • I ask when I don’t understand something.
  • When I present a solution, I point out what I do and don’t understand. I am not afraid to be wrong or change my opinion, publicly.
  • This includes times when honesty is uncomfortable or inconvenient, including when I have made a mistake.

Rigor

  • Any artifact of my work should clearly demonstrate rigor and thoughtfulness.

  • When describing issues or summarizing an investigation, I should include the possible solutions that I see, and give a recommendation. If someone else must read my report, come up with possible solutions and give a recommendation, that report was unfinished. When assigning me a problem, my assigner should expect a rigorous investigation, a range of possible solutions, and a preferred recommendation.

  • Rigor implies good engineering. I write quality code.

Effective Communication

  • Effective written and spoken communication must be a core competency. Emails, comments, code review, personal messages and official documents convey the appropriate tone and level of detail.
  • Comments in software are the guideposts for future developers, most importantly myself.
  • When speaking, I am either prepared to speak or explain that I will speak more at a later time when I am prepared.

Empathy

  • In any communication, I consider how it will be received, who is receiving it, and how they may feel about it.

  • The code I write considers the user and the next developer to read or modify it. Have empathy on the developer that maintains your code, because it will most likely be you.

  • This includes writing tools for tasks that others also perform. Share the value of your work with others and deduplicate where possible. Make other’s lives better.