What makes a home? The location. The memories. The physical structure of a house or apartment. But also the things you use every day: your couch, your bed, your TV, your refrigerator. In Brazil, these essential home goods come from Via, the biggest name in appliance and furniture retail. With more than 1,000 stores and an estimated two deliveries per second, it’s among the largest retailers in Latin America. Technology plays a key role in helping Via maintain its massive logistics network, from e-commerce to in-store point-of-sale and inventory management to the company’s expansion into fintech with its service banQi. The company’s developers also maintain tools and services used externally, including APIs that other merchants can use to list items for sale in Via’s online marketplace.
Via formed in 2010 after the merger of two other major Brazilian retail companies, Casas Bahia and Pontofrio. As a home to many different brands, some of which have been in business since the 1950s, Via’s computing environment relies on many different technologies. “We have a huge technology stack,” says Software Architecture Manager Rodrigo Medeiros. “We work with practically everything you can imagine: Java, .Net, Node.js, Python, and even some COBOL running on mainframes.”
Historically, Via’s development team also used a wide variety of tools to manage their work, including separate applications for version control, continuous integration, and documentation. Discussions happened largely over email. “Maintaining all these systems created a lot of overhead,” Medeiros says.
In order to streamline the company’s development process, they selected GitHub Enterprise. Via now has a single place to manage code, documentation, and technical discussions. “GitHub enables our developers to focus on what they like, which is dealing with code, instead of dealing with tools,” Medeiros says.
Transitioning to GitHub went smoothly. “We were able to migrate all code repositories to GitHub with the push of a button thanks to GitHub’s API,” Medeiros says.
This sort of experience extends to GitHub’s features as well. Via uses GitHub Actions to automate Android and iOS builds and push those builds through their development pipeline. Soon, their entire CI process will be migrated to Actions. “Automating workflows with GitHub Actions is much less complex than traditional CI tools,” Medeiros says. “Our developers who have started using Actions say they never want to go back.”
Automating workflows with GitHub Actions is much less complex than traditional CI tools. Our developers who have started using Actions say they never want to go back.
In addition to streamlining the development experience, switching to GitHub enables Via's developers to standardize on the same environment they use for both internal development and for open source contributions. “Now there’s no difference between working on open source and working on our proprietary software,” Medeiros says. “It’s another way to let developers spend more time on code and less time managing and navigating between tools and environments.”
Via also uses and contributes to open source projects on GitHub, such as Spotify’s developer portal software Backstage. “We already had a developer portal that helped our customers find our open source projects, APIs, and other resources,” Medeiros explains. “But last year we realized that we could be more effective by using Backstage, which provides a similar experience to what we were already providing.”
Backstage provides a single tool for managing developer resources like APIs and data models, hosting templates for spinning up new projects, and publishing and managing documentation. Plus there’s a marketplace of plugins that extend functionality or integrate third-party tools. “We benefit from being part of the larger open source community that is working on Backstage instead of working on our own portal software alone,” Medeiros says. “If we have a problem or need some additional functionality, we can do a pull request or create a plugin, that way we’re solving not only our own problems, but helping the whole community as well.”
Moving to GitHub doesn’t just give developers fewer tools to manage. It also helps them collaborate. When technical discussions happened mostly in email, the conversations were siloed. “It’s very common to see one team dealing with a problem that another team has already faced,” Medeiros says. “But we’re a big company, so not every team was in touch with every other team.”
GitHub provides a platform for sharing both code and ideas across the company and teams. “We host conversations in GitHub about technical issues that anyone within the company can weigh-in on,” Medeiros says. “If someone’s been down a particular path that another team is thinking about going down, they can share knowledge and help other teams get down that path more quickly.”
Even before the COVID-19 pandemic, Via was working to enable employees to work remotely. GitHub makes working from home easier because developers don’t need to sign-in through a VPN to commit code or collaborate. It’s also made it much easier to share code and work with external partners: they can just add people from other companies to a project and set the necessary permissions without having to provide VPN or Active Directory access.
GitHub also helps new employees to be productive more quickly. “It’s a common tool that many developers already have running in their veins,” Medeiros says. “Practically all recent computer science graduates have GitHub accounts and contribute something or are creating something.” That’s great for hiring, because managers can look at real code that prospective employees have written. “You can prove you’re a good developer by showing off code you’ve already written,” he says.
Via will need those additional developers as it continues to grow and evolve. As they do, GitHub will be there to help them do what they do best: write code.