Scala Backend Developer

Narrative

backend scala backend backend backend big data

Posted 3 months ago

Share this with a friend 👉

Responsibilities

Here’s where we are now:

We are operating in Amazon Web Services. Our services are mainly deployed on EC2 provisioned with Terraform.

We also heavily use other technology on AWS such as DynamoDB, S3, and RDS.

Our backend includes a data ingestion web service with supporting Kinesis consumers, along with a growing array of Spark projects. It’s written mostly in Scala, with a smattering of Python for lambda functions.

We sit somewhere in the middle of the “Scala as a worse Haskell” and “Scala as a better Java” spectrum. We love functional programming and we do make use of libraries like cats, but at the same time we heavily favor core language features and have no intention of rewriting everything using Free Monads.

Our web app UI is written in Typescript with Angular2 and a supporting API running on Node, and is deployed and monitored using much the same supporting tech as the backend.

Other services we use include: GitHub, CircleCI, DataDog.

Here are some examples of projects that we would like some help with:

Data analytics pipelines to drive the interactive report UIs. For example: reports for yield forecasting and deal pre-qualification.

Implementing additional infrastructure to support transactions for more types of data.

Improving the latency and resource usage of our transaction processes.

Qualifications

Have experience in a typed functional language such as Scala or F#, or significant experience in their non-functional equivalents (Java, C#) with an interest in Scala.

Have experience working with non-trivial quantities of data. As of this writing, our ingestion pipelines are handling something on the order of 500GB .snappy.parquet files per day. Prior work with Spark would be ideal, but experience with similar MapReduce-based technologies 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 back end 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.

Skills

Scala or other typed functional languages

About Narrative

These days, data is everywhere and has immense benefits for businesses. Companies that have data can sell it to companies that need it to improve their business; a win-win situation. However, current data discovery and distribution inefficiencies slow this win-win situation down to a grinding halt.

Narrative simplifies the data landscape by automating the hard-to-navigate world of data acquisition and distribution into two, easy-to-use software platforms.

Narrative's Acquire platform gives businesses access to massive amounts of raw data across many suppliers. With full transparency, companies know exactly what they’re getting and which suppliers it came from.

Narrative's Distribute platform standardizes and deduplicates data, giving companies instant demand for their data and new, turn-key revenue streams.

On top of that, everything is automated, centrally managed with actionable analytics and aligns with GDPR compliance.

In a world where raw data is fueling businesses, Narrative is the platform that powers the data economy.


Perks & benefits


Health, dental, and vision insurance

Flexible vacation & paid time off

Equity plan

Relaxed and engaging workplace

Apply Back