About the role
Responsibilities:
- Use your in-depth knowledge of JavaScript, TypeScript, Node.js, and the 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 and code.
- Commit code early and often, demonstrating understanding of version control and 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 optimize 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.
Requirements:
- We are looking for people who have a passion for technology. You will demonstrate experience with different platforms and technologies.
- 8+ years of 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 and frameworks.
- Exposure to a variety of JavaScript frameworks and libraries such as Next.js and React.js and testing using Jest, Mocha.js, Cucumber, etc.
- Experience 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, DataDog, Splunk, etc.
- Experience with using and building REST API services.
- Experience with the 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.