Use your in-depth knowledge of JavaScript, Typescript, Node.JS, cloud and the backend services ecosystem to develop, and deploy scalable backend systems.
Work with product managers to understand business/product requirements.
Translate requirements into tasks & code.
Commit code early and often, demonstrating understanding of version control & branching strategies.
Automate everything by default.
Write secure code by default.
Write maintainable code and observe basic hygiene practices
Implement relevant project instrumentation.
Profile and optimise code.
Apply understanding of cohesion and the SOLID principles to create well structured, maintainable software.
Identify patterns in code and refactor the code towards them where it increases understanding and/or maintainability with minimal guidance.
Produce test driven features in a specific programming language and demonstrate familiarity with the TDD development.
Follow the best practices of continuous BDD / TDD / Performance / Security / Smoke testing.
Work effectively with product stakeholders to communicate and translate needs into product improvements.
Lead group discussions on system design and understand domain well enough to work with Product Managers to drive value.
Support production systems, resolve incidents and perform root cause analysis.
Debug/find complex problems and support/maintain the software solution.
Share knowledge with the wider engineering community.
Mentor and develop others around you.
Produce proof of concepts to evaluate new tools.
You will need
7+ Years professional experience as a Backend Software Developer.
At least 3 years of experience in backend development using Javascript, Typescript, Node.JS and related backend technologies, frameworks.
Exposure to a variety of JavaScript frameworks and libraries such as: Next.JS, React.JS and testing using Jest, Mocha.JS, Cucumber etc.
Experience of using Node.js to create high traffic applications using Express.js, Sails, Koa or similar.
Knowledge of microservices development and deployment in the cloud i.e. Azure/AWS/GCP cloud.
Knowledge of virtualization, containerization and container orchestration technologies like Docker, Kubernetes etc.
Experience with usage of GraphQL, building GraphQL servers and GraphQL Federation technologies like Apollo Federation.
Experience with using and building REST API services.
Knowledge of distributed messaging systems like Kafka, RabbitMQ etc.
Knowledge of distributed caching technologies like Redis.
A desire to write readable, maintainable, modular and extendable code.
Exposure to the DevOps model.
Experience in Lean and Agile environments and understanding of principles behind methodologies such as: BDD, ATDD and TDD.