Resume

Sign in

Senior Programmer Analyst (java)

Location:
Toronto, Ontario, Canada
Posted:
December 10, 2016

Contact this candidate

Maria W S Tsang

Objective: Senior Programmer Analyst

Profile:

Sun Java Certified Programmer

Have 18+ years software development experience including 17+ years of java and 2 years of C/C++

Extensive experience in Java/J2EE design and development using technologies such as:

-RESTful APIs (REST), Single Page Application

-EJB, Spring framework (e.g. Spring MVC, Spring-JSF and MyBatis/iBatis integration, Sprint Boot), JPA, Struts 1 and 2, Jackson/fasterxml

-Gui technologies such as JSON, javascript, JSF, JSP, Kendo UI (mobile programming), JQuery

-ORM technologies and databases: Hibernate, myBatis, Toplink, Oracle, sqlserver, db2, Sybase, Tomcat embedded database (H2)

-Selenium scripting, junit

-Test-driven development, continuous integration, Scrum, XP (agile methodologies), Jira, Confluence

-Business process management (BPM – Alfresco Activiti and Global 360’s Case Manager)

-Application servers such as Websphere, Weblogic, JBoss and Tomcat

Extensive experience (8+ years) working in agile (scrum and XP) projects as a senior developer

Experience in leading development teams in agile (scrum) projects, mentoring junior developers and collaborating with offshore development teams

Experience designing and implementing web applications in a wide range of domains and business sectors including health care, oil and gas (production accounting), transportation, auditing, financial & banking, federal and province government sectors.

Education: B.Sc., Computer Science, University of Calgary, 1998

BA (Honors), Marketing, Hong Kong Polytechnic University, 1995

Employment Eligibility:

I am Canadian and I am eligible to work for any employer

I have secret security clearance (federal clearance).

Work Experience:

June 2016 – present (Royal Bank of Canada), Location: Toronto

Division: Capital Market Technology

Senior Programmer Analyst (contract position)

Technologies: Java (single page application), Spring Boot, Spring MVC/Assertions, RESTful APIs, Json, Jackson/Fasterxml, junit, Mybatis, Oracle, sqlDeveloper, db visualizer, Tomcat (H2 database), Scrum, Confluence, Jira, Maven, Jenkins, JMS (MQ Solace), JAXB, Alfresco Activiti (workflow engine/content management system), sql server

Design and implement a tax operations system capturing information of a company (i.e. counterparty) doing business with RBC. This system provides a workflow process to fulfill counterparty obligations and associated due diligence tasks based on certain legal requirements. It also implements data consistency checks against other systems (e.g. AML/KYC) under the jurisdictions of both the RBC division and the counterparty entering business agreements.

Design and implement a java-based rule engine (decision model) that determines the counterparty’s withholdability status when entering business agreements with RBC and it’s associated withholdability rates.

Enhance an existing data processing system to process data records obtained from other sources (via JMS and/or file system) to create counterparty records in the tax operations system.

Convert an existing equity trade confirmation system to adopt a new RESTful architecture. The system is to access a content management system and workflow engine (Alfresco Activiti) through RESTful APIs.

May 2015 – April 2016 (Laurentian (B2B) Bank), Location: Toronto

Senior Programmer Analyst (contract position)

Technologies: Java J2EE, JQuery, AJAX, Json, Html5, Kendo UI (mobile programming), EJB, JSP, Selenium scripting, Hibernate, Spring/Spring MVC, Javascript, css, Junit, Html5, Websphere, JBoss, eclipse Luna/RAD (IDE), SQL server, Oracle, sqlDeveloper, sqlExplorer, ant, iText, css

Design and implement new suitability functionalities for the Bank’s primary trading application (Mutual fund, bonds and GIC) in the capital market/ wealth management area. The new suitability functionalities enable customers to select asset mix based on their risk profiles.

Provided post-implementation support for the trading application.

Implement selenium scripts on the Bank’s know-your-client (KYC) module and suitability module of the trading application.

Design and implement a new mobile application for creating new initiatives or projects for the Bank. This application also allows top management staff to view and manage existing initiatives.

