Code Reviews are an awesome way to use the experience and knowledge of a team to create good software. Not all review processes are enjoyable, though.

Here are 6 tips to make your review process better and more enjoyable for everyone!

1️⃣ Make Expectations Clear

A good review process should both be standardized and individual. The terms of the process should be written down and transparent for everyone on the team. Each team member should know what is expected of them and all team members should agree ...
... on the terms. Changing the terms should always be a democratic process within the team. If the team disagrees on changes or terms, it should discuss the issues until there is consent.

On the other hand, the process should be flexible enough to allow for individuality.
Reviewees should be able to ask for more in a specific review when they see the need for it. Sometimes, very important features or complex problems need more characteristics reviewed than usual.
2️⃣ Don't Demand Changes, Make Suggestions And Explain

To make a review an inclusive process, making suggestions is better than simply demanding changes. If reviewers simply demand changes without explaining why, they lift themselves a level above the reviewee and give ...
... them a feeling of having to justify themselves. This can go so far that reviewees stop using their own thoughts and style of problem-solving and instead use a way that guarantees them the most positive review experience. In the long run, it hurts the team and the product.
So, instead of stating "You must change this", it's better to go with "If we did it this way [suggestion here], we could solve issue x and y I can imagine arising when we further go down the current route."
3️⃣ Be Open For Discussions

A healthy discussion can do wonders. Individual issues found in reviews should be discussable.

Every participant should have the chance to state their opinion and give reasons for why they think their solution is a good idea.
Those discussions should go for as long as necessary until all participants can agree on a solution. No individual team member should have the power to simply end a discussion. A discussion is finished when it is finally solved and a solution can be implemented.
4️⃣ Eliminate Personal Code Authorship

All source code should belong to the whole team. No individual code ownership should exist. Personal code ownership can lead to developers taking criticism personally, especially in reviews.
The whole team is responsible to create a good and maintainable product. Bad code is the mistake of the whole team, never of only one individual.

Developers create code on behalf of the team and reviewers ensure that the team's code meets certain criteria.
Switching to this mental model of "our code", and not "my code", can enable developers to focus more on the overall goal and less on the personal aspects of being hurt when whatever they produce does not pass a review flawlessly.
5️⃣ Reserve Enough Time

A review should never be rushed. If it takes an hour of focused work to do a review, then be it. Even if a review takes two or more hours, it's necessary.

A rushed review can lead to many issues being overlooked which in return hurts ...
... the team later, either by leading to errors in a staging environment or even worse in production.

This is also something management needs to understand. A review is a part of quality assurance. Cutting time for it hurts the overall quality and maintainability.
6️⃣ Automate The Boring Stuff

Checking for code style or common security issues should be automated. Style issues can be overlooked in reviews too easily and spotting even the most obvious security flaws is sometimes difficult.
Automated pipelines can run whenever a review is created. Checkmarks in the review then show reviewers whether basic checks succeeded or failed. They can then concentrate on everything that can't easily be automated and have overall less to do.
7️⃣ Quick Recap

Now that we are through, let's do a quick recap of the six tips that will help you to make your review process better and more enjoyable.
- Make Expectations Clear
- Don't Demand Changes, Make Suggestions And Explain
- Be Open For Discussions
- Eliminate Personal Code Authorship
- Reserve Enough Time
- Automate The Boring Stuff
And now, try to implement some of those tips and you will see how much better your review experience will become!

And if you like this content, leave a like and retweet. And if you want more of this, feel free to follow me!

• • •

Missing some Tweet in this thread? You can try to force a refresh

Keep Current with Oliver Jumpertz

Oliver Jumpertz Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!


Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @oliverjumpertz

3 May
I got asked why people get no engagement on their tweets, no new followers, and how to fix this about 10 times in the last 24 hours.

Here is a thread of possible reasons and how to fix them for all of you, based on my own experience!

1️⃣ You Shout Into The Void

When you have a low follower count and no one replies, likes, or retweets your tweets, it might be that people simply don't see you.
How tweets are represented to users roughly works as follows:

Tweets are either represented in a curated feed (the top tweets) or another version that is sorted by latest.

The curated feed is the default, and this is where the algorithm reigns.
Read 35 tweets
30 Apr
I started to take Twitter seriously last year. Within one year I learned a lot about what advantages having an online presence can actually have.

Here are 4 of the more important things that happen when you build your online presence.

1️⃣ You Make Friends

When you interact with other people online, you start to slowly build a connection. You get to know each other and at some point, you perhaps even have a call or a video meeting. This is where strangers can become friends.
Those are the people who interact with you frequently and with whom you have the best discussions. They are there to help when you need them, always.

Those internet friends can also be the ones opening up opportunities to you.
Read 13 tweets
25 Apr
Do you want to get into Web 3.0 as a web developer and take the next step on your awesome journey?

Awesome! Time for a small introduction to Web 3.0 development with JavaScript and ethers.js!

0️⃣ What Is ethers.js?

ethers.js is a JavaScript library that allows you to interact with the Ethereum blockchain, as well as its ecosystem.

Simply stated: You can access your wallet, send transactions, and interact with smart contracts through it.
1️⃣ Installation

Let's assume that you already have a JavaScript (frontend) project of any kind set up. If not, do that first.

Before you now install ethers, you should get one last prerequisite: MetaMask.
Read 15 tweets
23 Apr
From time to time you read the term Web 3.0. For many of us, however, this term is still mysterious.

Time to shed some light on it and explain what it actually is all about!

0️⃣ The Web Today

The web as we know it today is actually already Web 2.0. It is an extension of the original Web (1.0). In the beginning, the web was meant for websites to provide the information and users to consume it.

Web 2.0 changed this and brought the user into the game.
Users started to create the content themselves while websites became the platform to distribute this new type of content instead of only consuming information.

Especially social media made Web 2.0 a reality and kick-started an evolution that still goes on today.
Read 22 tweets
21 Apr
Consensus algorithms are actually a necessity for blockchains to function properly and are at the heart of any implementation.

And did you know that there are actually quite a few of them? Let's take a look at some interesating ones!

0️⃣ What Is A Consensus Algorithm?

Blockchains are decentralized. There is never a central entity that can decide what is true and what is not. Instead, in a blockchain network, a variety of nodes interact with each other.
As a blockchain usually stores data in a chain of blocks (hence the name), the network must decide what the actual truth is together, This is where consensus algorithms come in. Everyone can append a block. If two participants do it at the same time, the chain is forked.
Read 23 tweets
15 Apr
I'm not an HR pro, but I take part in the hiring process, look at CVs and lead interviews with candidates.

Let me give you some advice on your CV, especially if you have not that much or no prior experience at all.

1️⃣ Basic Structure Of A CV

I'm pretty sure that most of you know the basic structure of a CV. Your personal details at the top, and then your:

- education
- skills
- work experience
- projects
- sometimes a few hobbies

in some order, and that's it then.
2️⃣ The Issue

At least in my experience, people with little to no experience often leave out the "projects" part because they argue that they haven't done any, yet.

That is a huge mistake. If you don't have that much experience, yet, you may still compete with people ...
Read 18 tweets

Did Thread Reader help you today?

Support us! We are indie developers!

This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!

Follow Us on Twitter!