Web Software Engineer

Narrative is building the first global data marketplace. It has often been said that data is the new currency. Unfortunately, maximizing the value of data is often easier said than done. On one side, transacting via individual point to point integrations carries a lot of overhead in both business development and technical integration efforts. On the other, going through big aggregators introduces opacity in the pricing and provenance of the data. At Narrative, we help our customers get value from their data by building a central auction platform to reduce the friction and tooling to increase the transparency in this process.

We are a small, early stage team looking for great developers who want to jump in and take major systems and user-facing features from design to launch. Here’s where we are now:

  • Our webapp frontend projects are written in Vuejs. We make use of modern JavaScript and rely heavily on funtional JavaScript patterns.
  • We use SASS for styling and make heavy use of modularization. We maintain a UI Library that is used in all of our frontend projects.
  • 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.
  • Other services we use include: GitHub, Gitlab, CircleCI, DataDog.

Here’s what you’ll do:

  • Create new features for Narrative’s Vuejs web application. Work with Product and Design teams to create the best user experience and create modular, maintainable components.
  • Design, implement and maintain embedded applications on Narrative’s Data Marketplace which enhance the ability of customers to manage and manipulate data.
  • Dig into Scala and create new API endpoints to serve the frontend applications.
  • Help select technologies and define the strategic direction for our system architecture
  • Work in Narrative’s Tacklebox UI library, designing creating reusable components and modules for use in all of Narrative’s web applications.
  • Review and evaluate team members’ code contibutions, delivering transparent, honest and direct feedback to your peers.

Requirements:

  • 3+ years of experience in developing web applications
  • Proficiency in JavaScript, HTML and CSS
  • Experience with the NPM ecosystem and modern JavaScript project devlopement practices
  • Experience working with CSS preprocessors and creating modular, maintainable style libraries
  • Experience consuming and developing alongside continually evolving RESTful APIs
  • Expert communication skills. Be able to interface with technical and non-technical team members in order to bring business ideas to fruition.
  • Ability to interpret design documents and mockups and interface with a design team. Be able to transform product designs into a coherent code solutions. Communicate potential technical issues to relevant teams and adapt to changing requirements in real time.
  • Experience writing SQL queries and and working within a SQL database. Our company uses PostgreSQL.
  • Strong experience using a version management system and continuous integeration (CI) development process. We use Git/Github for version management and Gitlab for our CI pipelines.
  • Be able to evaluate new libraries and technologies and implement in Narrative’s codebase in order to solve specific objectives.

The ideal candidate should:

  • Extensive experience in one or more web frameworks (Vue, React, Angular etc.)
  • Expert in ES6 and modern JavaScript design patterns.
  • Proven experience using Amazon Web Services to deploy and host web applications and databases.
  • Be able to debug various aspects of web application code, such as cross-browser Javascript quirks.
  • Thoroughly understand the HTTP lifecycle and how the browser interacts with web APIs.
  • Enjoy building fast, user-friendly UIs.
  • Not be afraid of contributing to the entire stack when the need arises, given that frontend doesn’t simply mean HTML/CSS. For instance, a feature might require
    • some metrics to be computed from a Spark Report
    • creating a PostgreSQL migration script
    • tweaking S3 permissions and terraform scripts for deployment

We are not looking for a 100% fit on all the technology buzzwords, but we are looking for someone with strong technical skills who is eager to pick up new technologies as necessary.

We are building the team with a remote-first mindset, and as a result every team member is expected to have an ability to synthesize business requirements, distill the domain, contribute to high-level design documents, efficiently communicate asynchronously, and more generally work autonomously toward a shared vision.

Continuously investing in quality (code quality, tests, pull request reviews, refactoring…) is part of our strategy to sustainably maximize the business value we deliver.

Apply at hiring-dev@narrative.io