Project Description

Coordinate with the product owner and project manager to translate product requirements into agile software development stories for the dev team.

Responsibilities

  • Take a lead role in the dev team as you convert these stories into a robust and performant application back-end.
  • Design and document the back-end architecture, from database schemas to REST APIs.
  • Work with dev-ops to set up a CI/CD pipeline to ensure the continuous delivery of a reliable service.
  • Debug and optimize database queries, removing bottlenecks and introducing performance improvements where possible.
  • Configure and utilize a range of third-party tools to monitor and measure application performance and reliability and use these to improve these metrics week-on-week.
  • Take responsibility for the back-end architecture, driving the efforts to enforce reusability, reduce technical debt and improve performance.
  • Work closely with front-end developers to ensure the integrity of the UI throughout the development life cycle.
  • Review pull requests from other developers, championing coding standards and best practices at every opportunity.
  • Mentor junior developers, helping them grow in confidence and skills week-on-week.
  • Set the standard for the dev team when it comes to unit testing and end-to-end testing

Requirements

  • Must Have:
    • Bachelors in Computer Science or equivalent work experience
    • Excellent communication skills in English
    • 7+ years of professional experience designing, developing, deploying, and supporting web applications, preferably subscription software products.
    • Significant experience with TypeScript and NodeJS
    • Significant experience with back-end web frameworks and technologies, for example, Express, Lambda, Memcached/Redis
    • Significant experience designing and implementing REST APIs
    • Experience configuring relational databases and designing relational database schemas, ideally using Postgres
    • Experience with setting up Amazon Web Services (CloudFormation, Lambda/Serverless, API Gateway, S3, EC2, etc)
    • Experience with JavaScript code quality tools like Prettier and ESLint,
    • Familiarity with configuring and using testing frameworks like Jest and Cypress to minimize regression bugs and de-risk
    • refactoring.
    • Experience of peer-reviewing code and mentoring junior developers
    • Comfortable with git and GitHub (PRs, merging/branching/rebasing, etc)
    • Experience with agile/scrum development methodologies
  • Nice to Have:
    • Experience with the following tools/technologies:
    • Algolia/Elastic Search and any relevant e-commerce search UI work
    • Auth0
    • GraphQL
    • Hasura
    • Experience with the full life-cycle development: requirements gathering, analysis, design, coding, unit testing, and acceptance testing.
    • Experience with Terraform and/or other ‘infrastructure as code’ tools
    • Experience configuring CI/CD pipelines, especially using GitHub workflows and actions
    • Prior work experience in a fast-paced, high-energy environment (Start-ups or small-med product teams)

Apply for this Job

* Required