Senior Developer - Research & Development (Full Stack)
The Role
As a Senior Developer in our R&D team, you will play a key role in the design, development, and implementation of full-stack solutions. You will work on a variety of projects using Node.js and Next.js to deliver robust, scalable, and innovative software. The ideal candidate will be an all-rounder with a passion for full-stack development, an eye for detail, and a solid understanding of databases, microservices, queuing systems, service mesh, and modern cloud architectures. Strong knowledge of design patterns such as Domain-Driven Design (DDD), Saga Pattern, CQRS, and dependency injection principles like SOLID is essential.
Key Responsibilities:
- Design and develop high-quality full-stack applications using js, Python and Next.js/React.
- Design and optimize relational databases such as MySQL and NoSQL databases like MongoDB.
- Write efficient and correct SQL queries and analyse flawed queries to improve performance.
- Create and manage indexes to optimize database performance and ensure query efficiency.
- Architect and implement Microservices-based solutions for scalable systems.
- Implement and manage Service Mesh technologies for microservices communication and network reliability.
- Apply design patterns like Domain-Driven Design (DDD), Saga Pattern, and CQRS to ensure high-quality, maintainable, and scalable software architecture.
- Utilize dependency injection and SOLID principles to promote clean code and effective software design.
- Optimize system performance using caching mechanisms (e.g., Redis, Memcached).
- Experience working with queuing tools such as RabbitMQ or Kafka for distributed messaging and event streaming.
- Contribute to DevOps practices and maintain a working knowledge of Cloud Solutions (Oracle Cloud/AWS/Azure).
- Translate complex system designs into UML diagrams and ensure effective documentation practices.
- Collaborate with product and design teams to ensure an eye for detail in both user experience and technical implementation.
- Lead and participate in R&D projects, helping to prototype and evaluate new technologies
Requirements:
- Strong js development experience.
- Proficiency in js and PHP is highly desirable.
- Expertise in designing and optimizing relational databases like MySQL and NoSQL databases such as MongoDB.
- Experience writing correct and efficient SQL queries and troubleshooting flawed queries.
- Knowledge of indexing strategies to optimize database and SQL performance.
- Expertise in developing and deploying Microservices
- Experience with Service Mesh technologies (e.g: Consul/Istio/Linkerd) for microservices management and traffic control.
- Strong understanding of design patterns such as Domain-Driven Design (DDD), Saga Pattern, CQRS, and event-driven architectures.
- Proficient in applying dependency injection and adhering to SOLID principles for maintainable software design.
- Experience with queuing tools such as RabbitMQ and Kafka for distributed messaging and event-driven architectures.
- Experience with caching mechanisms (Redis, Memcached) to enhance performance.
- Basic understanding of Cloud platforms (AWS, GCP, Azure).
- Ability to work with DevOps practices, CI/CD pipelines, and containerization (e.g., Docker).
- Proficient in UML design for software architecture and documentation.
- Detail-oriented with excellent problem-solving skills.
- Strong communication and collaboration skills within cross-functional teams.
Preferred Experience
- 5+ years of experience in full-stack development, with strong expertise in js, Python and Next.js/React.
- Prior experience with Service Mesh and large-scale system integration.
- Knowledge of Agile development methodologies such as Scrum or Kanban previous experience with JIRA and Confluence is a plus.
- Experience with R&D or innovation-focused projects is a plus.
- Familiarity with Containerization (Docker/Kubernetes).