Work closely with business analysts, team leads and quality assurance personnel to gather requirements and build test cases.

March 2015 – May 2015 (CIBC), Location: Toronto

Senior Programmer Analyst (contract position)

Technologies: Java J2EE, EJB, Weblogic, Toplink, css, eclipse (IDE), JPA, Oracle, sqlDeveloper, ant, servlets, JAXB

Implement cheque imaging and calculation functionalities in a banking system that is used by teller and branch personnel to perform daily banking operations and end-of-day balancing activities.

Write and execute test cases for both new and existing functionalities of the system.

May 2013 – Feb 2015 (Ministry of Education), Location: Toronto

Senior Programmer Analyst (contract position)

Technologies: Java J2EE, JSF, Facelets, Richfaces, Apache MyFaces (Towahawk), Spring MVC, Spring/JSF integration, AJAX, iBatis2/myBatis, Websphere, RAD (eclipse), Oracle, sqlDeveloper, css, javascript, jquery, Json, checkstyle, ant, iText, css

Design and implement a new childcare licensing system that issues and renews licenses for all Ontario day nurseries and private home day care facilities.

Design and implement a new private collage licensing system that issues licenses for companies running new schools.

Work closely with a team of developers, business analysts and quality assurance personnel to analyze, design, implement and test various aspects of the system.

Work within a very aggressive delivery schedule and follow general architectural guidelines of the Ministry in various aspects of implementation.

Oct 2011 – March 2013 (Xerox Canada), Location: Toronto

Senior Programmer Analyst (contract position)

Technologies: Java J2EE, Struts, Web services (Axis2 - xmlbeans), Apache POI, Websphere, RAD (eclipse), Junit, Oracle, Unix, JMS (interface to mainframe – IMS), css, wsdl, soap, sqlDeveloper

Design and implement web service client code using Axis2 xmlbeans.

Generate keystore/truststore using published wsdls

Design/analyses/implement and unit-test an application that generates excel billing reports.

Enhance a marketing report and charting application of account profitability data (Revenue/Profit/Margin etc).

Enhance a business establishment application to get rid of credit card token usages for law compliance reasons. This application accesses mainframe (IMS) via JMS (websphere MQ).

Work in all aspects of documentation including development estimates, analysis documentation, test cases/ testing focus specifications for testers, design and implementation specifications etc.

Work with solution architect, analysts and testers on analysis and also derive implementation strategies based on business requirement.

Jan 2011 – Sept 2011 (Public Works), Location: Ottawa

Senior System Analyst (contract position)

Technologies: Java J2EE, Struts, Websphere, DB2, MyEclipse, Junit, Ant, agile development (scrum), css

Design, analyze, implement and unit-test a severance pay calculation application used by all public employees in Canada

Work closely with team lead, QAs and DBA to test/solve implementation issues.

Document high-level design decisions and implementation particulars.

Post-production support and change requests implementation.

Jun 2009 – Dec 2010 (Canada Revenue Agency), Location: Ottawa

Senior System Analyst (contract position)

Technologies: Java J2EE, EJB, Weblogic, DB2, Eclipse, Junit, Jasper Report, Ant, Cruise control (Continuous integration server), agile development (scrum), sqlDeveloper

Design, analyze, implement and unit-test a leads system capturing non-compliance cases.

Work with database and application architects on the data modeling/design of database schema. Collaborate closely with business analysts, data modeler, data and technical architects to accomplish the task.

Design, analyze and implement reporting components of an auditing application.

Work with business analysts to gather business requirement

Collaborate with CRA's database group to analyses and retrieve data for reporting purposes.

Document and execute test cases as required.

Perform code reviews and provide technical recommendations as required

Jan 2009 – June 2009 (Telus Health), Location: Ottawa

Senior Programmer Analyst

Technologies: Java, swing, Sybase, Eclipse, Junit, Tomcat, Ant, RUP, Java Web Start

Design, analyze, implement and support health care applications

Perform sanity testing and bug-fixing on their suite of products.

Gathering business requirement and providing development estimates.

Document design specifications and test cases.

Feb 2008 – Jan 2009 (DNA13), Location: Ottawa

