Java Developer
Annapolis, MD
Full Time
Experienced
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.
Apply for this position
Required*