How Qualcomm uses GitHub
Using GitHub in unconventional ways leads to innovation and efficiency.

Company Overview
Founded in 1985 and headquartered in San Diego, Qualcomm has over 220 worldwide locations, 35,400 employees, and more than 130,000 patents. The company is a driving force behind mobile innovation, from 3G and 4G to the emerging 5G generation of connectivity.
Qualcomm Technologies, Inc. operates the company's engineering, research and development functions. With a broad range of employees supporting functions and tools across multiple platforms and countries, there's significant shared code and IT infrastructure requiring version control to keep developers moving quickly, store policies, stay compliant, and track records.
GitHub Adoption and Scale
Repositories: 37,000+
GitHub Seats: 6,500
Customer Since: January 14, 2013
Industry: Telecommunications and Semiconductors
Prior to GitHub, Qualcomm engineering's rigid version control system caused considerable friction. Director of Engineering Craig Northway explained that deploying GitHub in 2011 "enabled a self-service option for people to quickly get to work. Side by side, other tools weren't as complete in terms of operational complexity." Today, Systems Engineer Greg Golin serves as the sole administrator, dedicating only part of his time to maintenance—a stark contrast to older systems that "required a fair bit of hand holding, even for a small set of teams."
Over time, GitHub usage grew organically within Qualcomm Technologies. Northway noted that "the biggest thing we see is a reduction in developer friction. Keeping developers happy and productive is super valuable. It's just a couple clicks, and they're up and running."

User Base and Departments
Of Qualcomm Technologies' 6,500 total GitHub users, 76% are engineers across multiple disciplines:
- 35% software
- 8.5% systems
- 8.5% ASICs
- 7.5% hardware
- 6.5% IT
- 5% program analysis
- 5% system testing
The remaining 24% come from various other departments. Senior Staff IT Engineer Paul Krizak noted that "within each of these classifications there's obviously some blending."
Beyond Source Code
While many associate GitHub with source code, Qualcomm uses it in unconventional ways. Krizak's team stores not only source code but also configuration management policy. Because the policy consists of text files resembling source code, it's stored in repositories. When changes are made, they're pushed through a webhook so teams can seamlessly make and track changes, get approvals, and deploy.

Krizak's teams make heavy use of README files. "It may sound backwards, but each repository represents a discrete piece of policy and allows us to have a very well-formatted piece of documentation embedded in the code."
Krizak thinks of GitHub as "a document of record repository. As long as it's text, you can put it on GitHub. Even if it doesn't change often, you reap huge benefits by storing information there."
Access control and security built around the data provide additional advantages. "You can't do that with a file system or database. And you don't get a history of changes. When you treat GitHub as a universal tool, it creates a lot of opportunities and introduces interesting new workflows to the process." Golin added that in systems engineering, "it gives us another avenue to get work done without involving a bunch of other people or opening tickets and waiting."
From the packaging team, Project Manager Tarun Sadhnani appreciates the ability to generate discussions, make comments, and access the history of issues. "Even if you close out an issue or it's archived, the link is still active, which grants historical knowledge and access to anyone who needs it."

Eliminating Redundancy and Improving Collaboration
One of Northway's database systems stores software and product composition information accessed by numerous teams. "When you write a Python binding to the database and store it on GitHub, everyone can find it. If organizations are restructured or people leave, no code is lost. We don't have to rewrite it or spend money doing something that's already been done."
On the configuration management side, Krizak's team manages small units of configuration policy called "duties." Most duties had no version control—or at most an RCS directory that would contain some history if admins remembered to use it. As the number of engineers grew, managing thousands of policy files became unsustainable. Additionally, an increasing number of duties controlled compliance, passwords, elevated permissions, and more, carrying audit and governance requirements that RCS alone couldn't provide.
"Before GitHub, the configuration management policy was kind of a dark art," Krizak noted. When someone needed a change, they'd send an email or raise a ticket. "Code changes were relegated to a handful of people in an ivory tower." With everything in GitHub, employees can make changes and open pull requests themselves. Krizak's team simply reviews and merges. "It's made what we do much more seamless, transparent, and collaborative."

The team now works with a system where duties can be "mastered" in GitHub repositories, using a webhook to refresh the global filesystem when changes are pushed to the master branch. A script assists end-users with transitioning their duties to this new system. "The script uses the GitHub API to create the repository, sync the data, and set up all the correct webhooks, branches, and triggers," explained Krizak. "It ensures the duty is always correctly mapped to the right repository." A user simply types in a command, then enters their username and password. The script and API do the rest.
Before 2011, Qualcomm engineers stored things in incongruous ways, making compliance and security a massive undertaking for Krizak's team. With repositories, "GitHub creates a predictable pattern for achieving compliance. We keep finding new places where compliance or security needs a record. And we're able to provide that by making GitHub the canonical source."
On the packaging side, each product has a ticket that becomes its single source of truth. Sadhnani explained that "whether it's being initiated, planned, executed, or terminated, the ticket contains all relevant information, including its owner." They use a template to maintain consistency and stickers to generate a weekly report with the GitHub API. "There's less manual work, and leads can send stickers out to the wider teams," said Sadhnani.

Global Collaboration and Support
GitHub has allowed Qualcomm Technologies to work better together across multiple time zones, from San Diego and India to Cambridge, Bangalore, Shanghai, and Austin. Krizak said, "It's essentially impossible to have face-to-face meetings, but through pull requests and comment chains, we can work as a cohesive team. GitHub is a key component in making that 12-hour time zone difference usable." Northway added, "Using GitHub and tying that into Jira to hand off tickets and reviews is vital."
New users quickly realize GitHub's value. Training is available, and "the benefits make themselves apparent very quickly," said Krizak. Take a rollback, for example. What was once a painstaking process is now practically effortless. "It's just one click. Revert! You're done."
When Qualcomm does need help from GitHub, Golin said, "The support is stellar. Consistently great."
Impact and Scale
As of late December 2018, the company had 37,000 repositories and 10,000 organizations, with nearly 600 commits and 900 pull requests merged daily. Between cross-continent collaboration, historical cataloguing, and streamlined workflows, GitHub has revolutionized the way teams work at Qualcomm Technologies.
In the end, GitHub became integral to business in a way the teams didn't initially expect. Krizak explained: "We were able to create a culture around using GitHub as a tool, not just a place to store code."
