Accelerate your software engineering career by reading code

Many developers often focus solely on writing code, neglecting the importance of being able to read code. How do I know? Because I was one of them!

The ability to read code is a crucial skill for every developer, as we often spend more time reading code than actually writing it. However, reading code is often more challenging than writing code. It requires piecing together the context from various parts and putting yourself in the shoes of the original code author. Fortunately, this skill can be learned. As a software engineer, you have plenty of opportunities to enhance this skill while performing your job:

  • Participating in code reviews
  • Debugging code that is outside of your area of ownership
  • Familiarizing yourself with the code of libraries that you depend on

And, there is also GitHub with thousands of repositories solving problems of all shapes and sizes. You are guaranteed to find something that will interest you and dive in.

Improving your ability to read code will unlock many benefits for you:

  • Getting up to speed when changing jobs or teams will be smoother and faster.
  • Code reviews will take less time.
  • Understanding bugs and fixing them correctly the first time will be easier.
  • Knowing how your dependencies work will help you come up with better designs.
  • Your debugging will be more effective, especially in cases where you can’t debug directly (e.g. missing debug symbols, decompiled code, etc.).

If you feel reading code is not your thing, think again. It might take some time to pick up this skill, but it will serve you for years.

Read more here: https://growingdev.substack.com/p/the-art-of-code-reading

Accelerate your software engineering career by reviewing code

Reviewing code is often treated as a chore. This is sad because reviewing code is a great opportunity!

  • Code reviews help find bugs early
    The earlier a bug is found the smaller the damage it can cause, and the cheaper it is to fix. Code reviews allow catching bugs very early in the process.
  • Code reviews allow influencing the design
    Suboptimal design choices are hard to change once submitted. Code reviews make it possible to identify them early and discuss alternative solutions that could make the code simpler, more robust and easier to work with.
  • Code reviews help the team achieve its goals
    Each diff contributes to achieving some goal. Reviewing code unblocks the team to move towards this goal.
  • Code reviews are a great learning opportunity
    Diffs contain a wealth of knowledge. Whether it is an interesting language feature used by the author or an innovative idea proposed by a fellow reviewer, there is always something new to learn.
  • Code reviews give a chance to foster knowledge
    Just as you can learn from others through diffs, others can learn from you. By suggesting alternative approaches, highlighting trade-offs or explaining language intricacies you can help other engineers grow.

But wait, there is more! In addition to all benefits listed above you can also be recognized for reviewing code. When I worked at Amazon my code reviews won me an award for demonstrating the “Insist on the Highest Standards” leadership principle and were one of the factors supporting my promotion.