Senior Backend Engineer
Narrative is the leading Data Commerce Platform making buying and selling data easier than ever before. With a suite of world-class apps, Narrative’s platform is radically changing a fractured, convoluted landscape fraught with manual processes, opaque business practices, and middlemen.
What You Will Do
We currently have a marketplace that connects buyers and sellers of AdTech data, and we are building on this success to make it possible to transact any other kind of data.
As a result, here are the kinds of projects you will likely work on:
- Add capabilities to our query execution and data classification engines to make it possible to answer any buyer query.
- Iterate on our forecasting system so that buyers get faster, more accurate insights into the volume and quality of data they are purchasing.
- Build out additional connectors to make it effortless to get data into and out of our marketplace.
- Design a framework for metering resource usage by partner (e.g. storage, server hours, API calls) and integrate it into billing.
- Improve query planning, optimization, and batching to make sure our transaction jobs are running efficiently.
- Help buyers and sellers build data workflows on the platform. E.g. enabling buyers to use the output of one of their purchases as an input filter to another.
- Automate table maintenance tasks like file compaction, data retention, choosing partitioning and sort strategies based on statistics gathered about a dataset and historical query patterns, etc.
- Architect service interfaces and composable subsystems as we scale the team and decompose our monolith.
- Improve the monitoring and reliability of our systems with the ever-increasing amount of data being handled: currently we're ingesting > 10 TB of data from sellers every day.
- Extract abstractions, modularize the code, and improve tests.
In a nutshell, our tech stack looks like:
- Backend: scala, AWS, spark, Iceberg, cats, cats-effect, http4s, and doobie
- Ops: EC2, Fargate, Lambda, Terraform, EMR, DynamoDB, S3, RDS, Step Functions, Jenkins, and Datadog
Read more about our technical stack.
The Ideal Candidate
We are not looking for a 100% fit on all the technology buzzwords, but we are looking for someone with strong personal and technical skills who is eager to pick up new technologies as necessary.
The ideal candidate should:
- Have experience in a typed functional language such as Scala, F#, or Haskell, or significant experience in their non-functional equivalents (Java, C#) with an interest in Scala and Functional Programming.
- Have experience working with non-trivial quantities of data. Prior experience with Spark would be ideal, but experience with any distributed query engine (Trino, Dremio, etc.) would also be helpful.
- Have experience operating in a cloud environment like Amazon Web Services, Google Compute Engine, or similar.
- Be able to work across all aspects of backend systems, from application code to SQL to systems administration.
- Not be afraid of contributing to the entire stack (from the UI to Devops) when the need arises.
- Have the ability to lead the creation of architectural and design documents, collect requirements as well as feedback from the development and product teams and evaluate new technologies as needed.
- Drive success in a flat organization with minimal process, interfacing with technical and non-technical team members as necessary.
- Communicate potential technical issues to relevant teams and adapt to changing requirements.
- Be mindful of the compromises that need to be done to be reactive on the business side while keeping the systems manageable in the long run.
- Live/work within +/- 3 hours of EST
We are a small, remote-first team looking for great developers who want to jump in and take major systems and user-facing features from design to launch.
- Comprehensive health, dental, and vision benefits...we may be a small company now, but we still know what's important!
- Flexible work location: come to the office to collaborate with the team in-person, or work from home.
- Unlimited paid time off.
- Great people: surround yourself with a team of people that has a shared vision and focus.
- Great experience: be a core part of a growing, quickly evolving business. Learn fast, fail fast, and grow your skillset every step of the way.
- Equity: have some skin in the game and grow with the company.
Narrative provides equal employment opportunities to all employees and applicants for employment and prohibits discrimination and harassment of any type without regard to race, color, religion, age, sex, national origin, disability status, genetics, protected veteran status, sexual orientation, gender identity or expression, or any other characteristic protected by federal, state or local laws. This policy applies to all terms and conditions of employment, including recruiting, hiring, placement, promotion, termination, layoff, recall, transfer, leaves of absence, compensation, and training.
Your application has been successfully submitted.
The data streaming platform that makes it easy to buy, sell, and win.