About the job
Job Purpose Summary
As a Java Developer, you will operate with minimal oversight, transforming broad specifications into complex software applications. You will be responsible for designing, coding, testing, and debugging software programs while documenting and maintaining them. You will have the ability to make semi-routine technical decisions within defined parameters, consulting with peers or management when necessary.
Key Responsibilities and Accountabilities
• Design, develop, and document new software products and features.
• Write code that adheres to quality and coding standards.
• Create and execute test cases for unit and feature testing.
• Maintain and enhance existing software features and solutions.
• Generate and sustain technical documentation.
• Actively contribute to the technical team's knowledge and expertise.
• Acquire in-depth knowledge of our software solutions.
• Collaborate on project teams.
• Take part in design reviews.
• Provide time estimates for development tasks.
• Undertake additional duties as required.
Qualifications
• Education: A degree in Computer Science or Information Technology.
• Experience: Minimum of 5 years of experience in Java programming.
• Familiarity with Agile/Scrum methodologies and experience in an agile team setting.
• Technical Expertise:
• Proven experience in developing highly scalable clustered JEE systems.
• Proficient in J2EE Design Patterns, enterprise-grade security, concurrency, and session management.
• Skilled in API development and integration with third-party systems (SOAP and REST).
• Experience in Unix or Linux environments.
• Familiarity with web application servers; Oracle GlassFish is a plus.
• Knowledge of MySQL.
• Experience with O/R frameworks and EJB3.
• Proficient in Maven, JUNIT, and Mockito.
• Familiarity with GIT and JSF is an asset.
• Strong skills in testing, configuration, and deployment.
• Ability to effectively solve problems.
• Strong interpersonal and communication skills, with advanced verbal and written English capabilities.
• Experience in developing financial transaction applications is advantageous.

