topic: Why and how to review code

Tags skill/developer_skills

It’s worth knowing that code review is a fact of life in major software companies. For example, the engineers at Google think it’s really important and Google does pretty well.

So trust that it is important. You need to learn how to do it well.

Here are a couple of articles that will help you get your head around how professional people deal with and understand code review:

When working on a professional team, on a real piece of software, following a good code review process leads to getting the code merged and deployed. It makes the code useful. It makes the code work. So a lot of people will think that the ONLY reason for doing a code review is to make sure that the code works. But that is incorrect thinking.

Code review is largely about the growth of people’s skills. It’s about knowledge sharing. Since we are all about personal growth we’re going to focus on those aspects of code review.

For us, the main goal of code review is learning.

How to prioritise code review

Do it first. Then do everything else. It’s that simple.

By prioritising rapid feedback we prioritise rapid growth and learning. If everyone makes code review their top priority then everyone will be learning as fast as possible.

There are other reasons to prioritise code review as well. It makes for effective and efficient teams. Read about kanban if you need some convincing.

How to give feedback

Since we are a learning environment your job while giving people feedback on their code is:

  • DO help each other UNDERSTAND the code
  • DO help people understand the code, cards will move to complete as a result of this
  • DO NOT just spoonfeed each other answers to questions.
  • DO NOT just rush cards to the complete column

If you see that someone is struggling with a concept and you think you can help them, reach out to them and have a conversation. If you spot that a few people are misunderstanding the same concept you can try to set up a group conversation.

If you spot misunderstandings and you are unsure how you can help, reach out to one of the technical leaders close to you and get them to help. They can advise you or they can step in.

Remember that: The only reasonable measure of success is the number of people you have helped

If you can help people understand stuff, then you will be helping them kick-start their careers. You’ll indirectly be helping them to support their families and positively affect their communities. It’s a powerful thing.

When receiving feedback

  • DO stay humble
  • DO NOT take it personally

And if someone tries to just spoonfeed you answers instead of giving you the feedback you can learn from, please give them feedback and help them become a better reviewer.

Always remember that the goal of code review in an education setting is UNDERSTANDING. Help each other understand. Not just “complete” stuff


RAW CONTENT URL