Never in my lifetime I’d guess that the first project I’m an open source maintainer on would be centered around helping humans collaborate. 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. 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.
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.
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.
Feeling the Karma
I literally just published the plugin this morning and in a matter of 4 hours I almost have 80 downloads from my plugin. I’m happy that I could help other teams and make impact. The thought of having helped 80 teams feels so much better than getting 80 likes on a Twitter post! I’m proud to say that my first open source project is centered around human collaboration – it’s as rewarding as seeing others succeed. I have a feeling this won’t be my last.