Review Your Own Work

5 min read

One of the key traits of a senior engineer and especially a staff+ engineer is being self-directing. A trick I have used for years to do my best work and reduce the burden on my coworkers is to review my own work.

Reviewing your own work means taking off your "author" hat and putting on your "reviewer" hat, inspecting it from a detached perspective and evaluating its merits, style, and other qualities as if you were reviewing the same from someone else. You want to do this prior to sharing your work with others so that they don't also have to muddle through all the mistakes you will find on your own in your self-review. You will also want to hold yourself to a higher standard than you would hold others to, to grow yourself and set a good example for others.

While this may sound obvious, I rarely meet someone that also follows this practice, so I'm going to walk through two examples of how this looks and what you may gain from the practice.

Review Your Own Merge Requests

When preparing a code merge request into your version control, create a full draft of the request and then fully review it yourself before requesting others to do the same. It's super easy to work on a branch for days or even weeks before opening a merge request, but a lot more difficult for someone to come along and provide a meaningful review of that work. If you review this work yourself prior, it will naturally encourage you to build merge requests that are great to review - smaller, well-scoped, well-explained, and relevant.

Performing a code review of your own work will naturally force you to ask yourself: "What are the important pieces of this request that should be reviewed?" Since it is your own code, you have a different sort of bias than you have when you review others' code. By deliberately disconnecting yourself from your own code when you self-review, you combat your bias to cut corners or do work that you would frown upon if done by others. The result here is that you not only deliver more rigorous work, but you also begin to acknowledge where your judgment of others' work may be nitpicking or otherwise not helpful and can cut it out!

There are tons of good practices you should be looking for when you review code, but when you are reviewing your own code especially, you may ask yourself questions like:

This is only a short list as an example. You should decide on your own review criteria, but it should encompass at least what your organization considers the "best practices" for merge requests.

Review Your Own RFCs

Request For Comment (RFC) documents are used to gather feedback on a proposal that you have the autonomy to implement, but want to gather thoughts and ideas from others to round out your own. Before you share an RFC widely, put on your reviewer cap and evaluate it critically. You're about to ask many people to build a mental model of your proposal and provide helpful feedback, which is hard work! To help them out, you can make sure your document succinctly captures your idea and how it solves a specific, well-understood problem.

A great RFC will typically capture the need or problem that is being solved, the proposed solution, alternatives that were considered, and why the specific solution was the best among the alternatives. This will help your reviewer feel you have considered the problem from all known angles. Some questions you may want to ask yourself when self-reviewing are:

Again, these are merely some criteria to use as a jumping-off point for reviewing your own RFCs in case you aren't sure where to start. Definitely consider what you think makes an RFC "great" to you, and hold yourself to that high bar.

Conclusion

Reviewing your own work is an important part of respecting others' time and making sure you are getting the most out of the time they do dedicate to helping you. It also helps you to be more thoughtful about the value you are creating within your organization which results in better results for everyone. Before asking for someone else to review your work, put the effort in to review it yourself - you won't regret it.