Description

Required Skills and Experience:

  • The Remote 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 resource(s) should meet the following minimum qualifications: 

  • Bachelor’s degree in computer science, or a related field

The resource(s) should have the following qualifications: 

  • Ten (10) years of relevant experience in software development. 

Offeror proposed resource(s) 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. 

OFFEROR RESOURCE(S) SKILLS, EXPERIENCE, & CAPABILITIES 

  • Offeror shall propose resource(s) possessing the following preferred skills, experience, and capabilities: 

Technical Skills:

  • Proficiency in event-driven design principles.
  • Strong knowledge of Spring Boot and micro services 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

Any Graduate