Position: Software Engineer
Location: Work Location: Two (2) days remote and Three (3) days on site at Annapolis, MD, 21401
Interview: Microsoft Teams meeting. However, the proposed resource(s) may be invited for an in-person interview
Job Description:
- The Hybrid 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.
Primary 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 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.
Basic Qualifications:
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.
Education / Certifications:
- The Offeror shall have one (1) year of experience in providing recruitment, staffing, and/or otherwise providing professional consulting services.
- The Offeror shall propose resource(s) that meet the following minimum qualifications:
- Bachelor’s degree in computer science, or a related field (as determined by the AOC)
- The AOC prefers Offeror proposed resource(s) to have the following qualifications:
- Ten (10) years of relevant experience in software development.
Technical Skills
(1) year of experience in providing recruitment, staffing, and/or otherwise providing professional consulting services.
Bachelor’s degree in computer science, or a related field (as determined by the AOC)
Ten (10) years of relevant experience in software development.
Strong knowledge of Spring Boot and microservices architecture.
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
Job Type: Full-time
Pay: $42.33 - $70.00 per hour
Benefits:
- 401(k)
- Dental insurance
- Health insurance
Schedule:
Experience:
- REST: 1 year (Preferred)
- Java: 1 year (Preferred)
Ability to Commute:
- Annapolis, MD 21401 (Preferred)
Ability to Relocate:
- Annapolis, MD 21401: Relocate before starting work (Preferred)
Work Location: In person