Building a Sustainable Developer Community of Practice

Photo by Richard Lee on Unsplash

In Lead the Change You Want to See at Work, I shared the story of how a few key individuals led transformation efforts that changed the way IBM does business and led the way to the creation of a program called FED@IBM.

Oftentimes, programs are created at companies and die out due to lack of funding, lack of support, lack of executive backing, lack of interest or lack of leadership. FED@IBM, a program created in 2015 to support the front-end developer community at IBM, continues as an ongoing, thriving community despite the loss of funding, executive support and resources pumped into the program at its inception.

As the FED@IBM Program Lead, I have been reflecting on our program’s success and strategizing ways to sustain the program. By recognizing that the program’s core strength is its community, I have looked to Cultivating Communities of Practice: A Guide to Managing Knowledge by Etienne Wegner, Richard Arnold McDermott and William Snyder. I have been able to identify what stage our community is currently in, and what conditions we need in place, to continue to thrive.

I have identified three key factors which have contributed to the ongoing success of the program: identifying engaging issues and building platforms for sharing, empowering leaders through a distributed community, and defining the group’s role in the organization.


Key: Identify Engaging Issues and Build Sharing Platforms

When the FED@IBM Program started, the first thing that Damon Deaner (creator of the FED@IBM Program appointed by IBM Design’s GM, Phil Gilbert) did was look at the existing grass root efforts already supporting front-end developers. In 2014, front-end developers in the flagship IBM Design Studio in Austin were meeting regularly to share what they had learned at a conference, some tools they were using, or discussing best practices around front-end development. Similar to the concept behind the popular site meetup.com, these developers believed coming together could lead to a sense of community and lend support to front-end developers who were sometimes the “lone ranger” on a project, who were outnumbered by designers, or misunderstood by design leads.

Scaling out this effort beyond Austin posed some challenges; after all, IBM has offices located all over the world. While some front-end developers were hired for the newly introduced design program, many full-stack or back-end developers across IBM (who worked on the UI layer of their application) could also benefit from these meetups. We knew how to reach the FEDs hired through design but how could we reach this larger unidentified developer population?

Damon asked Jessica Tremblay, who originally organized the Austin-based meetup, to work with him on a way to scale out the effort. As a result, they launched a regular, virtual global meetup dubbed “FEDucation.” Rolled out in early 2015 and leveraging the knowledge of members of the community, speakers brought topics like using APIs, code reviews, DevOps, new concepts in JavaScript and using SVGs. Also presentations were given by guest speakers like Alex Russell, Evan You and Sarah Drasner who spoke about their areas of front-end expertise.

The global FEDucation calls are scheduled at a regular time every other week. Free lunch was a draw for the local, Austin audience and when the calls were moved to an earlier time to better accommodate developers in Europe, we switched to breakfast tacos (we are in Austin, after all!). In addition to the live broadcast, all calls are recorded and made available to the community following each FEDucation in a shared repository of knowledge.

Sharing knowledge in FEDucation is regarded as a way to grow your career by increasing a developer’s internal eminence as a subject matter expert in a topic of interest to front-end developers. This benefit has contributed to keeping the FEDucation sessions going strong more than 3 years later. Since its launch, more than 100 FEDucation sessions have taken place and have been attended by more than 4,500 developers from 58 countries.

In addition to the successful FEDucation effort, the Front-end Development Slack workspace plays a critical role in supporting the community. As the first Slack created for people at IBM, the workspace continues to steadily grow and serve as the gathering place for developers to ask questions and get help when they are stuck and share knowledge about their craft. Communication tools like Slack also provide a great way for program leaders to share announcements about upcoming FEDucation topics, calls for volunteers on side projects, new initiatives or program updates.


Key: Empower Leaders Across A Distributed Community

In order for the FED@IBM community to sustain, the leadership of the program has begun to shift from a single, Austin-based leader to a distributed and scaleable model. In order for our community to continue to thrive, we created a hub-and-spoke model to connect the developers located all over the world, in many different time zones and cultures.

We brought together a group of thought leaders in our program from all over the world to an in-person workshop. We used design thinking to examine our mission and adjust it for the future. Our mission we evolved to:

FED@IBM helps IBM grow revenue by crafting industry leading user experiences grounded in a set of open practices and shared core competencies that attract, retain, and grow top talent

At the end of the in-person workshop, these thought leaders were charged with going back to their local regions to create a local, in-person “branch” of the global program. The first FED@IBM local branch was officially launched in February 2018 during a week-long enablement event that the local FED@IBM branch leaders in Böblingen, Germany, conducted. This event which combines conference-styled talks with a hackathon, is called Hackademy. Their event was delivered using a blueprint from the same event which was prototyped by Sam Richard and Damon and delivered by a core team at 16 live events. This event was packaged up as “Hackademy In A Box” with video and written resources and instructions for any local team to conduct their own event.

