As a technologist, I’ve had numerous ambitions to create open source projects to solve large architectural problems. I wanted to do things like bring Netflix’s Hystrix to NodeJS or contribute to the Spring Framework only to put it off and later find out that someone actually had the will to do it. I’ve started to contribute to open source software around the concept of human collaboration – it’s as rewarding as seeing others succeed.
As I’ve matured as an engineer, I began to understand the true factors that makes someone a “Senior” Engineer are the soft skills and what matters most is believing in building a 10x team. After reading the book: Best Kept Secrets of Peer Code Review, I realized that some companies used to think code reviews were an actual competitive advantage! This hit home for me as we continue to scale our engineering team at ABODO Apartments.
Repeatable Checklists
One of the takeaways from the book is having repeatable checklists for your code review process to prevent from mistakes from happening. I’m a huge fan of repeatable checklists for software deployments, phone interviews. I started using Manifest.ly for myself after I read The Checklist Manifesto by Atul Gawande. I totally missed the boat on putting them in place for a code review system.
Codify Your Teams Norms
We use Github and CircleCI to run tests and lint files but it was very cumbersome to have to go from Github to CircleCI to see the output of the failures. Luckily, there is a tool that allows us to add a logical step in our build process – Danger. They believe in automating common code review chores to allow humans to think about harder problems.
We use Pronto to ensure we conform to coding styles for Ruby, JS and SASS. The issue is we have to install and run Pronto locally on a per developer basis and even have a git pre-commit hook that will run before you push code. Developers are unique as snowflakes I consider their development environment to be sacred, and it can be very difficult to enforce everyone to conform to the same local environment and not to mention it’s hard to scale as you add more developers. The Danger Pronto plugin that I wrote now allows you to use any Pronto runner with Danger.
Bots
As a long time IRC user and big advocate for Slack and a contributor to conversational commerce bot apps, I love the fact that we add another virtual member to our team. The advantage here is that you can defer the repeatable communication of something to a bot, rather than a human sound like a broken record and they could also get frustrated for having to repeat themselves.
Creating A Better Code Review Experience
Overall, it’s improved our team culture and we’re seeing less defects due to smaller PR sizes and more test coverage. What I’m most excited about is the opportunity for other teams to benefit through these new set of tools.