Senior Software Engineer

Technologies: Java, JSP, MySql, JDBC, Tomcat, Ant, agile development (scrum), Junit, Eclipse, Javascript, Spring, MVC, css

Design, analyze and implement a media monitoring system to provide brand protection services to clients.

Help defining and documenting development methodologies practices, coding and design standards.

Leading a team of developers, mentoring them in a scrum setting on daily development tasks and also contributed actively on the design aspects of the projects.

August 06 – Jan 2008 (ATB Financial), Location: Calgary

Programmer Analyst

Technologies: Web Services, Java, JSP, Struts, DB2, SQLServer, Hibernate, XMLBeans, DBUnit, JDBC, Websphere, Ant, agile development (scrum), Global 360 (Open Text) Case Manager (content management and business process management engine (BPM)), junit, XMLUnit, Eclipse, css, wsdl, soap

Design, analyze and implement a reporting application of loan application specifics.

Design and develop object models and web service payloads based on business requirement.

Design, analyze and implement a security component that authenticates users via a web service request and allow users (lawyer) to download required bank documents to set up mortgage agreements.

Collaborate very closely with offshore team and QAs during the coarse of development and testing.

Assist management to establish agile development processes and various development standards within the project group

Interact with different business and technical groups within the Bank to assist defining project management standards.

Mar 05 – Aug 06 (Entero), Location: Calgary

Software Developer

Technologies: Hibernate (with XDoclet), Java swing, Tomcat, Oracle, Toad, Junit, Ant, agile development (scrum), IntelliJ Idea (IDE), Tortoise, Confluence, Toad

Design, analyze and implement an oil and gas accounting system product that reports and calculates oil well owners’ revenues based on production of wells.

Leading workgroups, mentoring junior developers and assisting them on various design and development tasks in a scrum setting during the development phase of the project.

Provide recommendations on various development issues such as adopt unit-testing practices etc.

Oct 00 – Mar 05 (CGI – multiple projects), Location: Calgary

Software Developer

Technologies: java, javascript, struts, DB2, Oracle, Toplink, RUP, agile development (XP), PL/SQL, perl, JSP, css, Toad

Design, analyze and implement an oil and gas production accounting system that calculates well owners’ revenues based on production volumes across North America.

Design, analyze and implement of a web-based application that processes hospital surgical appointments and perform wait times calculations.

Design, implement and support an on-line cement order fulfillment, tracking and administrative system for a cement trading company.

Support a telecommunication application that is used to track installation of phone lines and their service through Western Canada.

JavaScript / Java programming (applet) of a data processing and graphical application, that retrieves real-time data via a web interface to an applet. The data is instantly plotted on a time graph.

Provide assistance to junior programmers during implementation phase of various Visual Basic and java applications.

Unit and sanity testing for various client applications; providing technical recommendations based on the test results.

June 00 –Sept 00 (Delta Enterprise Tech Inc.), Location: Calgary

Software Developer

Technologies: Java swing, Oracle, EJB, JSP

Implement web applications that are used to display marketing information of their suite of products.

Develop a Visual Basic script that facilitates users to access the software inside Microsoft applications (Word, Excel, PowerPoint etc.).

March 99 – June 00 (Critical Mass), Location: Calgary

Internet Application Designer

Technologies: java, Oracle

Java/ HTML programming in building websites for clients.

Access the Netscape Enterprise/ Directory servers to provide access control on websites (LDAP, JNDI and TCP/IP).

Work with customers to gather requirement and also team leader on the overall design.

April 98 –March 99 (Valmet Automation), Location: Calgary

Programmer Analyst

Technologies: C, C++, Oracle

Implementing SCADA applications.

Performing y2k-compliant testing for customers.

Languages: Functionally bilingual in written and spoken English and Chinese

Extra-Curricular Activities:

2012 – 2013

Toronto Mendelssohn Choir - chorister

2000 – 2006

Calgary Philharmonic Chorus - chorister

1992 – 1994

Hong Kong Polytechnic University Choir – Conductor/Pianist/Chorister

Reference: Available upon request



Contact this candidate