What You Will Do
Here's what you will do in a nutshell:
- 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 on 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.
While most of the work focuses on the frontend, this position is ideal for someone who would like to improve his/her backend and Functional Programming skills.
In a nutshell, our technical stack looks like:
- Backend: Big Data, scala, AWS, spark, cats, cats-effect, http4s and doobie
- Ops: EC2, Fargate, Lambda, Terraform, EMR, DynamoDB, S3, RDS, Step Functions, Jenkins, and Datadog
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. We are obviously going to expect much more from a senior candidate than we would from a junior one.
The ideal candidate should:
- Have proven experience using Amazon Web Services to deploy and host web applications and databases.
- 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
- Have strong experience using a version management system and continuous integration (CI) development process. We use Git/Github for version management and Gitlab for our CI pipelines.
- 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 evalute new technologies as needed.
- Be able to transform product designs into coherent, working and robust code solutions.
- Communicate potential technical issues to relevant teams and adapt to changing requirements.
- Be able to interface with technical and non-technical team members in order to bring business ideas to fruition.
- 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
The Team (Remote US and Canada)
We are a small, early stage, remote-first team looking for great developers who want to jump in and take major systems and user-facing features from design to launch.