Senior Java Developer
Senior Java Developer
Toronto, Ontario, Canada - Permanent
In this Senior Java developer position, you will be part of an innovative team designing and building scalable cloud-native microservice-based applications using Java and Spring Boot.
You will be responsible for building and delivering timely, high-quality, scalable, and secure code for multiple microservice cloud-based platforms based on the Product team and Architectural requirements. The ideal candidate enjoys working in an advanced environment to produce code delivering leading financial services in the fintech space.
Our team has a strong background in various financial, technology, and database companies, so experience in similar environments will be desirable for the role. You will be joining a passionate, thoughtful, and friendly team, so you will need to share these values and enjoy working in a collaborative environment, bouncing ideas off each other.
Located in downtown Toronto, you will be working fully remote till the new year as one of the senior Java Developers.
Development & Testing
This person will complete development tasks within the timeline provided, and that software code is thoroughly tested with minimal defects. Communicate task estimates, ETAs, and work breakdown structure to management on Atlassian Jira and Slack. Supports users by developing documentation and assistance tools. Keep colleagues informed of developments, work collaboratively.
Hands-on JAVA development including design, development, testing, and production rollout
Being involved in Continuous Integration (CI), and time-boxed iterative development
Help to develop frameworks for functional and software integration acceptance testing
Expert knowledge in analyzing, designing, and developing solutions to complex problems.
Very Good Understanding of SOLID Principles and Design pattern
Design and produce high quality, reliable, scalable, secure, and maintainable code
Full lifecycle application development using standard frameworks and coding standards/patterns
Strong technical knowledge in Objected Oriented Development methodologies, design, and implementation
Professional experience developing low latency, scalable, complex systems
Understanding of Databases such as SQL, PostgreSQL, GraphDB
Knowledge of CI/CD, microservices, Docker & Kubernetes, Bitbucket
Tickets, User stories using tools such as Atlassian Confluence and Jira
Monitor and tune system to achieve optimum performance levels, and provide reports to support metrics collection
Able to conduct code reviews and provide guidance to software developers for continuous improvement
Ensure development artifacts are in alignment with patterns/ frameworks designed by software engineering teams Good working knowledge in database application tuning for performance and scalability
Lead, coach, task manage, technical plan, and mentor team members and more junior engineers
Working with remote client resources and development activities
Work with cross-functional and geographically distributed teams
Define and implement performance improvement strategies
Work with the Scrum Master to drive the Agile software development process and team to deliver software meeting business requirements
Must Have Skills:
o Java 8+ (actual usage of new features, not just java 6 running on JVM 8); currently using Java11
o Spring Boot, Spring Data, Spring Security
o Experience with microservices
o message queues
o Relational and non-relational databases (both),
Nice to Have Skills:
o BPMNs (possible using Flowable)
o Reactive (Spring Reactor of RxJava)