State Farm Engineering

Information contained in the articles on this site may not be representative of actual use cases. The views expressed in the articles are personal views of the author and are not necessarily those of State Farm Mutual Automobile Insurance Company, its subsidiaries and affiliates (collectively “State Farm”). Nothing in the articles should be construed as an endorsement by State Farm of any non-State Farm product or service.
State Farm® Publishes Open Source by Rex Bennett & Clete Blackwell II
Benefitting the open source community through contributions and project publishing

State Farm® Publishes Open Source

At State Farm®, we take pride in being a good neighbor and in helping others. We often try to find ways to give back to the communities that sustain us and, these days, that would include the online community of open source developers who create and maintain much of the code required to run the modern internet. State Farm® uses thousands of open source programs and is committed to identifying opportunities to contribute back to the community.

Identify repeated events and prevent duplicated data with AWS services by Satya Ravinuthala - Staff Technology Engineer
Avoid data duplication

text to describe the image

Recently I experienced something that you usually hear about when going through resources around cloud and distributed systems, which is everything fails, and you need to plan for it. This doesn’t just mean infrastructure failure but also software failure. Now, if you ever went through any of the AWS messaging services documentation like SNS and SQS, I am sure you have read somewhere in the documentation that they ‘promise’ at least one message delivery and they don’t guarantee exactly one.…

Resolving Spark Dependency Conflicts on AWS Glue by Nick Christopulos - Staff Technology Engineer
Process and approaches for handling conflicting dependencies

Resolving Spark Dependency Conflicts

If you are a Spark developer, you have likely run into a dependency conflict at some point. While troubleshooting a recent issue with multiple conflicts, I was inspired to share my process along with some tips and approaches to resolving dependency conflicts during development with Apache Spark and AWS Glue.

Schema Validations by Dave Svatora - Lead Software Engineer
Schema Validations in AWS API Gateway


Validating inputs is a common problem that must be addressed in application software. Like many problems in information technology, there are many patterns available that provide a solution. This article will focus on one available solution for Application Programming Interfaces (API’s) deployed to AWS’s API Gateway. We will walk through setting up JSON Schema Validations, which is a good pattern for any applications leveraging API Gateways and serverless architectures. It follows…

Breaking the Limits by Chad Prentice
Leveraging Cloud Architecture at Massive Scale

person taking photo with phone

As an insurance company, you’re bound to have a lot of documents to store and maintain. As a 100 year-old insurance company with over 87 million policies and accounts, State Farm REALLY has a lot of documents…to the tune of 12 billion documents weighing in at almost 3 petabytes of data. Those totals grow by more than 3 million documents (3 terabytes) a day. Think about an insurance claim for an auto accident. You have the photos of the damage, the estimate of the repair and the payment for…

Orchestrating Event-Driven Analytics with Ease by Evan Stalter & Tim Nickel

At State Farm our mission is to help more customers in more ways. To achieve that goal, a vast network of components across multiple platforms (PaaS, AWS, Salesforce, and Legacy to name a few) must flawlessly operate behind the scenes to help our agents and call center associates help new and existing customers. Much of this architecture today relies on synchronous point-to-point calls across these platforms, bringing potential challenges such as an outage that could negatively impact our daily…

Improving API Performance with HTTP Keepalive by Clete Blackwell II
Optimizing response time by reducing unnecessary connection reestablishment

Improving API Performance with HTTP Keepalive

Performance of business functionality is important. To keep this at the forefront, modern business functionality is backed by one or more customer-facing APIs (Application Programming Interfaces) which are often backed by a series of microservices. Any amount of unnecessary response time in a deeply-nested service can cause slow performance to customers, potentially creating inefficiencies and diminishing customer satisfaction.

Embracing Chaos by Ranjita Sahu
A Product Team's Journey


On a frigid night in late February 2012, I received a call for an emergency production issue. One of the critical batch jobs that processes data for the next day’s business had failed. At 9PM, there I was back in the office with 11 other State Farm developers. My then-product manager got us pizzas, coffee, and hot chocolate to cheer up the room, and the team spent the next couple hours pushing an emergency fix to production. Over the past decade, system failure analysis and maintenance…