Custora exists to help our customers improve the relationships they have with their own customers.  We do this by ingesting data about every interaction a company has with each of their customers, and then making predictions using that data about how those customers will behave in the future.  Our customers then use these predictions for everything from major strategic decision making to tailoring their communications with each customer.

Data engineers at Custora work on the pipelines that sit at the core of this architecture.  We work to make these pipelines faster, more fault tolerant and to expand their scope.  

The volume of data is large: we're working with 7 of the top 20 largest retailers in the world (+ many more not in the top 20), and are ingesting data from them both in a regular batch and in near-real time.

We've carefully selected the types of data to ingest to favor high signal data, so we care deeply about maintaining the correctness and completeness of the data being ingested as that directly affect the output of our models, and therefore the output of our product.  Your work directly impacts both the predictions we’re able to make, and the day to day performance our customers experience when using our product.

Getting more specific, you will:

  • Design and build complex data pipelines on the Spark platform, ingesting both batch and real time datasets
  • Optimize the performance of data pipelines, getting into the internal of Spark and potentially other technologies to make gains
  • Spec and build the infrastructure that the data pipelines run on
  • Work with our data science team to deploy predictive models at scale
  • Build tools to continuously validate incoming data and proactively identify and communicate data anomalies before they manifest into problems.

We’re a small team, so you’ll be working on (and be able to meaningfully contribute to) high impact projects from your first day. 

What’s the day-to-day like?
Inspired by Basecamp, we work in ~8 week product cycles.  First, we work together (engineering + product) to identify the projects we think will have the biggest impact on our company goals.  Here’s an example of a recent project we conceptualized and delivered over one of these cycles:

Build out entity resolution functionality

Someone may make a purchase both online and in a store, to the retailer this may look like two people. The same person could have used a different email address when signing up for the retailer’s mailing list compared to when they bought something online. To get the best input to our models, we need to be able to identify that the purchases and the email list sign up came from the same person.

A feature to link multiple customer identifiers to the same person and remove duplicate customers by rule came about in two phases. The first was working with a retailer that could provide us with mappings of their online and offline purchases. A few months later, a separate retailer needed a rules based approach to deduplicating their customers. The challenge here is being able to ingest mapping information on customer ids and apply rules to deduplicate customer records at the same time. If we deduplicate by rule first, we may lose ids that should map to each other, but if we have multiple entries for a customer, we may generate incorrect mappings.*

It speaks to the flexibility of our pipeline that we were able to combine these two processes into a single step in our pipeline. Once the entity resolution process was deployed at scale on our Spark cluster, retailers could take advantage of one or both of these features. It has made a significant impact in our ability to find high value customers - customers that typically make many purchases in multiple channels and has multiple touchpoints with the retailer.

Qualifications:

  • 5 or more years of experience as a software engineer.
  • Degree in Computer Science or a deep competency achieved via other means.
  • Familiarity with Spark, Ruby on Rails, AWS, and SQL-based databases
  • High standards for code quality and maintainability.

Nice to Have's:

  • Experience with Scala, R, and/or Chef.
  • Consistent record of delivering significant features or building out platforms and services.
  • Experience working in e-commerce.

What it’s like to work here:

  • On Monday we eat and meet as a team to chat projects and progress.
  • We’re 70ish genuinely nice people. We work together and experiment with how to do things. It’s an amazing environment to both explore your professional interests and shape your career trajectory.
  • We move quickly. You build something and the next day it comes to life. You see and feel an immediate impact with the collective efforts of the team.
  • We’re building a company and a team we love. We’re in it for the long run.
  • Read more about what makes us, us here.
  • Find out more here or here.

The perks

  • We’re a flexible work environment
  • Competitive salary and meaningful equity
  • Health, dental and vision insurance (100% covered)
  • Free lunch every day, plus free water — hot and cold!
  • Unlimited vacation: take as much time as you need (we recommend at least 3 weeks)
  • Monthly unlimited MetroCard

 

*A bit of technical detail on how the algorithm was implemented:

We solved for transitivity in the id mappings and the rules based deduplication by using a graph based approach. We represent user ids as nodes in a graph and ids that map to the same person is an edge that links two nodes. By computing disjoint subsets, each subset of ids represents a unique customer, the list of ids and how they map to each other is then ingested.

 

