Job Description
We’re looking for a backend developer to help with onboarding and auditing large, inconsistent, and incomplete datasets; joining these datasets in a logical way; and running jobs to generate reports over the verified data.
We’re looking for ways to improve our data auditing, detection and removal of anomalies, and post-processing controls. And to streamline the creation of reports for our clients.
Muzooka’s technical stack
Muzooka runs entirely on AWS utilising the majority of the staple services provided. All of our applications are written in Node or Typescript. Our main databases are SQL, with auxiliary DynamoDB, MongoDB and Elasticsearch databases.
We have a front-end written in React, backed by a Node.js RESTful API which runs on AWS’s Elastic Container Service (ECS). We also have a Serverless developer API running on AWS Lambda for our clients backed by an AWS DyanmoDB database. Internally we have many APIs running on with AWS ECS and AWS Lambda. We have many ETL (Extract, Transform, Load) workflows that run using AWS SQS, SNS, S3, Lambda, and AWS Batch.
The vast majority of our infrastructure is maintained using a combination of Terraform and Serverless.js (AWS Cloudformation). Our development stack runs on local developer machines using Docker. We utilize Github Actions for continuous integration and delivery. We have near full test coverage of our entire application ranging from unit tests to multi-service integration tests. Our applications are monitored with AWS CloudWatch and Bugsnag.
Backend Requirements (priority order)
- Scripting with Node.js & Bash (basic understanding of using Code as a scripting language, and using the Bash command language and utilities/tools native to unix)
- Restful APIs (understands how to write and consume RESTful APIs)
- Node.js - Serverless.js
- Node.js - Express.js
- Typescript
- SQL (understands how to write queries that join multiple tables, understands the tradeoffs of indexing)
- MongoDB (basic understanding of Map-Reduce and how to handle large datasets)
- Docker (knowledge of containerization)
- Unit and integration test experience (experience with Test Driven Development is a bonus)
- Continuous integration and deployment (experience with Github Actions is a bonus)
AWS Services used by Muzooka (priority order)
- Lambda
- SQS
- SNS
- RDS
- S3
- Elasticsearch
- DynamoDB
- AWS Batch
- API Gateway
- ECS
- Cognito
- Cloudwatch
- Terraform
- Cloudformation
Ready to apply?
Submit your application for consideration for this position.