Every software project presents an opportunity to learn something new. This is one of the most common reasons we hear when someone joins the industry, whether they’re a career changer or a lifelong coder. Software’s fractal nature means every application can be both challenging and rewarding — there’s always more to learn, improve, and expand.
As a consultancy, our developers and designers rotate through dozens of projects, each with unique challenges in their technical stack, delivery process, communication channels, and more. This is thrilling for anyone passionate about continual learning and growth.
But supporting our learning culture at scale has presented numerous challenges. When we were still a small team that was collocated for at least one afternoon each week, this came together organically. Before lunch each Friday, we’d provide brief updates on our project work; after lunch, we’d break off and collaborate on pairing sessions, exploratory spikes, or ad hoc whiteboard sessions. Everyone had dedicated time together to share knowledge and prepare to navigate the next week’s challenges.
As we’ve grown, we’ve experimented to approximate similar opportunities. We still spend an hour virtually together each Friday, but we’ve had to find new formats for sharing knowledge and overcoming challenges while distributed across dozens of client projects.
Over the last two years, we’ve settled into self-organized working groups — we call them guilds to fit our craft mentality. These small groups convene in dedicated Slack channels and regular meetings over Zoom. The format has been successful enough that it’s spawned newer guilds self-organizing around other topics.
In this blog post, we share information about these groups and how they operate.
Infrastructure / Architecture Guild
The Infrastructure Guild regularly discusses issues, challenges, and discoveries related to hosting applications for use, primarily on the web. Common topics include:
- Tools for managing infrastructure as code, such as Terraform, Ansible, etc.
- AWS, its plethora of service offerings, and the intricacies of such
- DNS, TCP/IP, and other network-related stuff
- Performance considerations, such as disk space, CPU load, RAM/memory load, active connections
- Security considerations, such as "least privilege," TCP ports, firewalls, and social engineering
These meetings are specifically inclusive to anyone just getting started in DevOps, and conversations typically revolve around an individual’s experience implementing a particular strategy on their client project.
“I like helping people when I can by sharing my knowledge and answering questions,” says principal crafter Jeff Ramnani. “I also learn a lot from my colleagues who are working on things I haven’t done before. Sometimes we answer questions people are having at their client and offer ideas to help them.”
After exploring the pros and cons of different approaches, the team documents their thoughts in a repository of shared knowledge. This repository makes it even easier for the next person trying to navigate a similar set of considerations or evaluate a specific tool for a project’s use case.
“We cover subjects like distributed systems, event-driven architectures, and data engineering,” says principal crafter Brian Gerstle about the Data Guild. This group hosts a monthly knowledge sharing and discussion session to explore best practices and new ways of leveraging data in software applications. “We’ve broadened our scope to include activities both small and practical (like daily PostgreSQL exercises), to large and exploratory (like a three-day distributed hackathon),” Brian adds.
This combination of small and large activities allows team members to take away different points of emphasis while still collaborating on shared projects. “Event-driven architectures (EDAs) are really interesting to me,” says principal crafter Damon Kelley. “I don’t think EDA is necessarily always data-intensive, but it is at least data-intensive-adjacent. So for me, the guild has been a place to explore that curiosity.”
Not every guild member has such a focused area of interest, but they still gain an impressive breadth of knowledge by participating in the discussions. The most recent meeting included experience shares with JSON serialization, AWS Step Functions, and migrating from a legacy system to a custom, data-driven frontend. “I’m mostly a lurker in the guild, but even passively consuming the Slack channel has seriously upped my game at SQL and managing the data flows of our client applications,” says principal crafter Martin Gaston.
This month, the group also re-instituted a book club to read Martin Kleppmann’s Designing Data-Intensive Applications as a group. Some are reading this book for the first time, while others are returning to the text after spending the last several years attempting to implement the core concepts in their daily work.
This overlap was apparent at a recent meeting when Daisy introduced AutoLayout, a new feature within the Figma interface design tool.
“AutoLayout introduces a way of building design components that maps to how frontend components are structured and styled with CSS,” Daisy says. “A designer might use AutoLayout to build these components, but it is equally important that a developer inspecting the Figma component that they will map to code has an analogous understanding.”
The Frontend Guild provided both designers and developers an opportunity to view the feature and discuss its uses, benefits, and implications for multi-disciplinary teams. Other meetings focus on informal sharing sessions that show and tell what others are working on, as well as any interesting or niche discoveries, blockers, and inspiration.
Our Consulting Guild is focused on all of the soft skills that are critical for a successful client engagement. As an organization, we recognize that our partnerships are about a lot more than just writing code. “They’re about people working together to deliver an excellent piece of software we can all be proud of,” says project director Tom Kowal. “While we're solving ambitious, challenging software problems, we're also contributing to the kind of long-lasting organizational change that makes the process more effective, enjoyable, and collaborative.”
This is much easier said than done, and sometimes requires pushing back against the status quo with challenging conversations. As consultants, we try our best to meet our partners where they are and look for ways to support them as they grow.
“That additional layer of empathy, communication, and a deeper understanding of how successful organizations operate is something we continue to learn in the same way that we continue to pick up new programming paradigms and design principles,” Tom says.
The group meets monthly “to discuss relevant articles and white-papers, discuss challenges we're facing, and dig deep into the process behind great software,” Tom adds. Some of the group’s members also began reading The Trusted Advisor.
The brand new Web3 Guild is something like a petri dish for our experts and enthusiasts to discuss the ever-changing landscape of Web3. In the first meeting, the group took turns sharing what they’re working on, and how they’d like to see the work grow at 8th Light.
“We discussed how new the industry is, and how individuals can still play key roles in the space,” says senior account director Amanda Graham.
The group also is looking for opportunities to have a larger impact as a team. “We are now looking at improvements we can contribute to the Solidity language, and we have scheduled to participate in our first Code4rena Audit as a team,” Amanda says.
Although this guild is brand new, it was preceded by a Web3 workshop series that kicked off its second iteration. This course, designed by technical director Connor Mendenhall, teaches software developers how to translate their skills into the decentralized Web3 space by building a Tic Tac Toe game on an Ethereum-compatible blockchain.