Mindful Communication In Code Reviews. By Amy Ciavolino, presenter notes are at the bottom.

Similar documents
Student Hub Live interface guide transcript

CLICK HERE TO SUBSCRIBE

019 My Wife Caught Me Looking at Porn, Now What?!?!

#1 CRITICAL MISTAKE ASPERGER EXPERTS

How Can I Deal With My Anger?

Hello and welcome to the CPA Australia podcast. Your weekly source of business, leadership, and public practice accounting information.

While this training is meant for new foster parents, it is also a valuable learning tool for experienced foster parents who want a refresher.

Group Coaching Success Free Video Training #1 Transcript - How to Design an Irresistible Group

CLICK HERE TO SUBSCRIBE

The Open University xto5w_59duu

Contribute to CircuitPython with Git and GitHub

Module 1: From Chaos to Clarity: Traders Let s Get Ready for 2015!

Referral Request (Real Estate)

Phone Interview Tips (Transcript)

just going to flop as soon as the doors open because it's like that old saying, if a tree falls in the wood and no one's around to hear it.

Phase 2: Testing & Validation: Forever Affiliate Content Strategy - Minisite & Authority Site

EPISODE #8: GAINING AWARENESS OF YOUR THOUGHTS

MITOCW MITCMS_608S14_ses03_2

Class 1 - Introduction

So, again, that was addressing that main problem of how to attract new members. Even though people in that stage, you know, it's not just about

Hello and welcome to the CPA Australia podcast, your source for business, leadership and public practice accounting information.

10 Simple Success Formulas Volume 1

SAMPLE SCRIPTS FOR INVITING

BOOK MARKETING: How to be Perceived as a Recognized Expert Using Social Media Interview with Laura Rubinstein

Therapist: Right. Right. Exactly. Or the worst one is when people tell you just smile, just smile.

A Brief Guide to Changing Your Life. - How To Do Happy. Vicki Worgan

Common Phrases (4) Summoners (Requests for Information)

ABCD's To Building An Audience and Getting Noticed FAST: RR002

English as a Second Language Podcast ESL Podcast 200 Meeting a Deadline

Editing Your Novel by: Katherine Lato Last Updated: 12/17/14

Dialog on Jargon. Say, Prof, can we bother you for a few minutes to talk about thermo?

MITOCW R22. Dynamic Programming: Dance Dance Revolution

The Open University Year 1 to year 2 and studying Maths for the first time

Getting Affiliates to Sell Your Stuff: What You Need To Know

Welcome to our first of webinars that we will. be hosting this Fall semester of Our first one

Reversing Subconscious Limiting Beliefs in 2 Hours

Common Phrases (2) Generic Responses Phrases

CLICK HERE TO SUBSCRIBE

Ep #53: Why You Aren't Taking Action

Ep #23: Cheat Days. Hi! How's it goin'? Great? Good. Then let's jump right into today's topic. Cheat days.

ALFALFA IN MY BEEF OPERATION. Jay Quisenberry Winchester, KY

EPISODE 8 How to Grow Your List With Facebook

Julie #4. Dr. Miller: Well, from your forms that you filled out, seems like you're doing better.

SOAR Study Skills Lauri Oliver Interview - Full Page 1 of 8

Pricing Strategies. Don't be a guesser

NFL Strength Coach of the Year talks Combine, Training, Advice for Young Strength Coaches

Ep #182: The Truth about Burnout

The main idea behind this program is to teach yourself how to love yourself, to

OG TRAINING - Recording 2: Talk to 12 using the Coffee Sales Script.

The Open University SHL Open Day Online Rooms The online OU tutorial

What to Do When They Say, 'Tell Us About Your Research' - Advice - The Chronicle of Higher Education

How to Write Compelling Content That Keeps People Reading

The Guru Code Quick Start Steps

CLICK HERE TO SUBSCRIBE

How to get more clients with LinkedIn with Gary Kissel

Contents. Buil ding Your List of Leads

We ve broken this overview into three parts (click the links to skip ahead):

PODCASTING FOR LEADS NOT JUST LISTENERS. by Kim Doyal

Buying and Holding Houses: Creating Long Term Wealth

Love Is The Answer Lyrics

