Software Engineer, Data Infrastructure
- Palo Alto, CA
Every year, while Americans wait for their paychecks, more than $1 trillion of their hard-earned money is held up in the pay cycle. As a result, we accumulate over $50 billion in late and overdraft fees and turn to high-interest loans. Overdraft charges and bank fees often trap people in a cycle of debt that can lead to unhealthy decisions and falling victim to predatory businesses disguised as helpful services. We don’t accept that.
Earnin is an app that creates products that help people gain control of their finances. Cash Out lets people get paid as soon as they leave work, with no fees, interest, or hidden costs. With Health Aid, Earnin negotiates on behalf of community members to lower their total unpaid medical bill and work out a budget-friendly payment plan. Cash Back Rewards is a way for members to earn up to 10% cash back on purchases from over a thousand local and national businesses without needing a credit card or having to reach spend thresholds to earn cash rewards — and they can withdraw the money at any time. We also offer free tools to help avoid overdrafts, to remind people when recurring bills are due, and we’re working on more! There is never any required cost to use any of these products or services, users can choose to tip what they think is fair to support the service and pay it forward to keep the movement going.
Earnin is supported by funding partners including Andreessen Horowitz, Matrix Partners, Ribbit Capital, Felicis Venture, Thrive Capital, and others. Join us and help build a new financial system focused on fairness and people’s needs.
You can help make a difference.
About the Team:
We are a data driven mobile financial tech company. The Data Infrastructure team builds the platforms, services, and tools that power data science, analytics, and product development at Earnin. We are looking for a product-minded, self-driven Software Engineer to help us build the data infrastructure that advances our mission of enabling people to gain access to their paycheck on demand.
What sets us apart:
- High impact roles at a relatively small company that’s aggressively growing our user base.
- We are a collaborative team and genuinely enjoy working with each other.
- We believe in empowering our people to be successful.
- We’re building a product that inspires fairness across the financial world.
As a Software Engineer you will:
- Design, build, and maintain massively scalable, production-grade platform services and tools to enable all of Earnin to reliably manage and consume data.
- Build and maintain Earnin’s streaming, asynchronous, and batch processing infrastructure.
- Build and maintain Earnin’s analytics and reporting infrastructure.
- Help all data consumers at Earnin by building user-focused tools to automate and simplify data collection, replication, ingestion, and processing.
- Develop services and tools to monitor data quality.
- Work with machine learning teams to build scalable, performant ML infrastructure including high-throughput feature pipelines and model lifecycle management services.
- Build and maintain low-latency data integration services that enable analytical instrumentation and data enrichment for all our production services.
- Work cross functionally with other teams (data science, machine learning, analytics, and product engineering) in high visibility roles.
- Communicate the tradeoffs of technical decisions to multiple stakeholders, including non-technical audiences.
- Actively engage and drive design reviews, code reviews, and pair programming sessions.
Some skills and experience we consider critical:
- BS or MS degree in Computer Science, Engineering, or a related technical field.
- Excellent written and verbal communication skills.
- 2+ years of engineering experience in a fast-paced environment, especially startups.
- Experience building, deploying and maintaining production services and scaling distributed systems.
- Experience deploying production services on cloud infrastructure and designing architectures using managed cloud services. AWS strongly preferred.
- Strong programming and architecture skills.
- You take pride in your code quality and helping others elevate their own code quality.
- Strong Python, C# or Kotlin skills.
- Strong SQL skills.
- Substantial experience with testing, data validation, and data quality assurance.
- You can articulate the tradeoffs of different deployment architectures (e.g. streaming vs. batch vs. service-based).
- Hands-on experience working with a varied set of data storage technologies (e.g. Mysql, Postgres, DynamoDB, S3, etc.). You know where and when to use each.
- A keen interest in building platforms and tooling for multiple groups of users.
- You take a rigorous approach to implementing monitoring, logging, and alerting for data infrastructure.
- Experience working with alerting and monitoring tools like DataDog and PagerDuty.
Nice to haves:
- Experience working with streaming infrastructure like AWS Kinesis and/or Kafka is a big plus.
- Experience working with Segment is a big plus.
- Experience using Terraform is a big plus.
- Experience deploying microservices and jobs on Kubernetes infrastructure is a big plus.
- Experience working at a startup is a big plus.
- Experience building and deploying machine learning models.
- Experience building and deploying AWS Lambda applications.
- Experience working with data formats such as Avro and Parquet.
- Experience with cloud data platforms like Snowflake or Databricks and/or cloud data warehouses like Redshift.
- Experience deploying and/or using query engines like Athena, Presto, and Impala.
- Experience with workflow orchestration tools like Airflow.
- Experience building Spark-based applications.
Back to top