Sign in

Senior Java Developer

Toronto, Ontario, Canada
August 24, 2018

Contact this candidate


Maria W S Tsang

Objective: Senior Programmer Analyst (Java)


• Sun Java Certified Programmer

• Have 20 years software development experience (19 years of java development and 1+ year of C/C++/Perl development)

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

- RESTful APIs (REST), Single Page Application

- EJB, Spring framework (e.g. Spring Boot, Spring MVC, Spring-JSF and Spring-MyBatis integration, Spring scheduling, Spring integration), JPA, Struts 1 and 2, Jackson/fasterxml, JAXB, postman, soapUI

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

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

- Selenium scripting, Junit testing

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

- Business process management (BPM) products – e.g. Alfresco Activiti and Global 360 (now Open Text’s) Case Manager, Risk Analyst/Origin (Moody’s)

- Application servers such as Websphere, Weblogic, JBoss and web server such as Tomcat, Spring Boot

• Extensive experience (10+ years) working in agile (scrum and XP) projects as a senior developer and practice continuous integration to facilitate development.

• Experience in leading development teams in agile (scrum) projects and coordinate development work with product owners, 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 provincial 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:

July 2018 – Aug 2018 (TD Bank, project was cancelled)

Location: Toronto

Division: Enterprise Enabling Technology Solutions

Senior Solutions Developer V (contract position)

• Technologies: Java 7/8, REST api, Tomcat, Apache poi, Spring framework, Junit (TDD), Git/Bit Bucket, Eclipse, Scrum (agile), Maven, Json Simple, Fasterxml/Jackson, JPA, hibernate, Jenkins, Podium, continuous integration

• Perform analysis on a portal application that is used for data ingestion. It accepts data files in excel format, validates and persists such information as to generate requests to access build/deployment external systems for further processing.

• Worked closely with business analysts to investigate the potential path forward and make technical recommendations.

• Following the findings of the analysis and provisions of technical documentation, it was determined that the project (java components) was to be cancelled.

Nov 2017 – Jun 2018 (The Advantage Group), Location: Toronto

Senior Full Stack Developer (contract position)

• Technologies: Java 8, Spring Boot (Tomcat), REST api, Spring framework, Junit (TDD), Git/Git hub, IntelliJ, Scrum (agile), Maven, Json Simple, Fasterxml/Jackson, JPA, hibernate, aspose slides for java, yarn, putty, postman, angular 4, postgresql, swagger, micro services, heidiSql, Jenkins, continuous integration, postman, soapUI, karma, jasmine

• Perform analysis, design and implement a marketing survey application that is used to manage, analyze and report on survey results.

• Design and implement a reporting component to generate marketing presentations in the format of PowerPoint slides.

• Work closely with business analysts/QAs to build slide templates that can be used by the reporting component to generate marketing slides.

• Communicate and document design decisions to project stakeholders. Implement application framework modules that facilitate data processing and error tracking.

May 2017 – Oct 2017 (Scotiabank), Location: Toronto

Division: Enterprise Risk Management Solutions

Senior Java Developer (contract position)

• Technologies: Java, Spring Boot, Spring integration, Junit (TDD), Oracle, sqlDeveloper, Tomcat (spring boot), Scrum, Confluence, Jira, Maven, JAXB, Risk Origins/Analyst (Moody’s credit decision workflow product), web services, JPA, Smtp4dev, Aspose excel for java

• Design and implement a new risk management application that is used to process facilities, credit products and authorized entities (i.e. borrowers) and their limit allocation information. This application is built using Spring integration and spring boot (embedded Tomcat).

• Coordinate work in a lead capacity with developers and communicate requirement and progress to product owners

• Mentor multiple junior developers in a scrum (agile) development environment to facilitate development tasks completion

• Write unit tests to test various features of the system and provide support/assistance to QAs to test the new application

• Work closely with product owners, architects and QAs to ensure prompt delivery of features (user stories) in the sprint.

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

Division: Capital Market Technology

Senior Programmer Analyst (contract position)

• Technologies: Java (single page application), Spring Boot, Spring-myBatis integration, Spring scheduling, Spring MVC/Assertions, RESTful APIs, Json, Jackson/Fasterxml, junit (TDD), 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, continuous integration, micro services

• Design and implement a risk limit management system that submits, approves and rejects risk limit change requests by sending system notifications to authorized users.

• 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.

Jun 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 (TDD), Html5, Websphere, JBoss, eclipse Luna/RAD (IDE), SQL server, Oracle, sqlDeveloper, sqlExplorer, ant, iText, css, JPA

• 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 (Tomahawk), Spring MVC, Spring/JSF integration, PrimeFaces, 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(TDD), Oracle, Unix, JMS (interface to mainframe – IMS), JSP, 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 (TDD), Ant, agile development (scrum), css, JSP

• 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 (TDD), Jasper Report, Ant, Cruise control (Continuous integration), 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 (TDD), Eclipse, Javascript, Spring, MVC, css, continuous integration

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 (TDD), 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 (TDD), Ant, agile development (scrum), IntelliJ Idea (IDE), Tortoise, Confluence, Toad, JPA, continuous integration

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, continuous integration, Junit (TDD)

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