The ability to release changes to software rapidly and reliably is critical to the function of software systems at Goldman Sachs (GS). Our business and software requirements change with the market at a quick pace, and because of that, we need to ensure that these changes are backed by a high degree of quality, control, and assurance. We address this through two predominant strategies - instilling a ground-up culture of Software Craft and quality amongst our engineers, and having a set of control gates that manage our ability to push changes through the CI/CD pipeline to production. These are complementary initiatives that help ensure quality is at the forefront of our engineering practices.
When I started as a developer at GS more than 15 years ago as a relatively new Computer Science graduate, I had the privilege of working with some excellent senior mentors who made an impression on how I work. Their commitment to code quality, testing, and thoughtful software design influenced my working style and helped me to appreciate two aspects of software engineering:
This raises another point around the software development culture at GS and its relationship with the Software Craft movement - an initiative that emphasizes the importance of building skills over time under the guidance of an expert. I continue to have some excellent mentors today, but I mentor younger engineers too, ensuring the cycle of apprenticeship continues. Mentoring is an aspect of my role at GS that I really enjoy. It gives me an opportunity to meet others within the organization, share my developer experience, and continue to learn from others. Goldman Sachs' strong culture of apprenticeship and collaboration has nurtured Software Craft, and led to the creation of a GS Software Craft community. This community has several hundred participants and meets every two weeks to talk through various aspects of Software Craft (such as techniques for deleting unused code, code review best practices, new testing techniques, discovery of libraries, etc.). Our Software Craft community is one of several examples where teams from across the organization come together to collaborate on best practices, and help each other to continue to raise the bar. Another example is an initiative that involves our Tech Fellows community - a large group of selected senior technical leaders who help review the design of services and initiatives across our organization. This cross-team collaboration yields better final products and greater overall efficiency.
I believe that our culture of Software Craft provides significant benefits to the organization. Not only does it improve our software standards, but it also embodies aspects of the GS culture (focus on clients, apprenticeship, mentorship, collaboration, and quality) as well as our engineering tenets. The topic of Software Craft and quality is one that myself, and many others at GS are passionate about, so, watch this space for more blog posts on Software Craft at GS. The next entry in this series will focus on techniques we employ to delete unused code, and how this improves the quality of our codebase.
If you would like to learn more about opportunities at Goldman Sachs, we invite you to explore our careers page.
See https://www.gs.com/disclaimer/global_email for important risk disclosures, conflicts of interest, and other terms and conditions relating to this blog and your reliance on information contained in it.