Information Technology Jobs
Lead Programmer Analyst (Java/JEE; RDBMS; Agile)Job ID 71449 Date 04/21/2017 Scarborough, Canada
A Best Workplace
Scotiabank is a premier financial institution and Canada’s most international bank recognized as a Best Workplace®, in Canada, Mexico, El Salvador, Costa Rica, Puerto Rico, Dominican Republic, Panama, Peru, Chile and Latin America by the Great Place to Work® Institute.
A multinational winning team
Scotiabank is Canada’s international bank and a leading financial services provider in North America, Latin America, the Caribbean and Central America, and parts of Asia. We are dedicated to helping our 21 million customers become better off through a broad range of advice, products and services, including personal and commercial banking, wealth management, corporate and investment banking.
Corporate Social Responsibility
Scotiabank helps to build bright futures worldwide through ethical banking practices, environmental awareness and a commitment to communities.
By working together, we build strong relationships and create value for our customers. Scotiabank’s Information Technology and Solutions provides global technology solutions support to each of our core businesses - Domestic Banking, International Banking, Global Banking & Markets and Global Wealth & Insurance. Our technology-based solutions enable Scotiabank to achieve sustained profitable growth and a competitive advantage.
Sales Systems team owns and supports Sales, CRM and Reporting applications for Scotiabank’s Canadian Retail Banking, supporting ~30,000 users, more than 5,000 transits, and over 15 business lines. The Sales Builder application page gets some 5 million hits per day! A lot of functionality is built into this application: its tentacles reach across several other apps, and it impacts our frontline users.
Over the years, Sales Builder has undergone changes to support mega and large-scale initiatives and business line enhancements. It has become a rapidly-growing application.
As part of the bank's focus on enhanced customer experience and digital transformation, Sales Systems team is also looking to revamp the CRM platform. We need a strong Lead Programmer to join our team through this exciting time.
Reporting to the Senior Manager Development, the Lead Programmer will be involved in all phases of the Systems Development Life Cycle including research, analysis of requirements, development support and quality assurance for new systems or enhancements. Initiatives will be medium to large in scope with a high degree of complexity, and will require in depth knowledge across multiple technical areas and business segments. To join our team the Lead Programmer must be proactive, demonstrate initiative, have an eagerness to learn, be energetic and self-motivated, and thrive on challenge.
The Lead Programmer will be responsible for ensuring alignment with the Bank's Technology Blueprint, will be working with various development teams and is expected to be a strong technical leader with ability to contribute to the Bank's overall technology goals with minimal supervision.
1) Design & Development
- Drive the analysis, design and development of quality technology solutions, works closely with clients, business analysts, and team members to understand business requirements.
- Is involved in the full systems life cycle and is responsible for designing, coding, testing, implementing and supporting application software that is delivered on time and within budget.
- Make recommendations regarding the development of new code or reuse of existing code.
- Responsibilities may also include participation in component and application architecture design, performance monitoring, product evaluation and buy versus build recommendations.
- Provide guidance and training to less experienced analysts and programmers.
- Participate as a team member in ongoing projects under the direction of a project leader and/or manager.
- Liaise with external vendors and development partners in support of activities for all project phases (planning, requirements definition, design, development and testing). This would include establishing and maintaining a close relationship with the offshore development teams.
- Develop and maintain application programs (including very complex programs) according to the Scotiabank standards; prepare / lead / participate in structured walkthroughs, of his/her own work, or that of others.
- Work with clients to determine best fit for technology and how best to meet requirements or, if necessary, provide estimations to best amend requirements to meet the realities of delivery timelines and resource constraints.
- Create project and system artifacts as required.
- Maintain a diversified set of skills through continuing education and self-improvement.
- Participate in the creation of cost estimates, project plans and status.
- Evaluate production logs and System Service Requests of high complexity and identifies actions to be taken.
- Help to identify problems and contributes to definition of standards and best practices.
- Provide design walkthroughs for the testing teams.
- Provide production and user acceptance testing application support to complex technical problems on all assigned applications and technology that serve each business unit by analyzing problems, implementing solutions and developing new procedures surrounding support.
- Coordinate efforts with multiple 3rd party vendors.
- Provide post implementation support and training to support teams.
2) Release Co-ordination
- Manage release contents and code promotions.
- Ensure that integrated test plans have been developed and reviewed and that all testing environments have been allocated for the release.
- Ensure key quality gates are passed (load tests, code reviews, security scans, etc.) for the integrated release.
- Create the release implementation plan, conduct implementation walkthroughs and run implementation conference calls.
- Ensure that tested and valid rollback plans exist.
3) Team Leadership
- Ensure the department's objectives are met by assisting in recruiting qualified staff, providing input to performance appraisals on time and maintaining up to date knowledge of technology, industry and business practices.
- Provide leadership and specialized consultation in defining, planning and maintaining a strategy for the architecture, development and implementation of technology, systems and MIS within the Department to provide effective technical consulting and support services.
- Participate in and manage the co-ordination of support issues.
- Work with management to create a positive work environment, encouraging staff camaraderie, engagement and team spirit.
- Build relationships with business partners and support groups, acting as an ambassador for the team.
4) Process Improvement
- Should be effective in process improvement; he/she will provide the department with leadership by continually improving processes to generate greater efficiencies across the department:
* improved operational efficiencies;
* improved quality; and
* improved customer satisfaction.
KNOWLEDGE & SKILLS:
• Must have at least 5-7 years of practical technical working experience in developing and deploying complex technologies.
• Must have an extensive working experience in systems architecture, business systems analysis, object oriented design (design patterns), application development, testing & debugging.
• Must have excellent analytical (qualitative), problem solving and trouble shooting skills in order to quickly and effectively resolve problems in a demanding environment.
• Must have hands-on technical working experience in client/server and multi-tier environments.
• Must have hands-on technical working experience with the following technical currencies:
- UNIX / Windows
- JEE, XML, SQL (queries), UNIX shell scripts
- Message based technology (MQ, Java Message Service [JMS], etc.)
- SOA (SOAP, REST)
- Hardware and operating system configuration, application performance and tuning
- Application server configuration, performance and tuning (Websphere, JBOSS etc.)
• Must have good interpersonal and communication (verbal/written/presentation) skills in order to deliver proposals, provide consultation to development staff.
• Must have basic understanding of networking & communications.
• Agile development and continuous integration (CI) and delivery (CD) tools & processes are desirable.
• Nice to have technical working experience with the following: Linux, AS400, Mainframe, NoSQL, UI/UX frameworks (e.g., AngularJS), cloud development and deployment, good knowledge of financial services industry.
• Degree in a computer science, math or engineering related discipline is desirable.
Scotiabank is committed to providing an inclusive and accessible candidate experience. Only those candidates selected for an interview will be contacted. If you require accommodation during the recruitment and selection process, please let us know. We will work with you to meet your needs.