It should be fair to say that most companies who employ software engineers expect those engineers to deliver high-quality code, Headspring is no different. At Headspring, we view software development as a craft and pride ourselves in having developed a culture which values a Passion for Learning and Growth — one of our core values. A key enabler of being able to deliver high-quality software to our clients, and being able to grow and encourage one another, is our thorough code review process, facilitated by Pull Requests.
A feature of modern Git repositories, Pull Requests allow Developers and Technical Leads to review and refine changes to a code base before they are merged in to master or another mainline branch. Modern tools such as GitHub and Bitbucket allow these rich conversations to take place in the context of the code.
Aside from facilitating the delivery of high-quality software, Pull Requests have the additional benefit of facilitating asynchronous communication — providing people with longer periods of uninterrupted time to do their best work. Additional benefits include facilitating the transfer of specialized knowledge throughout a team and facilitating the mentorship of junior engineers.
This document captures specific and general guidance for maximizing the use of Pull Requests in software development and serves to capture our internal guidelines for applying the tool to projects.