Values
Understanding someone’s motivations makes collaboration smoother. It clears the friction from conversations and decisions. If you want to know what principles guide my actions, here they are.
Curiosity
My feeling is that a good scientist has a great deal of what we can call curiosity. I won’t go any deeper into it than that. He wants to know the answers. He’s just curious how things tick and he wants to know the answers to questions.
- My career goal is to maximize the time I spend exploring ideas and problems, driven by 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.
Intentional Communication
First and foremost, people took writing seriously. They took pains with their own writing, and they were great critical readers of what other people wrote.
Everyone gave generously of their time; it was simply part of the culture that you provided detailed comments on what your colleagues wrote… [This] was one of the things that made the Labs a great place to be.
- 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.
Honesty
- Expect my words to reflect full, honest understanding; I’ll ask when I don’t understand something.
- In solutions or discussions, I share what I do and don’t understand.
- This includes times when honesty is uncomfortable or inconvenient.
Rigor
- Any artifact of my work demonstrates rigor and thoughtfulness.
- In summaries or descriptions, I outline options, weigh them, and recommend one. If it leaves loose ends for someone else, it’s not done.
- Rigor implies good engineering. I write quality code.
Empathy
- In any exchange, I consider the receiver; how it’ll land and how they might feel.
- 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.