Here’s Why You’re Doing Code Review WRONG - Essential Software Engineer Skills

  Рет қаралды 31,388

Rahul Pandey

Rahul Pandey

Күн бұрын

After years of working across multiple teams + companies, here are my best practices and tactics to have better code reviews. Code review is a fundamental part of every well run engineering team: any code written should get reviewed by a human who approves the change.
💌 Join our mailing list: techcareergrowth.substack.com
🤖 Android app for Tech Career Growth: play.google.com/store/apps/de...
📱 iOS app for Tech Career Growth: apps.apple.com/app/id1605094641
My friend Curtis has a great course about code review which you can find here: curtiseinsmann.gumroad.com/l/...
➤ Slack community: join.slack.com/t/techcareergr...
➤ LinkedIn community: / techcareergrowth
➤ Connect with Alex: / alexander-chiou
Hi! I’m Rahul, a software engineer and founder with a passion for teaching.
📹 KZbin: / rahulpandeyrkp
📝 LinkedIn: / rpandey1234
🐦 Twitter: / rpandey1234
📸 Instagram: / rpandey1234
📂 Github: github.com/rpandey1234/
🎥 My KZbin Camera Gear - kit.co/rpandey1234/my-youtube...
Timestamps:
0:00 - Intro
1:20 - Different company terminology for code changes
2:03 - Code review if you're new to a team/company
2:40 - Healthy code review -- too high level
3:14 - Healthy code review -- too low level
3:58 - Healthy code review -- sweet spot
4:51 - Best practice #1 - keep code changes small
5:37 - Best practice #2 - delegate work to the computer
6:37 - Best practice #3 - be proactive about getting feedback
7:27 - Best practice #4 - be aware of the back-and-forth
#TechCareerGrowth

