Thrilling theme park rides. Disaster resistant design and construction in high risk areas. The special effects in the lastest Hollywood blockbuster. These are just a few ways users have harnessed the power of Autodesk software. Founded in 1982, the company was an early pioneer in computer-aided design and is now a global leader in design and make software for architecture, engineering, construction, media and entertainment, and manufacturing industries.
In 2016, as more and more users shifted from desktop to cloud software, Autodesk recognized the need to stay agile by modernizing internal tools, streamlining processes, and enabling collaboration. Previously, Autodesk’s 5,000 engineers used a different tool, and most could only see one repository: their own. To get additional access, “you needed a double signature from your manager, and then your manager needed approval,” said Senior Director of the Build Platform, George Swan. “Teams were more likely to use a piece of software from a third party than use code from the team across the hall.” Engineering Operations Manager Bob Laughton explained that “GitHub opened all that up: workflows, pull requests, the whole thing.”
Though Autodesk wasn’t known to issue mandates, “we were strongly encouraged to use GitHub,” said Swan. “GitHub is very mature and feature rich,” Senior Software Engineer Patrick Lühne explained. “Compared to other offerings, GitHub always has a head start and introduces bleeding edge features first. GitHub Actions, for example, is currently unparalleled by other vendors.”
Swan noted that within engineering, they focused on reducing lead time to increase agility and make their products more robust. Lühne added that GitHub’s attention to detail was important to the company’s choice. “GitHub chases every little ‘paper cut’: All the little annoyances that shave off two seconds here and two seconds there,” he explained. “GitHub pays attention to those details, which makes things as simple and efficient as possible.”
Compared to other offerings, GitHub always has a head start and introduces bleeding edge features first. GitHub Actions, for example, is currently unparalleled by other vendors.
During the transition, “GitHub helped with everything we needed for the setup, and support was just great,” said Lühne. Senior Software Engineer Martin-Louis Bright added that, “in my entire career, I’ve never had technical support as good as GitHub.” All of Autodesk’s 5,000 engineers now develop and store source code on GitHub. “It’s powerful and remarkably simple to use,” explained Bright. “Developers love to be empowered and they want a tool that can help in the most straightforward way. That’s what GitHub provides.” By enabling developers to share across specialties, projects, and countries, Autodesk effectively broke down information silos. “Our use of GitHub changed many things for the better, most notable being communications and the openness of it,” said Lühne.
Not only does everyone read everyone else’s code, they contribute to it. “Innersource was an important part of the switch, and still is. It’s something we constantly want to improve.” Previously, engineers would build a complex piece of software many times over “because the one that existed only did 90 percent of what we needed,” said Swan. They’d copy the branch, make it their own, and add the final 10 percent. Now, employees have access to nearly 100 percent of the Autodesk IP. Of 19,000 repositories, only about 10, “the crown jewels,” are private. “We are open to everybody.”
Building high-quality code in the cloud started with identifying parameters—both internally and on open source. To do so, Autodesk designed an internal program, Built With Forge, based on their cloud development tool of the same name. “Quality CI/CD, resiliency, data protection, costs. You aim to hit as many as possible to reach bronze, silver, and gold standards,” explained Swan. Every team self-assesses themselves, and “we’ve started to reach reliability. We see teams confident in their ability to improve their DevOps performance. They take on their own goals to improve by 10 or 20 percent over the next six months.”
To encourage developers to contribute back to open source, an internal mechanism called Waiter automatically mirrors open source repositories to Autodesk’s GitHub Enterprise Server instance. This allows developers to work on contributions internally before submitting them publicly. Once they’re ready for publication, they can easily get approval to publish. “Apart from the fact that GitHub has revolutionized the way software is configured and managed within Autodesk, the community opens up so many possibilities for us,” said Swan. One of Autodesk’s biggest open source success stories is USD for Maya, a project to create a Maya plugin and reusable libraries that provide translation and editing capabilities for Pixar Animation Studios Universal Scene Description (USD). “When it comes to open source code we rely on, the list is endless,” said Lühne, and includes Qt, Google protobuf, Git LFS, npm, and Boost. “We have so many projects and so many languages with so many different ecosystems.”
Many Autodesk products use open source software as dependencies. “Take Node.js projects, which use open source packages from github.com,” said Lühne. This fosters an important mentality and culture of collaboration. “Being an active member of the open source ecosystem builds a good reputation,” said Lühne. Open source also sets an even playing field, especially for new hires. “Open source software is standard. Everybody knows it,” said Lühne. “If we get, for example, new hires assigned to a project that uses standard Node.js modules, they’ll be ready to hit the ground running.”
When they find bugs, Autodesk’s engineers can quickly submit pull requests for review. “It’s fixed for everyone, and whenever someone downloads a tool, they have the right version, which has an immediate effect,” said Lühne. “We don’t need any workarounds.” If it was proprietary software, the lack of visibility might block them from finding the bug in the first place. “That would make error reporting much harder, and we’d have to rely on the vendor to investigate the issue.” Additionally, when anyone from Autodesk contributes, it’s automatically peer-reviewed by the maintainers. “With so many pairs of eyes looking at the same thing, the quality is much higher than if we just fixed it for ourselves,” said Lühne.
The reinvigorated efficiency of Autodesk’s engineers is amplified by automation. JIRA, Confluence, Jenkins, and Artifactory are all integrated into GitHub. “Internally, things are radically different. We’re very automated,” said Swan. This is in large part thanks to GitHub’s Status and Checks APIs, which increase the testing quality, effectiveness, and coverage. “We’re really moving and GitHub plays a fantastic part in helping us do all of that.”
Engineers use the GitHub API so much that they’ve learned to “optimize it” for projects like Hubble, an open source dashboard that monitors and visualizes collaboration, usage, and health data on GitHub Enterprise. “We are power users—not just in terms of numbers, but the kinds of requests we get,” said Lühne.
With the global breadth and depth of Autodesk software, security is paramount. “GitHub has very high security standards,” said Lühne. Dedicated security teams use Codacy and SonarQube integrated with GitHub, which run automatically. They also use SAML single sign-on (SSO) to control access, and two-factor authentication to log in to GitHub. “As a software stack, GitHub is very secure and we trust the authentication and authorization.”
Since Autodesk’s switch to GitHub four years ago, “it’s like night and day,” said Swan. “It’s the collaboration, it’s the sharing, it’s the community.” From pull requests to kicking off releases to hundreds of automation webhooks, “it’s all because of GitHub.”