Skip to content

Instantly share code, notes, and snippets.

@gardner
Last active January 10, 2024 22:59
Show Gist options
  • Save gardner/ef062055980a9810aad7656197eb2ca8 to your computer and use it in GitHub Desktop.
Save gardner/ef062055980a9810aad7656197eb2ca8 to your computer and use it in GitHub Desktop.
How To Gardner

Communication

I want to ensure that communication is effective and doesn't interrupt deep focus. If you feel that I am communicating with you too frequently or about irrelevant topics, please let me know directly, and I'll take that into account for future communications.

Regarding email, I usually respond three times per day: in the morning before standup, midday before or after lunch, and in the evening before leaving (except on Fridays). If I use "reply-all," I expect someone in the "To:" field to respond unless the issue has already been addressed. It's okay to respond to these emails just to say who the best person is to answer the question. Everyone in the CC field is there to follow along, so please only move people to BCC after clearly announcing it in the email thread.

For chat, I'm generally signed in but will turn off notifications when on a call with someone or concentrating deeply. I believe in off-topic chat to build relationships and strengthen the organization's culture, so please invite me to your channel.

I'm available by phone during work hours but prefer email over voicemail. If something is very urgent and we work in the same space, feel free to interrupt me, but please don't try to start a casual conversation if I have headphones on. If I do have headphones on, consider whether email would be a better form of communication.

Leadership

I appreciate good leadership and want to learn more from you about your style, recommended books, articles, or other advice.

As a follower, I aim to provide information and feedback before you ask for it. During conversations, I'll provide my opinions and feedback.

As a leader, I believe in stating what we're trying to achieve and why, what the teammate should achieve, and defining the resources available and any constraints. I want progress and issues to be reported as we work together, but I won't dictate how to carry out the task; competent and trusted team members are able to figure that out themselves.

Feedback

I only feedback to people that I want to help. If you are receiving feedback from me, it's because I care about your growth and progress. I will share critical feedback privately and look for opportunities to praise you publicly. If I notice something notable, extraordinary, or exceptional that you've done, I may celebrate it with others.

When I receive feedback, I'll generally thank the person for helping me become better. If I receive critical feedback that I don't agree with, I say thank you and take some time to think about it.

"Radical Candor" by Kim Scott is a book that advocates giving honest feedback to people. Being authentic and real is important, and people will know they can rely on you to be honest.

Disagreements / Arguments / Debates

The goal of any disagreement is to get it right, not to be right. Having good disagreements is essential. They should be seen as a natural part of building complex systems with many smart people. The key is to learn and grow from them together. Avoid ego-fueled arguments and watch out for your own ego injecting itself. The Socratic method, which involves asking well-thought-out questions, can help when a debate gets heated.

Humility

Checking our egos at the door is crucial. It doesn't matter how smart one is if they're an asshole. Humility is the most important quality in a software engineer.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment