Senior Java Application Developer - 15+ years
15+ years of experience is MUST Key Responsibilities ? Develop Java applications and web services, including new applications and replacements for legacy applications that serve both public and internal users. ? Update existing Java web applications to maintain current functionality and provide new enhancements per user requirements. ? Build web applications using Java web frameworks, with preference given to EJB and JSF. ? Develop web applications and APIs that use PostgreSQL to store and query data. ? Implement authentication for external users and systems using standards such as OAuth2 or OpenAM. ? Work toward continuous integration/continuous delivery (CI/CD) pipelines in Amazon Web Services. ? Ensure agency data security standards are met and approved data encryption techniques are used. ? Analyze user requirements to define business objectives, implement them in an application, and envision system features and functionality. ? Collaborate with application developers, engineers, and subject matter experts to deliver project requirements. ? Support continuous improvement by investigating alternatives and technologies and presenting them for architectural review. Required Technical Skills ? 15 years of experience with Java Core, Java EE (JEE), the Java Persistence API (JPA), and the Java Persistence Query Language (JPQL). ? 5 years of experience with Java Server Faces (JSF) / PrimeFaces. ? 10 years of experience with PostgreSQL SQL and PL/pgSQL. ? 5 years of experience understanding development processes in Cloud / Amazon Web Services. ? 5 years of experience with Java RESTful web services. ? Knowledge and application of WCAG (Web Content Accessibility Guidelines) compatibility. ? Excellent verbal and written communication skills, with the ability to work independently and manage time effectively. Preferred Qualifications ? Experience with EMSA and ability to fit with the DPHIP team (evaluated under the scoring criteria above). ? Experience with Maven, GitHub, and Agile development. ? Experience with JUnit, Arquillian, or a similar testing framework. ? Java automated testing with Selenium, and application load testing with Apache JMeter or similar. ? Experience with JIRA and continuous integration/continuous deployment (CI/CD). ? Experience with database schema design.