ExecRecruitment logo

Java Developer

ExecRecruitment
Full-time
On-site
Annapolis, Maryland, United States

Project Description:

The AOC is seeking proposals from prospective Offerors to provide two (2) software engineers. The software engineers will play a critical role in designing, developing, and maintaining two of Judicial Information System’s (JIS’s) primary applications being rewritten. The focus areas include event-driven design, Spring Boot, microservices architecture, Kubernetes, React, Elastic search, and either RabbitMQ or Kafka.

OFFEROR RESOURCE QUALIFICATIONS

  • The Offeror shall propose a resource 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 to have the following qualifications:
    • Eight (8) or more years core java development.
    • Four (4) or more years software development using Spring Boot and associated Spring frameworks.
    • Four (4) or more years building interfaces utilizing React.
    • Four (4) or more years with the implementation of message queuing and event streaming using RabbitMQ.

SCOPE OF WORK

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

  • Design and Development
    • Collaborate with cross-functional teams to architect, design, and implement enterprise software solutions.
    • Apply event-driven architecture principles to develop scalable, resilient, and loosely coupled applications.
    • Develop microservices using Spring Boot and associated Spring frameworks.
    • Build response and maintainable user interfaces using React.
    • Provide strong technical expertise in PrimeFaces 6.0 and above, including component usage, customization, and integration within Java Server Faces (JSF) applications.
  • Message Broker Integration
    • Implement message queuing and event streaming using RabbitMQ.
    • When experience is based on Kafka, demonstrate understanding of architectural and operational differences between Kafka and RabbitMQ.
    • Develop message producers, consumers, routing logic, and related integration components.
  • Deployment and Infrastructure
    • Deploy microservices to Kubernetes clusters using automated CI/CD pipelines.
    • Monitor, diagnose, and troubleshoot production systems to ensure reliability and uptime.
    • Perform performance tuning and scalability optimization across application and infrastructure layers.
  • Quality Assurance
    • Write unit tests with a target of 85% or greater code coverage.
    • Participate in peer code reviews to enforce coding standards and best practices.
    • Conduct system testing, debugging, and validation activities.
  • Documentation and Communication
    • Prepare technical specifications, architecture documentation, and design decision records.
    • Produce sequence diagrams for major use cases as part of design deliverables.
    • Collaborate with product managers, designers, and engineering teams to refine requirements and ensue alignment on deliverables.
  • Reporting Requirements (in a JIS prescribed format)
    • Submit weekly activity reports summarizing progress on assigned programs and projects.
    • Provide weekly project status reports in the JIS-prescribed format.
    • Complete weekly time reporting using JIS-provided forms, along with any additional reports requested by the supervising manager.

OFFEROR RESOURCE(S) SKILLS, EXPERIENCE, & CAPABILITIES

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

  • Experience
    • Modern front-end development using React and/or Angular for building responsive, component-based user interfaces.
    • Message-queuing and event-streaming technologies, including RabbitMQ or Kafka, for distributed system communication.
    • Elasticsearch for indexing, search, and analytics (preferred but not mandatory).
    • Microservices development using Spring Boot or equivalent Java frameworks.
    • Cloud platforms such as AWS, Azure, or Google Cloud for deployment, monitoring, and scaling (preferred but not required).
    • DevOps and source control tools, including Git, CI/CD pipelines, and automated build processes.
  • Capabilities
    • Apply event-driven architecture (EDA) principles to design scalable and resilient systems.
    • Demonstrate high-level Java competency, including strong understanding of core libraries, concurrency, collections, JVM fundamentals, and modern Java features.
    • Analyze complex technical challenges and propose effective, maintainable solutions.
    • Develop and maintain applications using PrimeFaces 6.x and above, including component customization and JSF integration.
    • Produce clean, maintainable, and testable code aligned with industry best practices.
    • Collaborate effectively within Agile or hybrid development teams.
  • Knowledge
    • Software design patterns and architectural best practices, with the ability to apply them appropriately.
    • Containerization and orchestration techniques, including Kubernetes and Docker.
    • RESTful API design, web services, and integration patterns.
    • Relational and NoSQL databases, such as PostgreSQL, MySQL, MongoDB, or Cassandra.
    • Application performance tuning, monitoring, and observability tools (e.g., Prometheus, Grafana, ELK stack).
    • Security best practices, including authentication, authorization, and secure coding principles.