Senior Java Developer (Wealth Management)
The candidate must possess a broad range of technical skills as well as the attitude and ability to foster collaboration between Development and Operations teams, advocate the DevOps culture and to contribute in evolving the practice of DevOps standards and tools. The Application Software Developer is accountable for contributing to projects through the analysis, design, development, implementation and support of applications to ensure and/or maintain alignment with the Lines of Business (LOBs) strategies
Writes code according to accepted standards based on user requirements, which are included in the delivery of the application solution, to meet the business need
- Decomposes business requirements and translate them into detailed design specifications and code
- Assesses the costs and benefits for different solutions and recommends / decides on appropriate designs
- Designs solutions, writes code, performs unit testing, develops appropriate artifacts / documentation, and facilitates final delivery
- Conceives and writes detailed software implementations/code while ensuring that their code/configurations adhere to the security, logging, error handling, and performance standards and non-functional requirements
- Builds solutions that are supportable, scalable and achieve our aspiration of common assets, use the enterprise monitoring/logging, require minimal to zero maintenance and are aligned with architectural patterns and technology strategy
- Devises new algorithms and data structures for target environment and platform attributes in alignment with architectural patterns
- Recommends or automates approaches to streamline and integrates technological processes and/or systems to improve operational efficiency and effectiveness
- Supports production issues, including Independently completes root-cause analysis and diagnosis
- Evaluates new technologies for fit with the program/system/eco-system and the associated upstream and downstream impacts on process, data, risk (e.g., security).
- Works toward the objective of defect free software. Ensures that systems functionally meet requirements, aligns with architecture and promotes the development of common assets.
- Supports the resolution of production issues and problems. Makes recommendations to improve BMO processes & systems.
- Supports the management of specific project deliverables & outcomes, including managing small projects to completion, as required to deliver business objectives
- Identifies opportunities to strengthen the capability at BMO, such as: sharing expertise to promote technical development, mentoring employees, building communities of practice and networks across technology.
- Stays abreast of industry technical and business trends through participation in professional associations, practice communities & individual learning
- 4 to 6 years of experience developing enterprise applications in Java
- Hands on experience with projects on Spring Boot, Java 1.8
- Experience developing Java/JEE applications (Java 1.8 , REST Web Services,Spring Boot, API/ Microservices Design, Maven, Jenkins, JMS, Web Services, JIRA, Docker)
- Experience designing, developing, securing and consuming Web services (Restful and SOAP-based services).
- Experience working with Microservices architecture
- Experience working with Cloud Deployment, Agile development, CICD, API/ Microservices Design understanding, payments ecosystem understanding.
- Solid understanding of OOP
- Knowledge of design patterns (MVC, Strategy, Factory, Singleton) and general design understanding.
- Experience with relational and NoSQL(preferred) databases.
- Proficient understanding of SCM tools and best practices (GIT, Maven, Jenkins)•
- Candidate should have an analytical mindset to be able to review and contribute to users requirements and design and develop highly efficient code for high-volume, mission-critical systems
We're here to help
- Demonstrates strong communication skills, both written and verbal; is comfortable speaking not just with team members and can explain complex concepts simply and concisely
- Is a team player who is willing to share knowledge and make the effort to document findings for the team's benefit
- Has the ability to manage multiple tasks in a fast-paced work environment
- Can work with minimal supervision and is flexible and a fast learner
- Demonstrates strong interpersonal skills
- Good understanding of Agile development methodology
At BMO we have a shared purpose; we put the customer at the centre of everything we do - helping people is in our DNA. For 200 years we have thought about the future-the future of our customers, our communities and our people. We help our customers and our communities by working together, innovating and pushing boundaries to bring them our very best every day. Together we're changing the way people think about a bank.
As a member of the BMO team you are valued, respected and heard, and you have more ways to grow and make an impact. We strive to help you make an impact from day one - for yourself and our customers. We'll support you with the tools and resources you need to reach new milestones, as you help our customers reach theirs. From in-depth training and coaching, to manager support and network-building opportunities, we'll help you gain valuable experience, and broaden your skillset.
To find out more visit us at https://bmocareers.com .
BMO is committed to an inclusive, equitable and accessible workplace. By learning from each other's differences, we gain strength through our people and our perspectives. Accommodations are available on request for candidates taking part in all aspects of the selection process. To request accommodation, please contact your recruiter.