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.
Mandatory Skills
Ten (10) years of relevant experience in software development.