Logo
Omm IT Solutions

Software Engineer

Omm IT Solutions, Annapolis, Maryland, 21403


Job Description Please Note: This is a Hybrid position (2 Days Remote & 3 Days On-Site). Job Description: The Software Engineers will play a crucial role in designing, developing, and maintaining two (2) of our primary applications being rewritten. The focus areas include event-driven design, Spring Boot, microservices architecture, Kubernetes, React, Elastic search, and either RabbitMQ or Kafka. The Software Engineer shall be responsible for the following: 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 using 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 Communication: 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. Reporting: A weekly report communicating project progress and status. Weekly time reporting on JIS provided forms, and any additional reports as assigned by the supervising manager. Requirements Basic Qualification: Bachelor's degree in computer science, or a related field with Ten (10) years of relevant experience in software development. Technical Skills: Proficiency in event-driven design principles. Strong knowledge of Spring Boot and microservices architecture. Strong knowledge of the use of design patterns. Spring JPA experience is required. Familiarity with Kubernetes for container orchestration. Front-end experience utilizing React and/or Angular. Experience with either RabbitMQ or Kafka for message queuing. Familiarity with RESTful APIs and web services. Elastic search experience is a plus. Communication Skills: Excellent verbal and communication skills. Ability to establish and maintain effective working relationships with peers, end users and vendor development staff, as well as all levels of management and judicial personnel as necessary. Problem-Solving Abilities: Ability to analyze complex technical challenges and propose effective solutions.