MITOCW R3. Document Distance, Insertion and Merge Sort

How to Close a Class

Transcript of the podcasted interview: How to negotiate with your boss by W.P. Carey School of Business

EPISODE 10 How to Use Social Media to Sell (with Laura Roeder)

Power of Podcasting #30 - Stand Out From The Crowd Day 3 of the Get Started Podcasting Challenge

Begin. >> I'm Dani, yes.

THE 10 MAJOR MIXING MISTAKES

The HEADSHOT GUIDE. The Ultimate Guide to getting ready for your Headshot

The ENGINEERING CAREER COACH PODCAST SESSION #1 Building Relationships in Your Engineering Career

[00:03:00] There is another movement, which is essentially the pupils of the eyes expanding and contracting.

Calm Living Blueprint Podcast

0:00:00.919,0:00: this is. 0:00:05.630,0:00: common core state standards support video for mathematics

Interviewing Techniques Part Two Program Transcript

150 Ways to Keep Your Job

Unhealthy Relationships: Top 7 Warning Signs By Dr. Deb Schwarz-Hirschhorn

Connect with Students: Verbal Communication Beyond the Podium Podcast

Episode Dealing with Summer Associate Offers with Ex-BigLaw Recruiter

Feel Good English. 4 Simple Steps to. The transcript to episode #69

BBC LEARNING ENGLISH How to chat someone up

How to Differentiate Yourself as a B2B Copywriter By Steve Slaunwhite

Cliffs Notes for Social Media

Module 7: Preview Event and Campaign Design Transcript

Celebration Bar Review, LLC All Rights Reserved

Go back to the stopped deck. Put your finger on it, holding it still, and press start. The deck should be running underneath the stopped record.

How to Be a Sought After In-Demand Expert Guest on Multiple Podcasts!

SHA532 Transcripts. Transcript: Forecasting Accuracy. Transcript: Meet The Booking Curve

Putting the Finishing Touches on Your April Round Application

MITOCW watch?v=fp7usgx_cvm

The ENGINEERING CAREER COACH PODCAST SESSION #13 How to Improve the Quality of Your Engineering Design Work and Boost Your Confidence

3 Key Lessons I Learned Going From Zero to $103,000 in 11 Months as a Writer (Part 2) By Joshua Boswell

Rolando s Rights. I'm talking about before I was sick. I didn't get paid for two weeks. The owner said he doesn't owe you anything.

Power Phrases: The Perfect Words To Say It Right & Get The Results You Want By Meryl Runion

Transcriber(s): Yankelewitz, Dina Verifier(s): Yedman, Madeline Date Transcribed: Spring 2009 Page: 1 of 22

BOOK MARKETING: How to Benefit from Hosting Your Own Podcast Interview with Andrew Allemann

CLICK HERE TO SUBSCRIBE

MITOCW watch?v=k79p8qaffb0

Phrases for presentations in English

Listening Comprehension Questions These questions will help you to stay focused and to test your listening skills.

Transcript of Interview with Studio Superstar Phi Nelson

Using Google Analytics to Make Better Decisions

Transcription:

Mindful Communication In Code Reviews By Amy Ciavolino, presenter notes are at the bottom.

What is mindful communication? Mindful communication means to listen and speak with compassion, kindness and awareness. This is a simple definition I like. It's a high level and easier to keep in mind day to day. This includes yourself and others!

General Guidelines» Put yourself in the other person's shoes.» Think about how it would feel to hear what you to say.» Listen to hear what's actually being said.» Let go of what you think the outcome should be. Why did they do what they did? Is the tone and wording something you would feel good hearing? People do a lot of filtered listening, try to really hear what someone is saying. Remember you might not have the best answer. You might have to fake it till you make it on this one.

Mindful Communication In Code Reviews But this is all easier said than done and this talk is about how to apply these to code reviews, so let's talk about code reviews! I'm going to go through some tips for reviewers, and some for reviewees.

Tips for everyone

Take care of yourself Giving kind and considered feedback takes time and energy! If you're hangry, tired, in a hurry, have a lot of meetings, about to leave for vacation, etc. don't review code or send out a review. Fix those things first. Take care of yourself or you can't take care of others.

Tips for reviewer

