Description:
We are looking for a highly skilled and experienced Senior Software Engineer to join our dynamic team. The ideal candidate will have a strong background in software development, with extensive experience in building scalable and robust applications. This role requires proficiency in multiple technologies and a deep understanding of software engineering principles
Key Responsibilities:
Develop and Maintain Software Solutions:
- Design, develop, and maintain high-quality software solutions using Nest.js and Node.js.
- Ensure application performance, scalability, and reliability.
Cloud Services:
- Work with GCP and Azure cloud platforms to deploy and manage applications.
- Utilize cloud-native services to optimize application performance.
Messaging and Caching:
- Implement and manage Kafka for real-time data processing and streaming.
- Use Redis for caching and enhancing application performance.
API Design and Development:
- Design and develop robust APIs, ensuring they are secure, scalable, and maintainable.
- Implement API gateways like KONG to manage and monitor API traffic.
Software Engineering Principles:
- Apply SOLID principles to ensure code quality and maintainability.
- Follow Test-Driven Development (TDD) processes to write and maintain tests.
- Utilize design patterns to solve common software engineering problems.
- Participate in system design and architecture discussions to create scalable and efficient solutions.
Microservice Architecture:
- Design and develop microservices to enable modular, scalable, and maintainable applications.
- Ensure inter-service communication and data integrity within the microservice architecture.
Required Qualifications:
Technical Expertise:
- Proficiency in Nest.js and Node.js.
- Extensive experience with GCP and Azure cloud platforms.
- In-depth knowledge of Kafka for messaging and real-time data processing.
- Hands-on experience with Redis for caching.
API and Design Knowledge:
- Strong experience in API design and development.
- Solid understanding of SOLID principles and their application in software development.
- Proficient in TDD processes and writing unit and integration tests.
- Familiar with various design patterns and their implementation.
System and Architecture Design:
- Expertise in system design and creating scalable architectures.
- Experience with microservice architecture and designing modular services.
- Knowledge of API gateways like KONG and their implementation.
Soft Skills:
- Strong problem-solving skills and attention to detail.
- Excellent communication and teamwork abilities.
Preferred Qualifications:
- Experience with other programming languages and frameworks.
- Familiarity with DevOps practices and CI/CD pipelines.
- Knowledge of containerization technologies like Docker and Kubernetes.