Ever had a frustrating experience with your bank? Or felt like your concerns weren’t heard? That’s exactly what inspired Brazil-based financial institution Nubank in 2013. Built on a mission of building close relationships with customers through excellent service, low fees, and more manageable interest rates—along with a cutting-edge digital platform—Nubank has garnered 12 million customers in just six years. Delivering on this promise to make banking painless for their customers through technology means Nubank also has to rely heavily on technology itself. As a cloud native company, they need a control system that works the same way, so they’ve put GitHub Enterprise at the heart of their DevOps from deploying microservices to creating templates to the foundations of their own infrastructure.
“Our engineering organization at Nubank relies on GitHub. Everything related to business logic is over there in source code,” said Infosec Tech Manager Victor Haberkorn Gomes. “It’s really the heart of the company. Everything starts there.”
The key to success among Nubank’s developers is collaboration, Gomes said, which wouldn’t be possible without open source practices through GitHub Enterprise Cloud. It’s also key to the company’s larger goal: giving all their customers access to financial programs and products they didn’t have before. Engineers aren’t the only ones who use the platform at Nubank either—their product and business architecture teams have licenses too. Gomes said the total number of GitHub Enterprise licenses in use at Nubank is growing all the time.
“Using GitHub Enterprise Cloud removes the burden of managing infrastructure, and we don’t need to worry about the availability of our versioning code, source code and versioning tools,” Gomes said. “It lets us focus on what’s important for our business, and that’s our customers.” Having teams across the company use the same platform also makes it easier for administrative changes and updates to seamlessly roll out across the company on a large scale, instead of each team struggling to manage their own tools.
“We like to be structured in a way that lets us move quickly, which is easily done when everyone is on the same platform,” Gomes said. “Everybody having access lets us publish any documentation and use that link to broadcast some important information company-wide.”
Developers at Nubank both use and contribute to open source repositories like Kubernetes to keep evolving and designing their infrastructure and code pipelines. Open source practices have an extra advantage for Nubank—not only do they help with their own DevOps, but they’ve actually connected the company with people who end up as employees. Both using and contributing through open source gives them a more unique perspective on the evolution of the tools they use.
“We get a lot back because we get in touch with the open source community. It’s a win-win situation for both sides,” Gomes said. “I think our contributions to the development of open source tools helps them evolve in a way that people outside the developer world might not always see.”
GitHub is built into Nubank’s entire DevOps ecosystem, from continuous integration and cloud formation templates to creating a deployment pipeline, as well as integrations with Slack for communication and Quay.io for their image repository. It’s increased their overall lead time to production, and they plan to explore GitHub actions to automate more tasks.
“We like to develop things in a way that helps us to automate operational tasks,” Gomes said. “Github actions take away the manual duties that we have for many processes.”
Our engineering organization at Nubank relies on GitHub. Everything related to business logic is over there in source code. It’s really the heart of the company. Everything starts there.
Nubank’s open source practices have paved the way for innersourcing initiatives too. Their engineering productivity team has already created common code libraries that let developers host repositories for new services, cryptography, log forwarding, and more.
“We try to standardize our code style, our languages, so that everybody can contribute to repositories. It’s really good for me making a change on a project, a service skeleton, or a common library to know that everybody’s going to use that to deploy their service,” Gomes said. “That’s the biggest thing that brings value for me, to have all the log trails for every change.”
As an integral part of their DevOps, Github helps Nubank secure their code by delegating reviews to different groups instead of running everything through one master branch, as well as deliver code faster while keeping records of different versions. Their engineers work much faster with GitHub, Gomes said, and most already know the platform well when they’re hired. This also helps with their ambitious onboarding plan.
More work in open source is the plan for the near future, Gomes said, and they want to give back more to the developer community and make more repositories open for contribution. This initiative will also improve their overall reputation in the development community.
“I think the community admires companies that really care about open source. It’s a good way to promote Nubank as a company that’s really inclusive. We do that in our hiring, but I think we can be inclusive on our code base as well and give back more to the community.”
They’re excited about moving forward with GitHub too. Every time they’ve needed support GitHub responds quickly and effectively, Gomes said, and they’ve even reached out to Nubank to help them find new ways to use their licenses.
“There are things we’ll be evolving in the next few months, like creating a community with GitHub to understand why they’re developing their environment and ecosystem of tools and features,” he said. “The support has been great.”