Custora is an equal opportunity employer. We value diversity. We don’t discriminate on the basis of race, religion, color, national origin, gender, sexual orientation, marital status, veteran status, disability status, or socioeconomic status.

Apply for this Job

* Required

  
  


U.S. Equal Opportunity Employment Information (Completion is voluntary)

Individuals seeking employment at Custora are considered without regards to race, color, religion, national origin, age, sex, marital status, ancestry, physical or mental disability, veteran status, gender identity, or sexual orientation. You are being given the opportunity to provide the following information in order to help us comply with federal and state Equal Employment Opportunity/Affirmative Action record keeping, reporting, and other legal requirements.

Completion of the form is entirely voluntary. Whatever your decision, it will not be considered in the hiring process or thereafter. Any information that you do provide will be recorded and maintained in a confidential file.

Race & Ethnicity Definitions

If you believe you belong to any of the categories of protected veterans listed below, please indicate by making the appropriate selection. As a government contractor subject to Vietnam Era Veterans Readjustment Assistance Act (VEVRAA), we request this information in order to measure the effectiveness of the outreach and positive recruitment efforts we undertake pursuant to VEVRAA. Classification of protected categories is as follows:

A "disabled veteran" is one of the following: a veteran of the U.S. military, ground, naval or air service who is entitled to compensation (or who but for the receipt of military retired pay would be entitled to compensation) under laws administered by the Secretary of Veterans Affairs; or a person who was discharged or released from active duty because of a service-connected disability.

A "recently separated veteran" means any veteran during the three-year period beginning on the date of such veteran's discharge or release from active duty in the U.S. military, ground, naval, or air service.

An "active duty wartime or campaign badge veteran" means a veteran who served on active duty in the U.S. military, ground, naval or air service during a war, or in a campaign or expedition for which a campaign badge has been authorized under the laws administered by the Department of Defense.

An "Armed forces service medal veteran" means a veteran who, while serving on active duty in the U.S. military, ground, naval or air service, participated in a United States military operation for which an Armed Forces service medal was awarded pursuant to Executive Order 12985.


Form CC-305

OMB Control Number 1250-0005

Expires 1/31/2020

Voluntary Self-Identification of Disability

Why are you being asked to complete this form?

Because we do business with the government, we must reach out to, hire, and provide equal opportunity to qualified people with disabilities1. To help us measure how well we are doing, we are asking you to tell us if you have a disability or if you ever had a disability. Completing this form is voluntary, but we hope that you will choose to fill it out. If you are applying for a job, any answer you give will be kept private and will not be used against you in any way.

If you already work for us, your answer will not be used against you in any way. Because a person may become disabled at any time, we are required to ask all of our employees to update their information every five years. You may voluntarily self-identify as having a disability on this form without fear of any punishment because you did not identify as having a disability earlier.

How do I know if I have a disability?

You are considered to have a disability if you have a physical or mental impairment or medical condition that substantially limits a major life activity, or if you have a history or record of such an impairment or medical condition.

Disabilities include, but are not limited to:

  • Blindness
  • Deafness
  • Cancer
  • Diabetes
  • Epilepsy
  • Autism
  • Cerebral palsy
  • HIV/AIDS
  • Schizophrenia
  • Muscular dystrophy
  • Bipolar disorder
  • Major depression
  • Multiple sclerosis (MS)
  • Missing limbs or partially missing limbs
  • Post-traumatic stress disorder (PTSD)
  • Obsessive compulsive disorder
  • Impairments requiring the use of a wheelchair
  • Intellectual disability (previously called mental retardation)
Reasonable Accommodation Notice

Federal law requires employers to provide reasonable accommodation to qualified individuals with disabilities. Please tell us if you require a reasonable accommodation to apply for a job or to perform your job. Examples of reasonable accommodation include making a change to the application process or work procedures, providing documents in an alternate format, using a sign language interpreter, or using specialized equipment.

1Section 503 of the Rehabilitation Act of 1973, as amended. For more information about this form or the equal employment obligations of Federal contractors, visit the U.S. Department of Labor's Office of Federal Contract Compliance Programs (OFCCP) website at www.dol.gov/ofccp.

PUBLIC BURDEN STATEMENT: According to the Paperwork Reduction Act of 1995 no persons are required to respond to a collection of information unless such collection displays a valid OMB control number. This survey should take about 5 minutes to complete.