Why MediaAlpha’s Tech Stack Runs on Perl

We use a fast, flexible programming language that allows our engineers to focus on solving business challenges

Perl's speed and flexibility allow our engineers to innovate by giving them more time to think creatively about growing our business.

For many of the new hires who join our engineering team, the most distinctive aspect of our technology is the programming language we’ve used to build it.

In a tech world dominated by languages like Python and Java, MediaAlpha’s tech stack stands out due to its reliance on Perl, a 30-year-old programming language known for its strength in data processing and text manipulation.

Given that Perl is not quite as popular as some of the other languages tech companies are using these days, engineers who are considering a job with MediaAlpha sometimes wonder why we use it. After all, wouldn’t it be easier to use a language that more people have prior experience with?

The answer is that Perl is just the right fit for our business, which requires us to process large quantities of data and quickly update our systems. Meanwhile, the language’s speed and flexibility allow our engineers to innovate by giving them more time to think deeply about how new technology iterations can grow our business.

If you’re still curious, here’s a little more detail about why we use Perl.

Perl allows us to process data, scale our infrastructure, and quickly update our systems

We chose Perl when we were first building our company due to its built-in regular expressions, its ability to handle our JSON data set, and the extensive CPAN library, which offers engineers access to a wide range of pre-built functionalities they can deploy in their code.

Over the years, Perl has helped us scale our company by allowing us to iterate quickly. While other languages take long periods of time to compile, Perl helps us keep pace with the changes that are needed on our platform by enabling us to make about 15-20 releases per day. Indeed, another language would force us to schedule releases in advance, but Perl gives us the power to implement them immediately once they’re ready.

As a lightweight language, Perl allows us to process billions of searches each month, and to do so with relatively few servers—using Java would likely require 10 times as many. And because our ad-serving technology needs to live on the websites of hundreds of publishers, it’s important that Perl allows our code to run quickly, without holding up the user experience.

Perl gives our engineers more time to focus on solving our business challenges

One of Perl’s design goals is to “make the common things easy and the hard things possible.” Its flexibility and ease of coding means our engineers spend less time worrying about language syntax and capabilities, and more time thinking about innovations that can more effectively solve our business challenges.

At many technology companies, the software is built by engineers in a silo. Each team is given a small piece of the technology puzzle to look after, with no insight into how the pieces fit together or how their responsibilities advance the company’s overall business goals. In companies like these, team members spend the majority of their time cranking out small, technical changes.

But at MediaAlpha, Perl allows our engineers to make these technical changes fairly quickly. With their remaining free time, they’re able to drill deep into our business drivers and collaborate with our product team to create solutions that solve our high-level initiatives and move our company forward.

While learning Perl can take some time for engineers who are unfamiliar with it, we’ve found that our team members really like the way it frees them up to focus on other things.

In addition to giving team members more engaging work to sink their teeth into, our tech team’s focus on the big picture makes our developers more valuable as engineers. By working through high-level business challenges, our engineers develop a more holistic understanding of how a business functions while learning important problem-solving skills.

Ready to dive into Perl? We’re hiring.

We made the decision to build our company on Perl when we founded it in 2011, and we haven’t looked back since. In that time, programming languages have come and gone, but Perl’s performance and ease of coding have allowed it to stand the test of time.

Year after year, new engineers join our team with varying levels of Perl experience—about half of our team members were new to the language when they joined. But across the board, developers find that Perl is fast, easy to work with, and the backbone of an engineering culture that challenges team members to learn and grow as creative problem-solvers.

If that environment sounds like a place you’d thrive, we have good news: We’re hiring. And if you have any questions—about Perl, working at MediaAlpha, or anything else—feel free to drop our people operations team a line at peopleops@mediaalpha.com.