Overview
Skills
Job Details
We are seeking a Senior Software Engineer who will play a critical role in designing, developing, and maintaining complex software systems. This role requires expertise in modern software development practices, with a focus on event-driven architecture, Spring Boot, microservices, Kubernetes, React, ElasticSearch, and RabbitMQ or Kafka.
Required Experience:
- Front-end experience utilizing React and/or Angular.
- Experience in either RabbitMQ or Kafka for message queuing.
- Experience in Elastic search experience is a plus.
- Strong knowledge of the use of design patterns.
- Familiarity with Kubernetes for container orchestration.
- Familiarity with RESTful APIs and web services.
- Proficiency in event-driven design principles.
- Ability to analyze complex technical challenges and propose effective solutions.
- Excellent verbal communication skills.
Education:
- Bachelor s degree in computer science, or a related field.
Responsibilities:Design and Development Collaborate with cross-functional teams to design and implement software solutions.
- Apply event-driven design principles to build scalable and resilient applications.
- Develop microservices using Spring Boot.
- Create responsive user interfaces with React.
Message Brokers Work with RabbitMQ for message queuing and event streaming.
- If experience is in Kafka, understand the architectural differences between RabbitMQ and Kafka.
- Implement message producers and consumers.
Deployment and Infrastructure Deploy microservices to Kubernetes clusters, utilizing CI/CD pipeline.
- Monitor and troubleshoot production systems.
- Optimize application performance and scalability.
Quality Assurance Write unit tests with a goal of 85% coverage and participate in peer code reviews.
- Conduct system testing and debugging activities.
Documentation and Communications Document technical specifications, architecture, and design decisions.
- Design shall include sequence diagram for major use cases.
- Collaborate with product managers, designers, and other engineers to define requirements and deliverables.