Don't jump to conclusions Assume the author did what they did for a reason. Instead of telling the reviewee they did something wrong, try "What about this other option? It might make xyz better!" "What happens in abc situation?" Put yourself in their shoes, when you make a code change you likely consider a few options, and go with one that fits the needs. They likely did the same thing. This hits on "Let go of what you think the outcome should be." You might not have the right answer. You might not have all the information you need to understand why the author took the approach they did.

Ask open questions "This part is a little confusing, could you walk me through what it's doing?" "I'm having a hard time following this section, how does it work?" "What other options did you consider for this part?" Listen! Don't assume. If you think something is 100% off the wall, consider that you respect your co-workers, and ask them to explain their thinking. The answer might surprise you, or you might learn something, or get a glimpse into someone else's thought process.

Nit: leave this out "Nit:..." "This is a nitpick..." "Tiny nit:..." "This is slightly nit-picky, but..." If it's not worth saying that much about, then maybe it's not worth saying at all. Why minimize your own feedback? Either its important, in which case just say it, or it's not so leave it out. We have linters. How do you feel when someone nit-picks your code? Not great, right?

Call out if things could be fixed later "This could cause x problem later, but I think it's fine to fix in the next iteration" "Can we make a ticket to come back to this section? It might cause a bug down the road!" So you've left out the nits, but there are still things you think could be improved but aren't strictly necessary or are stylistics difference, let the reviewee know you don't mind if they're updated in a later or follow up PR. You might not be aware of a deadline for the team or that there are a lot of changes still coming.

Be Biased Towards Approving Our work is ittertive so don't be a gate keeper. Try to aprove it even if you disagree with the style or approach. There's a weird power dynamic in code reviews, the reviewee must get your or someone else's approval. Don't abuse this power, unless you're worried a change will cause major problems, approve it. "request changes"/blocking on Github: my opinion on it is that you should basically never do that. If you are that worried about something go talk to the person! Lastly, this might be different if this is a vary large change or includes an architectural decision

Give example code Particularly when reviewing code for someone more junior, give a specific example in the review comment. "This section might be more clear if you switch the order like this: if (true) { return "this is an example"; }" This is kindness. Saves them time, you already thought through it so why make them figure it out on their own.

Link to documentation Shows them where to find the answer next time!

End with "what do you think?" Honor the person whose code you re reviewing. Ultimately they will be making and owning the change. If you have a more fundamental or big piece of feedback, end the comment with "What do you think?". Goes back to letting go of they out come, maybe you don't have all the context, maybe the author already thought about the approach you're suggesting and there's issues with it you missed. Hopefully it doesn't get here, which leads me into tips for the reviewee.

Tips for reviewee

Small iterative changes It is so much easier to review small changes. The smaller the better. This is kindness and awareness, how you'd like to be treated.

Link to documentation Makes it easy for the reviewer to dig in if they need to and provides important context for a small changes. Have you ever recived a one line change and had no idea what it meant? A link to the docs would be so helpful in these cases.

Assume the reviewer has the best intent Even if a reviewer followed all the tips so far, they'll make mistakes or get careless. Try to keep in mind we're on the same team and they likely had good intentions behind whatever feedback was given. It's easy to get defensive, but they aren't trying to be mean. Unless they are, in which case that's harassment and you should speak to your manager/hr. As the author you have to let go of the out come also.

Think about the readability of your diff Your diff itself is a kind of communication. Make sure it's well written!

Think about the readability of your diff» Don't refactor in addition to new changes.» Check that your PR doesn't have unnecessary changes.» Make sure it doesn't include unrelated files.» Each PR should be one logical unit of work.

Get feedback earlier and often Having a quick chat about some implementation options with someone who'll review your code is a great way to save stress when the review comes around. Provide or ask for history about how the decision was made. If you weren't part of conversations about the approach, maybe get some history before suggesting a different one.

This sounds like hard work!

I said you had to take care of yourself! It is hard work

...but it also gets easier You can build up muscle memory of listening and giving kind feedback and then it'll become natural. It might feel uncomfortable in the process. Learning new things is uncomfortable. Again, you might have to fake it till you make it. You might have to stop and take a deep breath.

Thanks!! I'm on twitter: @imightbeamy You can find the slides at http://amy.tech