Duration: Multi-Year Contract

Job Description:

SUMMARY

The Senior Software Engineers will play a crucial role in designing, developing, and maintaining two 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.


QUALIFICATIONS

1. The Offeror shall propose resource(s) that meet the following minimum qualifications: a. Bachelor’s degree in computer science, or a related field (as determined by the AOC).


SCOPE OF WORK

Offeror proposed resource(s) shall be responsible for the following:

  • 1. Design and Development a. Develop microservices using Spring Boot.
  • b. Create responsive user interfaces using React.
  • c. Apply event-driven design principles to build scalable and resilient applications.
  • d. Collaborate with cross-functional teams to design and implement software solutions.


2. Message Brokers

  • a. Implement message producers and consumers.
  • b. Work with RabbitMQ for message queuing and event streaming.
  • c. If experience is in Kafka, understand the architectural differences between RabbitMQ and Kafka.


3. Deployment and Infrastructure

  • a. Monitor and troubleshoot production systems.
  • b. Optimize application performance and scalability.
  • c. Deploy microservices to Kubernetes clusters, utilizing CI/CD pipeline.


4. Quality Assurance

  • a. Conduct system testing and debugging activities.
  • b. Write unit tests with a goal of 85% coverage and participate in peer code reviews.


5. Documentation and Communication

  • a. Design shall include sequence diagram for major use cases.
  • b. Document technical specifications, architecture, and design decisions.
  • c. Collaborate with product managers, designers, and other engineers to define requirements and deliverables.

6. Reporting a.

  • A weekly report communicating project progress and status. The AOC will provide the reporting format to the Successful Proposed Resource.
  • b. Resource will report activity on a weekly basis to communicate progress made on the programs/projects.
  • c. Weekly time reporting on JIS provided forms, and any additional reports as assigned by the supervising manager.


SKILLS, EXPERIENCE, & CAPABILITIES

a. Offeror shall propose resource(s) possessing the following preferred skills, experience, and capabilities: a. Experience with:

  • (1) Front-end utilizing React and/or Angular.
  • (2) RabbitMQ or Kafka for message queuing.
  • (3) Elastic search.

b. Ability to:

  • (1) Analyze complex technical challenges and propose effective solutions.
  • (2) Excellent verbal communication skills

c. Knowledge of:

  • (1) The use of design patterns.
  • (2) Kubernetes for container orchestration.
  • (3) RESTful APIs and web services.

d. Excellent verbal communication skills

e. Proficiency in event-driven design principles.