Core Responsibilities:
- Develop and maintain our backend services with a focus on high availability, low latency, and scalability.
- Collaborate with cross-functional teams to design and implement new features and services.
- Ensure code quality, maintainability, and testability through comprehensive testing and code review practices.
- Participate in the architectural design and review of software systems, ensuring adherence to best practices.
Essential Skills:
Core Programming Languages:
- Proficient in Node.js, TypeScript, and JavaScript.
- Knowledge of C++ is considered a bonus.
Databases:
- Extensive experience with PostgreSQL, Redis, and MongoDB.
Development & Operations (DevOps):
- Experience with Automated Deployment Pipelines, Docker & Docker Compose, GitHub Actions, AWS, and familiarity with Heroku is a plus.
- Extensive knowledge and experience of Git for streamlining team collaboration.
API Development & Integration:
- Expertise in developing RESTful APIs and using API development frameworks such as NestJS and ExpressJS.
- Experience of documenting APIs using OpenAPI specification.
Messaging Systems:
- Experience with Apache Kafka and RabbitMQ.
Software Architecture:
- Strong background in software architecture & design, with experience in implementing microservices. Knowledge of SaaS and Event-Driven Architecture is a bonus.
Monitoring & Performance:
- Experience using New Relic for monitoring and performance optimisation.
Network & Security:
- Experience with reverse proxy servers (NGINX or Traefik).
Additional Skills:
- Familiarity with financial systems is highly desirable.
- Demonstrated expertise in test automation.