Java – Software Developer – Senior
Government Client
Contract – 2024-06-03 – 2024-09-30
Downtown, Toronto – 3 days onsite
CRJMC – Security Check
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
MANDATORY REQUIREMENTS:
• At least 15 years of hands-on experience with software development
• Demonstrates extensive experience with the following:
o Development of enterprise-grade applications using Angular and related Cloud-Native technologies for User Interface / Front-End products, iFrame, and API / Micro-Service technologies (e.g. Spring Boot), etc.
o REST API design and development, including experience with API documentation and testing
o Web Accessibility / ADOA validation, diagnosis, investigation, and remediations, familiar with AXE and WAVE plug-in tools
o WAF OWASP (industry standard Web Application Security practice)
o SAST (Static application security testing, e.g. SonarQube) and remediation
o Azure DevOps, CI/CD automation
o SQL and working with relational databases, such as SQL Server, PostgreSQL, or Oracle, and non-structured database such as MongoDB
• Demonstrates some experience with the following
o Working with portals that handle documents requiring digital signatures and interoperable between multiple applications
o Enterprise integration technologies, such as JMS, AMQP, or REST, and an understanding of how to use them in a Spring Integration context.
o Application security in Cloud environment, for example, 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
• Adobe Designer (earlier it was Adobe LiveCycle), Adobe Java Script (Document Object Model DOM)
SKILLS AND KNOWLEDGE:
• Strong expertise in Java/JEE, including experience with Spring Boot.
• In-depth knowledge of microservice architecture and experience building scalable, highly available, and highly sensitive systems.
• Experience with 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.
• Experience with enterprise integration technologies, such as JMS, AMQP, or REST.
• 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.
• 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.
CRITERIA:
Criteria 1 – Technical Design (35 Points)
• Strong expertise in design and development using core JEE technologies on WebSphere Application server, and demonstrated experience with Spring Boot.
• Demonstrated and result-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.
• experience and knowledge in developing Single Page Application (SPA) by using Angular.
• experience and knowledge in working with containerized environments such as Azure, OpenShift, Docker, Kubernetes, Microservices, etc.
Criteria 3 – Integration Skills (20 Points)
• Knowledge of data transformation techniques, such as mapping and normalization, and experience using them in a Spring Integration context.
• Hands-on and demonstrated experience in design and development using core JEE technologies, Service-Oriented architecture, SOAP and REST Web Services. Enterprise Service Bus, Message Queue, etc.
• 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.
Criteria 4 – Security (10 Points)
• Experience with Security and Web Services Security standards and frameworks. Must have extensive working experience in WS-Security, PKI, LDAP, SAML 2.0, RBAC, 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