Android

At eHarmony, we are constantly looking for ways to improve our Android codebase. Keeping data usage low and the code clean is one of the company's top priorities. The Android Team uses RxJava, RxCache, and Retrofit 2 to get the most out of every API call, and Fresco to leverage Facebook's image processing techniques. If keeping up to date on the newest technologies and mobile techniques is your passion, eHarmony is great place to display it.

Core Services

The Core Services team manages services for our primary dating application, which supports the application on all major client platforms and supports all internal administrative tools. We own the business logic that drives the application, and we provide clean APIs that communicate the logic and conditions in a RESTful structure. We optimize response times to our User Client Tier by leveraging the flexibility of our Microservices Architecture, utilizing read optimized NoSQL solutions, and processing synchronously and asynchronously through our Event Driven Architecture. Various monitoring solutions, like AppDynamics and Graphite, provide us the visibility to continually improve the Customer experience.

Data Engineering

The Data Engineering team is responsible for building and maintaining batch and real-time data pipelines into eHarmony's Big Data and Enterprise Data Warehouse platforms. Our data infrastructure is a combination of Massively Parallel Processing Netezza system complimented by a scalable Hadoop platform. Data integration between real-time streams and Hadoop ecosystem is accomplished by big data tools such as Kafka, Oozie, Spark, and Hive. The team is also responsible for creating and maintaining traditional Extract Transform & Load / Extract, Load & Transform processes using Informatica to feed data into our Enterprise Data Warehouse to support day-to-day reporting and Business Intelligence along with facilitating large data sets for Machine Learning and Data Science teams so they can perform Analytics at scale to support all aspects of eHarmony.

Data Science

The Data Science team at eHarmony is comprised of a cross-functional team of engineers, data scientists and even psychologists! With efforts ranging from traditional social psychological research to build inferential models for the Compatibility System, to cutting-edge applications of machine-learning algorithms, the Data Science team is instrumental in optimizing the quality of our matches, the communication rates of our users with their matches, and the effectiveness of our pricing segmentation and promotional efforts.

DevOps

The DevOps team at eHarmony is working towards the company's "Infrastructure As Code" goals by modernizing the Chef infrastructure, improving Chef Cookbook test coverage, and looking to Terraform in order to templatize the infrastructure. They've improved our visibility by creating a logging infrastructure based on the Elastic stack that is currently ingesting over a billion log events every day. They're improving the CI/CD workflow by implementing HA Jenkins using Cloudbees, and are working on converting jobs to use Pipeline.

iOS

eHarmony's iOS team is a fast paced, dynamic, collaborative and fun team with a focus on delivering high quality and delightful apps to our valued customers via App Store. They never shy away from the technical challenges & love to implement innovative solutions to solve complex business requirements. iOS team keeps up-to-date on latest trends by employing various tools, popular third-party frameworks, analytics and cutting edge technologies. Code quality is a priority and enforced through peer code reviews, pixel perfect designs and yes, we are proud of it! The team works hard, but also enjoys unwinding with a beverage and the office's sprawling views of Los Angeles

Platform

The Platform Team at eHarmony is responsible for the technical infrastructure, services, and architecture of the eHarmony applications, while establishing and enforcing best practices across the teams. This team constantly explores options to refresh our architecture with new and cutting edge technologies while maintaining the stability of the entire system. Their recent projects include: migrating the monolithic Webapplication Service to a microservices architecture, leveraging the Lambda Architecture to redesign the service which serves the most frequently visited page on the site, a redesign of the notification system with a Hadoop Spark based batch/streaming service, and refreshing the core events architecture with RabbitMQ and Kafka message brokers. While architecting and designing changes as above, the Platform Team also has a primary responsibility for the High Availability of the eHarmony site.

QA

This team is built on two basic principles: validation and verification. The QA team ensures the company is building the correct product and the product is working correctly. The team supports testing on all the core platforms, including: Desktop, Mobile Web, iOS and Android, to ensure the quality of the product and provide great experience for the users. They are also behind ensuring the quality of the core Matching engine of eHarmony that is responsible for delivering our users, most compatible match recommendations. By doing application performance and load testing, QA team makes sure that eHarmony maintains the application performance at the top level. QA Engineers also shoulder the responsibility of executing smooth releases and deployments to the production environment.

Recommendations

Recommendations engineering at eHarmony is the team that is responsible for building infrastructure that facilitates making Machine Learned decisions at Scale in different parts of the product. Major customers of the team include product teams like Matching, Trust & Safety, Onboarding and Monetization.

Web

Front-end web engineers are responsible for the development of eHarmony's data-rich user-interface for the company's core dating product. The team currently supports desktop, tablet, and mobile web platforms. The front-end architecture includes a stateless server-side presentation layer built on a Node.js Services Oriented Architecture (SOA), which consists of more than twenty feature-specific Express.js applications and reusable components. The client-side code is in the process of being migrated from an existing Backbone and Handlebars codebase to a brand new architecture consisting of React.js and Redux.