HM Note: This onsite role is three (3) days in office
Description:
Scope
-
The Justice Technology Services - Digital Design Branch requires a software developer with design/development experience of delivering digital solutions based on Java and Spring boot framework to build and enhance products for Criminal Justice Digital Design (CJDD) modernization program. Successful candidate will work on various applications and integration endpoints including Criminal eIntake, Digital Disclosure and Hearing Hub (D2H2), Digital Information Repository (DIR) and ICON Integration workstreams.
Assignment Deliverables
-
The programmer developer will be responsible for coding and unit testing of applications capabilities and APIs using Java Spring Boot, translating functional specifications into working, tested applications. This includes developing detailed programming specifications, user interface designs, prototypes, writing and/or generating code, compiling data driven programs, conducting unit tests, and debugging code.
-
Key deliverables will include:
-
Development - Writing and/or generating code, conducting unit tests on written code
-
Design and Documentation â Participate in creation of high-quality software design and documentation of SDLC phases
-
Support â Assist with troubleshooting production issues and support day-to-day operations
Skills
Experience and Skillset Requirements
Mandatory Requirements
-
At least 8+ years of hands-on experience with software development
-
Extensive experience with the following:
-
Developing enterprise-grade applications using Java with Spring Boot, JEE, EJB, JPA, JSF, Primefaces, etc.
-
REST API design and development, including experience with API documentation and testing
-
Angular concepts like components, services, modules, decorators, routing and the latest features and best practices
-
Demonstrated experience with the following:
-
Front-end Development Skills, including proficiency in HTML5, CSS3 and JavaScript/TypeScript, Knowledge of responsive web design and cross-browser compatibility.
-
Portals that handle documents requiring digital signatures and interoperability between multiple applications
-
Containerized environments such as Azure, OpenShift, etc.
-
Enterprise integration technologies, such as JMS, AMQP, or REST, and understanding how to use them in a Spring Integration context
-
SQL and experience working with relational databases, such as SQL Server, PostgreSQL, or Oracle, and non-structured databases, such as MongoDB
-
Knowledgeable in application security in a Cloud environment, for example, Oauth2, Multi-Factor Authentication, SSO, certificate-based or protected API, JWT Authentication, TLS1.2, and others
Nice-to-Have Requirements
-
Hands-on experience in pdf generation and implementation
Desired Skills and Experience
-
A passion for staying up to date with the latest industry trends and technologies, and a desire to continuously learn and improve your skills.
-
Strong problem-solving and debugging skills, and experience diagnosing and resolving complex issues.
-
A track record of delivering high-quality, robust, and scalable solutions in a fast-paced, deadline-driven environment.
-
Strong expertise in Java/JEE, including experience with Spring Boot.
-
Demonstrated experience in the frontend development with Angular.
-
In-depth knowledge of microservice architecture and experience building scalable, highly available, and highly sensitive systems.
-
Experience in Lean and/or Agile methodologies for the design & development
-
Able to analyze business and functional requirements, lead/participate in JAD sessions and prepare required architecture documentation.
-
Create or assist with creation, review, and provide input and support of Enterprise Architecture artifacts for all checkpoints as required.
-
Experience with applying various design patterns and standards to the technical design and development.
-
Assist with system and user interface design and modifications (data & screen) as required.
-
Ability to transfer knowledge to team members and other personnel.
-
Hands-on experience with delivering product features from beginning to end (requirements, development, unit and integration testing) without supervision.
-
Extensive experience with REST API design and development, including experience with API documentation and testing.
-
Experience with enterprise integration technologies, such as JMS, AMQP, or REST, and an understanding of how to use them in a Spring Integration context.
-
Knowledge of data transformation techniques, such as mapping and normalization, and experience using them in a Spring Integration context.
-
Strong skills in SQL and experience working with relational databases, such as SQL Server, or Oracle.
-
Understanding of security best practices and experience implementing authentication, authorization, and encryption.
-
Strong experience with writing automated tests, including unit, API test, and a deep understanding of the testing process.
-
Familiarity with Agile software development methodologies, such as Scrum or Kanban, and experience participating in sprint planning and retrospectives.
-
Excellent communication skills, both written and verbal, and the ability to work effectively with both technical and non-technical stakeholders
Resumes Evaluation/Criteria:
Criteria 1: Technical Design - 35 Points
-
Strong expertise in design and development using core Java and JEE technologies, demonstrated experience with Spring Boot.
-
Strong experience in developing Single Page Application (SPA) by using Angular.
-
Demonstrated and results-based experience in User Interface design, integration design, and data modeling for enterprise applications.
-
Skilled in designing solutions from business requirements, especially using UML, JEE, and Service Bus.
-
Practical knowledge in applying various design patterns and standards to the technical design and development.
-
Extensive experience with REST API design and development, including experience with API documentation and testing.
-
Knowledgeable in Web Content Accessibility Guidelines (WCAG) for web application development, OMG technical standards, and OPS architecture standards.
Criteria 2: Technical Framework - 35 Points
-
Hands-on and demonstrated experience in design and development using core JEE technologies, Microservice architecture, API Services, Enterprise Service Bus, Message Queue, etc.
-
Hands-on and demonstrated experience in Java Frameworks (e.g. Spring, Shiro, Primefaces etc.), and technologies such as Hibernate, JSF, etc.
-
Hands-on experience in developing Single Page Application (SPA) by using Angular.
-
Must have prior experience in working with containerized environments such as Azure, OpenShift, Docker, Kubernetes, Microservices, etc.
Criteria 3: Integration Skills - 20 Points
-
Hands-on and demonstrated experience in design and development using Microservice architecture and API Services.
-
Strong experience with enterprise integration technologies, such as Azure Service Bus, JMS, AMQP, or REST.
-
Strong experience in integrating web applications with RESTful APIs. Knowledge of HTTP protocols and AJAX.
-
Knowledge of data transformation techniques, such as mapping and normalization, and experience using them in a Spring Integration context.
-
Strong skills in SQL and experience working with relational databases, such as SQL Server, or Oracle.
Criteria 4: Security - 10 Points
-
Demonstrated experience with Security in Cloud environment, for example, Oauth2, Multi-Factor Authentication, SSO, PKI, RBAC, certificate based or protected API, JWT Authentication, TLS1.2, etc.
-
Understanding of security best practices and demonstrated experience in implementing authentication, authorization, and encryption.
-
Understanding of common web security practices and vulnerabilities. Knowledge of how to secure applications against common threats
Knowledge Transfer
What needs to be KT
-
Codes & documentations of all type assigned for this role.
To whom
-
Project Manager/Team Members
When
-
1:1 meetings / team meetings / documentation on SharePoint site, throughout the duration of the project life cycle etc
Must haves:
-
At least 8+ years of hands-on experience with software development
-
Extensive experience with the following:
-
Developing enterprise-grade applications using Java with Spring Boot, JEE, EJB, JPA, JSF, Primefaces, etc.
-
REST API design and development, including experience with API documentation and testing
-
Angular concepts like components, services, modules, decorators, routing and the latest features and best practices
-
Demonstrated experience with the following:
-
Front-end Development Skills, including proficiency in HTML5, CSS3 and JavaScript/TypeScript, Knowledge of responsive web design and cross-browser compatibility.
-
Portals that handle documents requiring digital signatures and interoperability between multiple applications
-
Containerized environments such as Azure, OpenShift, etc.
-
Enterprise integration technologies, such as JMS, AMQP, or REST, and understanding how to use them in a Spring Integration context
-
SQL and experience working with relational databases, such as SQL Server, PostgreSQL, or Oracle, and non-structured databases, such as MongoDB
-
Knowledgeable in application security in a Cloud environment, for example, Oauth2, Multi-Factor Authentication, SSO, certificate-based or protected API, JWT Authentication, TLS1.2, and others
Nice to have:
-
Hands-on experience in pdf generation and implementation