The key to the success for these local groups is the connection through the hub. Early on in the program, local groups were formed after a Hackademy event took place in a location as the Hackademy team moved on to the next location.

While there was great interest immediately following the conference/hackathon event, we found that over time interest waned and often these local groups did not survive. When we launched the official FED@IBM local branches earlier this year, we immediately set up a shared Slack channel for the branch leaders, GitHub repositories within the FED@IBM GitHub organization and scheduled regular branch leader calls. Maintaining this connection has been critical to allow support for branch leaders to share ideas on how to manage the local community or ideas for activities.

For example, one of the groups shared how they were struggling with attendance at their meetups and realized that members often forgot or had other meetings scheduled over it because the event wasn’t added to their calendar. One local branch leader shared their solution with the rest of the group (which was to leverage an internal event registration tool that automatically subscribes participants to the sessions and reserves time on their calendars) which drastically improved attendance. Now the rest of the groups are benefitting from this new way of managing their local meetups.

Key: Define the Group’s Role Within the Organization

As a community of practice matures, it must define its role in the broader organization. In order to become more than just a community of support and instead a vehicle for transformation, the community needs to find ways to measure its impact as well as prioritize what initiatives the group will focus on.

FED@IBM’s hub of branch leaders is currently brainstorming and ideating on the following areas of impact: onboarding new front-end developers, building and sustaining community, increasing internal awareness and increasing external eminence.

Areas of focus for onboarding center around things like the tools FEDs at IBM use, what defines a FED at IBM and what are some things to avoid. The group has defined guidelines for job postings and guidance for teams around how to interview and hire a front-end developer.

The focus of initiatives around building and sustaining community are around getting the word out about FED@IBM, rewarding participation, support running branches and rewarding presenters. Digital badges, swag, thanking the group leaders, and identifying their contributions to their managers are all potential ideas.

Increasing internal awareness is perhaps one of the most critical areas for the community to sustain. Attracting visibility and attention beyond word of mouth to continue to attract not only members whose job roles align 100% with the community but even those who spend even a small portion of their time coding the UI.

Finally, increasing external eminence is critical as well and can also be a vehicle for increasing internal awareness. Taking notice of how IBM Design and IBM’s Carbon Design System have leveraged this tactic, FED@IBM is also ramping up our efforts by sharing our program externally through external speaking engagements and thought leadership. Jessica Tremblay and Sam Richard shared the FED@IBM story at last year’s DevRel Summit in their talk Finding Community: Building FED@IBM while my talk at the Mobile Web+Dev Summit in March 2017 and follow-up blog post, Leading the Change You Want to See at Work, focused on telling the story from another perspective.


What’s Next:

For all its success to date, FED@IBM still has a long way to go to impact and transform the user interfaces we build. Due to IBM’s size, scale and organizational model, the first front-end developers hired through design had little power to effect change. They were far outnumbered by traditional developers who worked as back-end or full-stack, owning and building interfaces tightly coupled with back-end functionality. An architecture such as this does not lend itself easily to specialists in front-end, back-end and middleware. Developers who build those systems often do not recognize their skill gaps in modern UI development practices which promote performance, accessibility, and API-driven content.

As the IBM Design competency has matured, design has risen to more equitable leadership positions in product teams across IBM. Design leadership is driving the need for modern approaches to software engineering and skilled developers to execute their designs to executive leadership. Design leaders are pointing to higher NPS scores on projects staffed with designers than projects without designers. Engineering teams are steadily increasing their demand for front-end developers and are now coming to the FED@IBM program and leadership for guidance. IBM Design and FED@IBM are pushing for engineering leaders to be put in place who have passion for and who care about the UI.


I often say that my goal is for FED@IBM to no longer exist because it will have achieved its goal and its mission will be an integral part of IBM and the way we work. While there is still much work to be done, I see many signs pointing in the direction that we are on the cusp of this transformation. I would love to be able to look back in 2–3 years and marvel at the memories of the early days of the program and the old IBM at the tail-end of a successful transformation.


Resources

Lead the Change You Want to See at Work by Kelly Churchill

Cultivating Communities of Practice: A Guide to Managing Knowledge by Etienne Wegner, Richard Arnold McDermott and William Snyder

Listen to the Wild Ducks: How IBM adopted Slack by Bill Higgins

What is Hackademy by Sam Richard

Finding Community: Building FED@IBM, Jessica Tremblay and Sam Richard at DevRelSummit 2017