Role - Java Full Stack Developer
Location - Calgary,AB
Position Description
The Developer is responsible for project-team leadership, support and direction with business systems analysis, development and occasional maintenance support in an object/service-oriented architecture implemented on the Java and React platform.
Java FSD: MUST HAVE
Worked on Java related applications for last 2 years
able to explain OOPs concepts.
able to explain and understand microservice architecture.
able to explain and understand how UI interacts with backend.
Should know know what is JDBC/JPA
Able to Explain answer on Java garbage collection Collection.
Job Functions/Duties and Responsibilities:
* Collaborates with Systems Architects, Software Team Leads and other Software Developers to design, develop and deploy technical solutions.
* Analyses complex information, designs, develops and troubleshoots database applications
* Reviews functional requirements and prepares and documents technical program, subsystem and system designs and solutions and their associated project task descriptions and effort estimates
* Uses both industry-standards and company's existing systems architecture, design techniques and development standards and reviews new work with others to ensure it complies with industry and company standards.
* Documents technical requirements, program and subsystem designs, project task descriptions, effort estimates, and unit and integration tests
* Performs new development, maintenance fixes and enhancements to meet business requirements
* Assists other teams to troubleshoot application issues in production, quality assurance and other environments
* Develops, reviews, refines, uses and documents plans for both automated and manual unit and integration tests and/or assures unit and integration tests are successfully completed prior to production
* Tests programs for integration prior to production
* Mentors other software developers and IT staff members
* Documents resolutions to system problems
* Documents design for system requirements
Skills Required:
* Bachelor's degree (pref. Computer Science or related degree) or equivalent experience
* Highly self-motivated, with the ability to complete tasks with minimal guidance, and to learn independently
* Excellent analytical and problem-solving abilities
* Excellent English verbal and written communication skills
* Excellent teamwork and collaboration skills in working in a cross-functional team comprised of Product Analysts, QA, UAT, Development and PMO members
* Ability to juggle tasks and priorities to meet rapidly changing deadlines
* Must work with System Architects to review/approve program and subsystem designs
* Java
* Data Structures & Algorithms
* Spring Framework
* JDBC and JPA/Hibernate
* Advanced Java Concepts
* API/API Design
* Proficiency in UNIX/Linux and Microsoft Windows distributed computing
* Java IDE (preferably IntelliJ IDEA)
* Relational DB principles using Structured Query Language (SQL)
* Agile/Scrum methodologies
Desired Skills:
* Background in Securities/Banking/Financial Services
* Experience working in a desktop Linux environment
* Experience working with an issue management system
* Experience working with a wiki, confluence
* Oracle, Message Queues/Kafka