Company overview:
Opportunity with a global retail and technology leader in the US, building innovative digital solutions that simplify everyday shopping for millions worldwide
Role overview:
We are looking for people who have a passion for Technology. You will
demonstrate experience of different platforms and technologies. We expect to
see some or all of the following:
⁃ 8+ Years professional experience as a backend Software Developer.
⁃ At least 5 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.
⁃ Ability to build high scale observable systems and exposure to tools like
New Relic, Data Dog, Splunk etc.
⁃ Experience with using and building REST API services.
⁃ Experience with usage of GraphQL, building GraphQL servers and GraphQL Federation technologies like Apollo Federation is preferred.
⁃ Knowledge of distributed messaging systems like Kafka, RabbitMQ etc. is preferred.
⁃ 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.
Exposure to the usage of AI tools for software development.
What would you do here?
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.
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