Core Java Developer
Toronto, ON (Hybrid)
Responsibilities:
- Designing and developing high-volume, low-latency applications for mission-critical systems and delivering high-availability and performance
- Contributing in all phases of the development lifecycle
- Writing well designed, testable, efficient code
- Improve existing systems by adding new features in line with business specifications
- Monitor performance and implement innovative solutions to improve the overall system
- Collaborate with peers and team members to build scalable, secure, and quality products
- Perform regular checks and follow best practices to develop, deploy, and maintain software
- Deployment of new features and products into the production environment
Requirements:
- Proficiency in Java, with a good understanding of its ecosystems
- Sound knowledge of OOPS Patterns and Concepts
- Familiarity with different design and architectural patterns
- Skill for writing reusable Java libraries
- Knowhow of Java concurrency patterns
- Basic Understanding of the concepts of MVC (Model-View-Controller) Pattern, JDBC (Java Database Connectivity), and RESTful web services
- Experience in working with popular web application frameworks like Play and Spark
- Relevant Knowledge of Java GUI frameworks like Swing, SWT, AWT according to project requirements
- Ability to write clean, readable Java code
- Basic knowhow of class loading mechanism in Java
- Experience in handling external and embedded databases
- Understanding basic design principles behind a scalable application
- Skilled at creating database schemas that characterize and support business processes
- Basic knowledge of JVM (Java Virtual Machine), its drawbacks, weaknesses, and workarounds
- Implementing automated testing platforms and unit tests
- In-depth knowledge of code versioning tools, for instance, Git
- Understanding of building tools like Ant, Maven, Gradle, etc
- Expertise in continuous integration
Preferred Qualifications:
- Experience in banking domain.