Fullstack Developer
Posted Updated
Description
We are looking for people who have a passion for technology and can demonstrate experience across different platforms and technologies.
Responsibilities:
- 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 and 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 SOLID principles to create well-structured, maintainable software.
- Identify patterns in code and refactor toward them where it increases understanding and maintainability with minimal guidance.
- Produce test-driven features and demonstrate familiarity with TDD development.
- Follow best practices for continuous BDD, TDD, performance, security, and smoke testing.
- Support production systems, resolve incidents, and perform root cause analysis.
- Debug complex problems and support and 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:
- 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 JavaScript frameworks and libraries such as Next.js and React.js, and testing tools such as Jest, Mocha.js, and Cucumber.
- Experience using Node.js to create high-traffic applications with Express.js, Sails, Koa, or similar frameworks.
- Knowledge of microservices development and deployment in cloud platforms such as Azure, AWS, or GCP.
- Knowledge of virtualization, containerization, and container orchestration technologies such as Docker and Kubernetes.
- Ability to build high-scale observable systems and exposure to tools such as New Relic, Datadog, and Splunk.
- Experience using and building REST API services.
- Knowledge of distributed caching technologies such as 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 methodologies such as BDD, ATDD, and TDD.
- Exposure to the usage of AI tools for software development.
Nice To Have:
- Experience with GraphQL, building GraphQL servers, and GraphQL federation technologies such as Apollo Federation.
- Knowledge of distributed messaging systems such as Kafka and RabbitMQ.