April 10, 2021
Strategies for reviewing code
Code reviewing someone's PR can be overwhelming. It's a skill that needs to be taught and developed and it's not something that comes naturally in a short amount of time. There are a couple of strategies that I use to tackle large and complicated PRs. “Understand the scope of the PR” Understanding the scope of the PR lets you perform f...
Read more
Read more
April 7, 2021
When should you try-catch errors?
Many developers have this tendency to aggressively try-catch errors in their program. I see it even encouraged by some developers in the name of resiliency and fault-tolerance, but in my experience, it can make systems hard to debug as it can insidiously hide real issues. I recommend that most people should just let the errors propagat...
Read more
Read more
April 6, 2021
How can we incentivize refactoring?
Tech debt can occur when too much of the same knowledge is repeated across a system. For example, the rules to deserialize and validate a config file can be implemented independently by two separate developers, perhaps with one implementation requiring a specialization that has convinced one of the developers that they need their own f...
Read more
Read more
March 17, 2021
Should technical docs live in a wiki or in code?
At work we have most of our technical documentation in Confluence which is a tool made by Atlassian that is similar to Wikipedia. As a software developer, I've always gravitated towards having docs in your repository as markdown files. I find this approach to be easier to manage but it hasn't always been obvious to me why. At first gla...
Read more
Read more