Online Food Delivery
The energy industry is in the midst of a massive shift towards clean and renewable energy. It’s a change that not only requires new sources of power, like wind and solar, but new technologies to manage evolving electrical grids. Synergy, Western Australia’s largest energy retailer and generator, is meeting these challenges head-on.
Getting electricity from a power plant to the lightbulbs in your house requires software. Lots of software. Synergy has developers working on everything from customer-facing web portals to price forecasting models to wholesale energy trading software. Historically, all of these teams worked in different business units. They had little if any contact with each other and may have never even met. In late 2019 the company set out to unify their development efforts and eliminate silos, encouraging more collaboration and code reuse. GitHub became the heart of these efforts to centralize development resources.
“Common ground for all developers is the code base,” Synergy’s Developer Lead Clint Chester explains. “GitHub became the platform to bring all these teams together.”
Before standardizing on GitHub, different development teams at Synergy used different source code management products. Clint and his team considered several solutions before deciding on GitHub Enterprise Cloud. First of all, they wanted a cloud-based solution rather than something they would have to manage on-premises. “We wanted something with less maintenance,” Clint says. “I don’t want our team spending time on installing updates and managing servers.”
Having all these new features also helps developers take advantage of cutting-edge tooling without the need to set up and manage new software. “Before, if someone wanted a build server, for example, they’d have to put in a request, make sure a server was available, and provision it,” Clint says. “Now a developer can just use GitHub Actions to run builds, without the need to requisition any new hardware or buy any new licenses. The same goes for package registries and security scanning.”
Having all of these tools available within GitHub means less procurement, and fewer new tools to learn. The upshot is that Synergy developers can move faster than ever and dedicate more time and focus to solving customer problems.
Bugs and security vulnerabilities can have severe and potentially dire consequences. Ensuring that life support customers continue to have power and complying with regulatory & market operator requirements are just some examples of the impacts bugs and security vulnerabilities can have. Naturally, security is a major focus for Clint’s team. Consolidating code bases from different platforms into GitHub helps Synergy run comprehensive security scans on their software. “Dependabot helped us find and patch more than 60 packages in one portal alone,” Clint says.
Code scanning augments the more traditional perimeter security work that Synergy has more experience in. “GitHub Advanced Security is helping us flesh out our application security capabilities and really take our overall security to the next level,” Clint says. “GitHub’s code scanning is like having fifty security experts reviewing your code.”
GitHub’s code scanning is like having fifty security experts reviewing your code.
GitHub also helps Synergy manage who can access what code. “By law we have to have certain things ring-fenced,” Clint says. “So we keep that code in particular repos and use GitHub’s Organizational Permissions to ensure that only the appropriate teams have access. Everyone has access to the repos which aren’t regulated to allow for better collaboration.”
Synergy uses Actions to run Dependabot and other Advanced Security security scans automatically when developers file pull requests. “It makes it easy to make sure we run all the necessary tests,” Chester says. “It takes human error out of the process.”
Synergy developers are starting to create their own Actions to automate development process tasks. “We had one developer who created an Action to mark a milestone ‘done’ once all the pull requests associated with that milestone are merged,” Clint explains. “It’s a small thing but it helps developers be more productive and make fewer mistakes. We’re looking to automate more and more things.”
The teams are still exploring the capabilities of Actions, but Clint says they’re excited about the possibilities. “They’re realizing that they can run a big matrix job to build and test all of their work,” he says. “We’re only just starting to tap into the potential of Actions.”
Synergy open sourced some of the Actions they built. “It helped us dip our toe in the water,” Clint says. “We’re looking at producing more open source solutions.” The company is already contributing back to some of the open source tools they use.
Clint says that using open source technologies makes it easier to recruit developers. Part of that is that many developers are already familiar with popular open source frameworks—and those who don’t yet have experience with popular tools are usually eager to learn them. And giving developers the chance to contribute to open source makes them happier with their work. “Contributing to open source gives developers a sense of pride,” Clint says. “You get to contribute something, even if it’s small, to something that helps a lot of people. You’re working together to solve problems together, which is what I like.”
Synergy is exploring new GitHub features as well, such as Codespaces. “It used to take a week or two to get new developers onboarded, between granting them all the necessary permissions on their machines and installing all the various tools and packages they need,” Clint says. “Now it’s practically instantaneous. What used to be a 15 step process is just one step: open Codespaces and you’re off and running.”
With the energy industry evolving so rapidly, the time GitHub frees up for developers at Synergy is crucial. GitHub will continue to evolve alongside Synergy.
Start collaborating with your team on GitHub
Advanced collaboration for
individuals and organizations
* Discounted pricing is for new yearly customers paying with credit cards or PayPal. After first year, price is subject to change. GitHub will send you a notification email at least 30 days in advance of any price change.
and flexible deployment
Want to use GitHub on your own? Check out our plans for individuals