What are the responsibilities and job description for the Sr. Java Developer position at Infojini Inc?
Job Overview:
The client is looking for Senior Software Engineers. These engineers will play a crucial role in the design, development, and maintenance of two primary applications that are currently being rewritten. The focus of the work includes event-driven design, microservices architecture, Spring Boot, React, Elastic Search, Kubernetes, and message brokers such as RabbitMQ or Kafka.
Key Responsibilities:
Design and Development:
- Develop and maintain microservices using Spring Boot.
- Build responsive user interfaces using React.
- Apply event-driven design principles to build scalable and resilient applications.
Message Brokers:
- Implement message producers and consumers for efficient data processing.
- Work with RabbitMQ for message queuing and event streaming.
- If experience with Kafka is present, understand and manage the architectural differences between RabbitMQ and Kafka.
Deployment and Infrastructure:
- Monitor and troubleshoot production systems to ensure high availability.
- Optimize application performance and scalability.
- Deploy microservices to Kubernetes clusters, leveraging CI/CD pipelines.
Quality Assurance:
- Conduct system testing and debugging to ensure the stability of applications.
- Write unit tests with a target of 85% coverage.
- Participate in peer code reviews to ensure code quality and best practices.
Documentation and Communication:
- Create detailed design documentation, including sequence diagrams for major use cases.
- Document technical specifications, architecture decisions, and design choices.
- Collaborate with product managers, designers, and engineers to define project requirements and deliverables.
Reporting:
- Provide weekly project status updates and reports (format provided by the AOC).
- Track and report work activities weekly on provided JIS forms.
Required Qualifications:
Education:
- Bachelor’s degree in computer science or a related field (as determined by the AOC).
Experience and Skills:
- Proven experience in microservices architecture and Spring Boot.
- Hands-on experience with React (or similar front-end frameworks like Angular).
- Proficiency with message brokers such as RabbitMQ or Kafka.
- Experience working with ElasticSearch.
- Strong understanding of Kubernetes for container orchestration.
- Familiarity with RESTful APIs and web services.
- Ability to work effectively in a collaborative team environment.
- Preferred Qualifications:
- Familiarity with event-driven design principles.
- Knowledge of design patterns.
- Excellent verbal and written communication skills.