CodeNewbie Community 🌱

Cover image for [On-Demand Talk] Teaching through Code Review
Derek Binkley for CodeLand 2022

Posted on

[On-Demand Talk] Teaching through Code Review

About this talk

Code reviews are often focused solely on quality control. The reviewer protecting their main git branch from badly formatted, not properly tested code that can introduce bugs. Code reviews become adversarial processes where the requester must meet all the demands of the reviewer. This type of process does not promote teamwork nor does it allow less experienced engineers the opportunity to truly learn.

In this talk we will learn a new approach to code review. We will learn how to make code review a learning experience by transforming the role of reviewer into a teacher. This approach can lead to high quality code, developer satisfaction and team building. We will also explore ways that junior developers can make changes in the process and encourage adoption of better review practiced by senior and lead developers. By the end of this talk you will learn how to make code review a great learning experience for all those involved.

Talk Recording

Slides

Resources

🌈 Comment below and ask me questions — I might just answer them during my live speaker discussion!


About me

Hi! I'm Derek Binkley — a Full Stack Engineer with Localize. While getting my start fixing the Y2K date problem in Cobol, I quickly moved on to spend over twenty years using JavaScript, PHP, JVM Languages, and SQL and NoSQL databases. I enjoy teaching others through speaking, mentoring, and writing articles. I also like to encourage developers to write clean, testable code. When not in front of a computer, I spend time hanging with family, traveling, and making sourdough pizza.


This on-demand talk is part of CodeLand 2022 — a virtual conference brought to you by CodeNewbie & DEV on June 16 & 17, 2022.

Top comments (17)

Collapse
 
michaeltharrington profile image
Michael Tharrington

Thanks for sharing your knowledge with us, Derek!

Question: Do you remember the first code review you were a part of or even just one of the earliest ones you can remember? Given what you know now, how did that code review go?

Collapse
 
fizzybuzzybeezy profile image
fizzybuzzybeezy

Thank you Derek! I look forward to reviewing your resources. This is such a great topic. The point about reviews being fraught with landmines of gate keeping is well taken. I haven't been in as many formal code reviews. Most were just informal and found I learned new ways of doing things and a flexibility of how to see logic laid out when going the informal route. It does allow for breaking any company set style standards and is best for very small teams. I guess the best way to define an informal review is to look at the work with the developer afterwards, but not during like pair programming. What's your thoughts or experience with this idea of informal reviews? Thank you for your valuable insights!

Collapse
 
nadreamer profile image
Nad

I could have really used this talk a month ago :D
I've had to start doing code review on a big project I just joined and it's been intimidating. Luckily there's a lot of new people on the project and those who've been on it for a while suggested we do a quick call with whoever opened the pull request. That way there's not a lot of back and forth in the comments trying to ask for clarification and explain.

I'm wondering how would you approach a code review on parts of the codebase you're not familiar with yet? Or how would you suggest a junior dev approaches this?

Collapse
 
brianhhough profile image
Brian H. Hough | brianhuff.eth

As someone who is interested in gaining more proficiency in code reviews, are there ways that you can do a mock-code-review with a colleague or do a code review with yourself? What would that process look like to get more experience in this area?

Collapse
 
necolanch profile image
Nicholas Cruz

This is one I was looking forward to. Good communication is a key to this. The points you mentioned of taking out the friction of the extremely nitpicky stuff like spaces/tabs and making the time for code reviews in the project scope are critical to make it as positive of an experience as it should be. So far, the connections I have that I share code with have all made it a great and uplifting experience when I have them review my code or help me find an error.

Question: How have you handled a colleague reviewing your code that was using more negative/condescending language?

Collapse
 
srivera12 profile image
Sarah Rivera

This was great - I'm starting as a junior developer next week, so I never thought about giving code reviews, and I have some anxiety over the code review process. This talk was great for giving advice and an interesting perspective about code reviews in general.

Collapse
 
anyanka profile image
Anja

Thanks Derek, that was very helpful! Until now I didn't have to deal with code review in a professional way but some day I'll need it and it's great to know how you handle it. Hopefully I find an environment where helping and learning from each other are appreciated. :)

Collapse
 
rzuick profile image
Rebecca Z

This is more of a curious question, but have you read Refactoring by Martin Fowler, and if so, what is your opinion on it? I'm reading it in a jr dev book club with more senior members of my team and some of the general philosophy he talks about seems obvious when he says it, but is also things I never thought about as a brand new dev.

Collapse
 
tsbrun profile image
Anya Brun

Thank you for this talk! I struggle with reaching out for feedback because I tend to take it too personally and view a judgement on my work as a judgement of my worth. Definitely not a helpful attitude lol. What would you recommend to someone who’s not necessarily working with a team, but wants feedback on their code? How do you think people who deal with social anxiety or imposter syndrome should approach the code review process?

Collapse
 
aigarspl profile image
Aigars Pluģis • Edited

Thanks for experience what you share with us, Derek!
This topic is important for me, too, as I'm currently rewriting few pages of my internal projects.
Q: How you can do code review for one and same project if it involves different technologies later?