Taming Colossus: A Streamlined Approach to Software Engineering
Chad Slaughter, Chief Architect, Enova
- Build large-scale production systems using the Wolfram Language's computational ability, performance and rapid development
- Create quick prototypes or computationally complex infrastructure
- Automate the coding process, dramatically reducing time to delivery
When Chad Slaughter and the team at Enova started the Colossus project—a new streamlined system for making and deploying software changes—they were looking for an alternative to a months-long, multi-step system where models had to be developed by analytics, coded by software engineers and then deployed to production. Slaughter needed a system that could not only handle hundreds of thousands of data points but also shorten development time.
Many of Slaughter's colleagues typically worked with SAS, Python, Ruby or C++, and were surprised to learn that the Wolfram Language could do it all. So instead of dividing computational tasks among many different systems, they were able to streamline the process and write everything within Mathematica using the Wolfram Language.
The biggest advantages for Slaughter include speed of prototyping and development, the ability to use the Wolfram Language for both software engineering and analytics and the ease of importing and analyzing huge amounts of data. With Mathematica and the Wolfram Language, the Enova team can pull in and process third-party and in-house data without having to go back and forth between systems. "With traditional C++, in order to develop a program, it's going to take several hundred lines of code to do anything interesting. With Mathematica, I can do something interesting in less than five lines of code."