EverQuote drives innovation.
The company has several events throughout the year that center around innovation and creativity. By allowing employees to explore their skills through creating projects that solve tech problems, EverQuote helps foster innovation and growth within their employees.
One way EverQuote drives innovation is through The Innovation and Planning sprint, also known as “Innovation Week.” Innovation Week takes place quarterly.
What is Innovation Week?
The Innovation and Planning sprint is dedicated to research, learning and planning for the upcoming quarterly planning meetings. The sprint provides a dedicated time and space for grassroots initiatives and exploration.
The sprint is divided into two weeks.
The first week allows for engineers to work on their innovation projects and learnings, while the second week focuses primarily on planning with their teams and taking part in quarterly planning.
A Glimpse At A Few Projects
The projects created during Innovation Week in Q1 this year were exceptional such as the project Heidi Little, Senior Software Engineer, created during the week.
She created Deployment Notifier, a platform that automates deployment messages to slack from both automated and manual deployments from engineer’s projects.
Heidi’s idea for the project came from pieces of an older project that she completed.
“I had previously created a workflow where a deployer could fill out a form in Slack to produce a consistently formatted message in our deployment channel, but especially as we have been moving to automated deployments, these messages didn't always get posted, and it was an extra step for developers that could be easily automated,” said Heidi. “One day I saw that Slack Workflows had released a workflow builder for a slack webhook, so I thought I could use that to make an automated deployment message from our deployment scripts.”
The best part about Deployment Notifier is it saves time for developers.
Heidi believes Innovation Week gives employees the freedom to try new ideas for products or process improvements that can help with day-to-day work.
To her Innovation Week means reserved time that makes all the difference.
“It's dedicated time for people to try out and demonstrate solutions to problems that they have seen in their work, as well as time to look at different technologies and expand their toolset for solving problems tomorrow,” said Heidi.
Another popular project this year was Rules Engines, software systems for executing conditional logic in a programmatic way.
Drew Berry, Tech Lead, and his team completed the work for this project ahead of Innovation Week, but took the week as an opportunity to explain the project to colleagues to permit implementation.
Berry and his team came up with the idea for their project by recognizing how certain components of a legacy codebase could be decoupled and rewritten. In our B2B software platform partners of EverQuote express their desired pricing for connections with insurance shoppers in a way that aligns well with an abstract Rules Engine.
The best part of their project is it not only helps employees at EverQuote, but the company itself
“We are paying off a huge amount of technical debt for our team (and EverQuote as a whole) as well as setting the foundation for new infrastructure,” said Berry.
To Berry, Innovation Week is a great time to address issues you may not be able to during the normal operations.
“Innovation is a great time to solve nagging problems that might not get the light of day during a regular sprint, or to implement best practices, or to learn new tools that might get used,” said Berry. It's one of the best ways that we as an org can continue to be industry leaders in technology.”
Berry also believes Innovation Week helps him grow professionally.
“I get to learn new skills or deep dive into things that I might not otherwise, as well as work in areas that I am passionate about that I might not get to work in normally,” said Berry.
Andrew Baldwin, Senior Software Engineer II also part-took in Innovation Week during Q1, giving him an opportunity to work on a project he has been wanting too.
“I love Innovation Week. I think every engineer keeps a running list in the back of their minds of cool tech they'd like to build something with, or a useful tool that their team could really benefit from, if only they were given a few days to work on it,” said Andrew Baldwin, Senior Software Engineer II. “Innovation Week is an opportunity to do just that. It's less stressful than a hackathon, which I really like, because it doesn't feel like it's interrupting your regular work schedule too much.”
This year, Innovation Week gave Andrew the chance to build a tool to trigger manual data pulls from third party APIs.
“We have a number of partners that we advertise with, and we're constantly pulling and analyzing data from our marketing campaigns in order to fine tune our ads,” said Andrew. “The fetching of that data happens periodically, based on a specific schedule that we define manually. As you can imagine, our ad campaigns are ever-changing, and sometimes fetching that data doesn't happen frequently enough.”
Fortunately, for Andrew, information about what data needs to be pulled and when that should happen is stored in a queue, so manually triggering one of the jobs to run is just a matter of inserting a new message into the queue.
“All we needed was a frontend app that could send new messages to the queue, and we'd be able to trigger data pulls ad hoc. I knew right away I wanted to build this with Next.js. Next.js is a framework that allows you to build server-side rendered React apps, and APIs to go along with them,” said Andrew. “It's also loaded with a bunch of tools to help you build consumer-facing apps, but since this was going to be an internal tool, I didn't dive into those too much. What I was most interested in was the React app on the frontend, and the Node API on the backend.”
For Andrew, the design process was a challenge.
“The hardest part was piecing together some semblance of a design, because like most engineers, I am not good at making things look good. I used Bootstrap's React implementation (appropriately named Reactstrap) to help with that a little bit,” said Andrew.
Once Andrew completed all of this, his last step was to build the API.
“Next.js makes API building simple. All of the routes are created automatically based off of the presence of files in the api directory, so all I had to do was add a single file, have it accept data from the frontend, and forward that data on to our queueing service,” said Andrew. “I added one more API endpoint for the frontend to use, which makes an asynchronous call to a database to get a list of running jobs, and returns an ordered list for the frontend to display.”
Andrew was pleased with the final outcome.
“All in all I think it turned out pretty well. I was able to deploy it to a production environment a few weeks after Innovation Week, and it's currently being used by our team of marketing analysts,” said Andrew. “I think it's a cool example of the type of thing that can be built during Innovation Week. The code isn't perfect and there are some additional features that would be nice to have, but there was zero overhead from project planning, and I got to use some cool tech to build something useful for our team.”