Пікірлер: 55
@RahulPandeyrkp
@RahulPandeyrkp 2 жыл бұрын
For more tips about code review from the session that Alex and I gave to 700+ people, download our mobile apps: 🤖 Android: play.google.com/store/apps/details?id=com.randomappsinc.techcareergrowth 📱 iOS: apps.apple.com/app/id1605094641 Also, my friend Curtis has a great course about mastering the code review here: curtiseinsmann.gumroad.com/l/code-review-course
@chriszhang8365
@chriszhang8365 2 жыл бұрын
Totally agree with your points! Wish I had come across this video in my early career
@parry1
@parry1 6 ай бұрын
Great tips. The back and forth was pretty useful - especially the fact that the team and you are in this together - so some code would be approved, even if all changes are not in there!
@MaulikDodiaHollywoodMovieLover
@MaulikDodiaHollywoodMovieLover 2 жыл бұрын
That meme part in code review was fun. Great video. Keep up the good work Rahul.
@jaggis4914
@jaggis4914 2 жыл бұрын
Great points! Thanks Rahul!
@RahulPandeyrkp
@RahulPandeyrkp 2 жыл бұрын
thanks Jaggi :)
@celina6204
@celina6204 2 жыл бұрын
Awesome content Rahul! I love the tips about proactively leaving comments on your own diff and leaving funny memes. I'm about to start a new job so this is great timing. Thanks a ton :D
@RahulPandeyrkp
@RahulPandeyrkp 2 жыл бұрын
Glad it's helpful Celina :)
@ElonMusk-ez5xz
@ElonMusk-ez5xz 2 жыл бұрын
Thank you so much, Rahul. This video landed at the right time for me! :)
@RahulPandeyrkp
@RahulPandeyrkp 2 жыл бұрын
So glad to hear that!
@manojBadam
@manojBadam 2 жыл бұрын
Very good summary of code reviews.
@rdean150
@rdean150 Жыл бұрын
This is insightful and, personally for me, affirming in a number of ways. I agree with every point you made, as It is almost exactly how I think about reviews / PRs. Although I admit that I have, on rare but embarrassingly recent occasions, been guilty of committing some pretty chunky refactors in a single commit, but I was aware of and apologized for the painful review burden it represented. I was nervous when you brought up nitpicks in reviews though - until i saw what you consider a nitpick and what you consider a valid / important suggestion and realized we agree! Naming is super important, but sometimes I feel guilty about being a stickler about it. But it's so crucial for future supportability. This is particularly important when reviewing the PRs of our new grad hires, because it establishes the level of thoughtfulness that they should be striving for, and it gives them context that they very likely were not aware of.
@rdean150
@rdean150 Жыл бұрын
Oh and in case you're collecting these - my current company uses an enterprise git-based sdlc, so we have PRs. But at my previous company, a major financial institution, we used an in-house version control system that utilized CVS under the hood. In that system, these were called "Bless Requests". A common abbreviation was "b+p", meaning "Bless + Push", which was equivalent to both approving and deploying to production.
@abusayedrakib7019
@abusayedrakib7019 2 жыл бұрын
Excellent video ❤❤
@RahulPandeyrkp
@RahulPandeyrkp 2 жыл бұрын
Thank you!
@sheetalkadam2099
@sheetalkadam2099 2 жыл бұрын
Just love these videos. The content is so original! Thanks! I really hope you channel grows exponentially. For some reason I just had a random thought your content would go very well with Ali Abdaal sort of video styling. Just a thought, I really appreciate the content either way!
@RahulPandeyrkp
@RahulPandeyrkp 2 жыл бұрын
Thanks so much Sheetal. I love the Ali Abdaal style, I've tried to emulate some of his sounds + transitions haha. I'm still learning a lot about better editing styles
@sheetalkadam2099
@sheetalkadam2099 2 жыл бұрын
@@RahulPandeyrkp you will get there I am sure!
@patanjalikumar2119
@patanjalikumar2119 2 жыл бұрын
As a new grad software engineer, this is super helpful! Thanks for making this video :) Sidenote 1: How do you think the GIF/meme sharing on code reviews is viewed from a professional standpoint at large companies? Sidenote 2: Looks like you've a dope desk setup! You should make a video on it :))
@RahulPandeyrkp
@RahulPandeyrkp 2 жыл бұрын
Thanks Patanjali! The degree to which you send GIFs/memes is probably going to depend on the company, but at every team I worked on, it was totally acceptable, for junior + senior engineers alike. It's also not required, so if there's any concern about it, sometimes a written "great job!" also works great. I don't think my desk setup is *that* special, but I appreciate it haha, might consider a video on it.
@imbesrs
@imbesrs 2 жыл бұрын
Appreciate!
@RahulPandeyrkp
@RahulPandeyrkp 2 жыл бұрын
glad it helps!
@ThanhDoan-zj4vu
@ThanhDoan-zj4vu 7 ай бұрын
Thank you for your video. When I have a big PR for example few thousands lines of code then I should apply stacked PRs. What is the best strategy for merging in that situation? Cheers
@gabrielfono844
@gabrielfono844 Жыл бұрын
Sir I don’t know if you have seen my comment few days ago on one of your videos where you talked about how to focus on the specific section on the codebase when starting your first job instead of trying to understand everything and become really good at it. Yes I applied it 2 days ago and installing I was able perform better. I am getting better and better . I always watched all your videos but you have never made a videos about how self taught could succeed in the industry and what he should earlier on his career. I taught myself two years ago and been working as backend engineer for 4 months now . We focused on Java , spring framework and aws s3 Thanks
@RahulPandeyrkp
@RahulPandeyrkp Жыл бұрын
I think a lot of the advice b/w self taught and formal will be the same.
@gabrielfono844
@gabrielfono844 Жыл бұрын
@@RahulPandeyrkp thanks
@PaulSebastianM
@PaulSebastianM Жыл бұрын
What mic is that? Looks cool.
@vulpixelful
@vulpixelful Жыл бұрын
For #2, don't IDEs do this for you? I mainly stick to Jetbrains IDEs and their built-in automation scripts are pretty powerful. I'm not dealing with multimillion line codebases though, closer to hundreds of thousands. Love the videos!
@RahulPandeyrkp
@RahulPandeyrkp Жыл бұрын
One of the most frustrating parts of Meta was that all the code wouldn't fit locally in your IDE, so you can't trust in-built refactoring tools. For smaller code bases it can work but I'd still do compilation and unit tests.
@yuichichi
@yuichichi 2 жыл бұрын
What if most of your junior developers are not experienced with the language, for example, Scala? There are too many ways to write the same thing in Scala. When you have new engineers who are new to it, how do you keep a balance between making sure I’m helping them to learn the language and not stressing them out about code reviews?
@RahulPandeyrkp
@RahulPandeyrkp 2 жыл бұрын
Few thoughts: - Do you have a clear wiki with the best practices of the language? Can some of these be enforced by a linter? - Are you able to create "starter tasks" for junior engineers that help them gain confidence while also improving the codebase?
@Sanyu-Tumusiime
@Sanyu-Tumusiime 2 жыл бұрын
Do you know why bro is sweating? He's carrying the weight of all of us industry freshers. thank you for the videos and knowledge
@RahulPandeyrkp
@RahulPandeyrkp 2 жыл бұрын
😂
@aryanpandey8563
@aryanpandey8563 2 жыл бұрын
Great video bro, i have questions: do use linux for programming?
@muizzy
@muizzy 2 жыл бұрын
You can use any OS for programming; but as a backend engineer, most of your code will run on linux. Very few companies (if any) use linux as their main OS. Most use windows or macOS with mac winning out in big tech.
@RahulPandeyrkp
@RahulPandeyrkp Жыл бұрын
I've only ever used a Mac as a professional software engineer
@vikaspandey7053
@vikaspandey7053 2 жыл бұрын
5:38 can you refer some scenarios where automation is used in large code changes for android
@RahulPandeyrkp
@RahulPandeyrkp 2 жыл бұрын
mostly refactoring or deprecating a method or class. In a codebase as large as facebook, all the code modules cannot be loaded into memory of an IDE, so you need to use more advanced tools
@pradeeshbm5558
@pradeeshbm5558 3 ай бұрын
The main problem with code review is that their efforts are not considered and estimated. People do it for charity. This is why no one take any code review task seriously.
@hamzaraza9804
@hamzaraza9804 2 жыл бұрын
Your thoughts about going into web3 as a fresh grad, is that a good option, as there aren't many big web3 companies, and the big companies are only hiring experienced people and not taking fresh grads, so should fresh grads go into a small startup or a service-based company, or they should just go into Big Tech companies as Software engineers and then get experience there and then apply to big web3 companies?
@RahulPandeyrkp
@RahulPandeyrkp 2 жыл бұрын
watch this: kzbin.info/www/bejne/nqbOgplqg9ZmbdE
@steveeuphrates-river7342
@steveeuphrates-river7342 Жыл бұрын
I agree linters catch the logic bugs. Human code review is for things like swatting away class creation that doesn't make sense.
@TheStruders
@TheStruders Жыл бұрын
Do you have any good content (online or yourself) about splitting PRs into smaller PRs? I often find my PR gets too big and I'm never quite sure what to do at that point
@RahulPandeyrkp
@RahulPandeyrkp Жыл бұрын
we have a few lessons about this in Taro. I also like this article from my friend Matt: www.semasoftware.com/blog/code-reviews-101-the-basics
@ashokmanis2111
@ashokmanis2111 2 жыл бұрын
Nice. Can you please help me is there any way to avoid repeated mistakes.
@RahulPandeyrkp
@RahulPandeyrkp 2 жыл бұрын
what's the mistake?
@it_qasqyr5865
@it_qasqyr5865 6 ай бұрын
How can I expedite the approval process for code changes?
@BruceRicard
@BruceRicard 5 ай бұрын
Tip #1: submit small code changes
@iOSAcademy
@iOSAcademy 2 жыл бұрын
Ah yes, Diffs. Why does this sound familiar 😜
@RahulPandeyrkp
@RahulPandeyrkp 2 жыл бұрын
Haha welcome to the new normal
@shivnarayansreeanand7200
@shivnarayansreeanand7200 2 жыл бұрын
bro pls make a video for masters in stanford
@RahulPandeyrkp
@RahulPandeyrkp 2 жыл бұрын
you got it
@AmericazGotTalentYT
@AmericazGotTalentYT 2 жыл бұрын
A Skill Every Software Engineer Needs But Is Messed Up All The Time: Naming KZbin Videos
@RahulPandeyrkp
@RahulPandeyrkp 2 жыл бұрын
😭😭
99% Of Bad Engineers Share These 5 Messy Code Habits
8:52
Rahul Pandey
Рет қаралды 20 М.
Do you have a friend like this? 🤣#shorts
00:12
dednahype
Рет қаралды 55 МЛН
How many pencils can hold me up?
00:40
A4
Рет қаралды 19 МЛН
Watermelon Cat?! 🙀 #cat #cute #kitten
00:56
Stocat
Рет қаралды 5 МЛН
1❤️
00:20
すしらーめん《りく》
Рет қаралды 33 МЛН
What It Took To Become An $800,000 Engineer
11:10
Rahul Pandey
Рет қаралды 414 М.
How Senior Programmers ACTUALLY Write Code
13:37
Thriving Technologist
Рет қаралды 1,3 МЛН
How I Would Learn To Code (If I Could Start Over)
8:09
Rahul Pandey
Рет қаралды 78 М.
3 High-Leverage Career Skills (From a Principal At Amazon)
13:31
A Life Engineered
Рет қаралды 178 М.
3 Career Killers for Software Engineers (from a Principal at Amazon)
9:27
A Life Engineered
Рет қаралды 402 М.
Stop Wasting Your Time As An Engineer - 4 Traps To Avoid
8:28
Rahul Pandey
Рет қаралды 51 М.
What You REALLY Need to Know as A Software Engineer
9:26
Rahul Pandey
Рет қаралды 18 М.
Why You Should Not Learn to Code (as an ex-Google programmer)
12:29
Do you have a friend like this? 🤣#shorts
00:12
dednahype
Рет қаралды 55 МЛН