To keep up with competitors, the technical strategy of engineering organizations is often driven by a ‘more is more’ approach.
As teams grow and the number of products multiplies, orgs are faced with the challenge of mounting complexity and how to break it down.
In Managing complexity at scale, methods of addressing this challenge are explored, with contributors sharing best practices from their own experiences.
Episode 1: Scaling held knowledge to unblock teams and untangle software complexity
‘In order to tear apart knowledge silos and create a company-wide knowledge pool, establishing conventions should be a direct goal of engineering organizations.’
In this article, Ben Picolo guides engineering leaders to look at how they can tackle complexity through a lens of convention. Ben states, ‘One of the biggest drivers of complexity is how hard it is to measure or have effective conversations about.’ However, convention overcomes these barriers, allowing teams to openly share knowledge and therefore break complexity down. As Ben highlights, ‘by doing so, we create an environment that allows engineers to collaborate more widely and effectively, and reduce the amount of time we spend discussing the same problems and creating the same solutions.’
Episode 2: Getting GitOps right
Larry Garfield shares his knowledge of GitOps with the reader in this insightful article exploring how engineering leaders can harness Git to be ‘a central part of their application deployment process’. Larry explains that the core to GitOps is based on Git being the single source of truth of a system, Git being the place where all environments are controlled, and all changes being observable and verifiable. This article takes the reader through what these mean in practice and what the system of GitOps can offer to them and their team.
Episode 3: Streamlining the management of multiple websites and apps
As organizations scale, they make more websites, apps, and products – and as this number grows, so do the challenges. Teams are faced with websites and apps that they haven’t designed, are built in different languages, and all of which come with their own unique considerations.
This conversation centered around scaling products and collaborating across competencies with our panelists – Betty Lam (Engineering Leader at Bloomberg), Robert Douglass (Chief DevRel Officer at Platform.sh), and Peter Scheipl (CTO at Kurier) – and moderator – Jackie Balzer (Senior Engineering Manager at Spotify) – discussing their own experiences of doing so.
During this discussion, our panelists explored:
- How to scale without standardization;
- Key practices that they found successful in enabling collaboration across competencies;
- Challenges their teams have faced and how they overcame them;
- Which multi-site management horror story taught them the most.
Episode 4: Embracing simplicity in your engineering team
Guilherme Ferreira takes a holistic approach in this article that explores how engineering leaders can prevent complexity at its root cause to avoid stress and anxiety further down the line. Guilherme explores the different types of complexity – inherent; project-lifecycle-induced; self-inflicted – and how you can challenge these through simplification in your everyday. Guilherme discusses fast iteration, learning to say no, and the power of constraints as methods for implementing simplicity and breaking down complexity.
A final takeaway
From the content in this series, it is evident that there are several ways in which complexity can be addressed, and that it impacts both the tech and its engineers. By looking at complexity through different lenses, engineering leaders can discover the most effective methods for breaking down these challenges of scaling, and continue to lead their teams in delivering multiple products with minimal distress.