James Main, B.Math.

Whitby, Ontario  L1N 5M3 Canada
Toll-free: 1-866-878-5256 - EM: info@jamesmain.com
 
OBJECTIVE Contract employment as an application developer, specializing in integration & network programming, web & EJB development using J2EE, and RDBMS programming on various UNIX platforms as well as Windows. My core languages are Java and C/C++.

For a copy of my resume in Word format click here; for PDF format click here


EXPERIENCE July 2013 - September 2014, January 2015 - July 2015,    FIS Global   North York, ON
Senior Java Developer (Contract)

Duties performed but not limited to:
  • Implemented new business functions for Commercial Internet Banking (Bank of the West, BB&T) using Java EE 6 as a development framework
  • Discovered and fixed a number of vulnerabilities in the Web Application Security layer (OWASP ESAPI -based) ensuring comprehensive protection from various internet attacks such as XSS
  • Integrated with RSA Adaptive Authentication to provide out-of-band authentication and authorization
Technologies used: Java EE 6, JSP, JSTL, Servlet, JavaScript, JQuery, HTML5/XML, XSD, XSLT, XPath, XQuery, JSON, JMS, Web services (SOAP-based and RESTful), JDBC, iBatis, JMS, Swing, Eclipse, WebSphere 7, Linux, Oracle 11g, PL/SQL, UNIX shell, Active MQ, CA SCM/Harvest


September 2014 - December 2014   Hiram Walker - Pernod Ricard   Windsor, ON
Senior Java Developer (Contract)

Duties performed but not limited to:
  • Consulting and maintenance for internal marketing, sales and business forecasting software, using Java EE 6 and Oracle PL/SQL
  • Development and maintenance of PL/SQL code like Stored Procedures and Packages using TOAD
  • Development and maintenance of Java code
Technologies used: Java EE 6, JSP, JSTL, Servlet, JavaScript, HTML5/XML, JMS, JDBC, Google Web Toolkit (GWT 2.6), Eclipse, Tomcat, Oracle 11g, PL/SQL, TOAD, SVN, Maven, Actuate e.SpreadSheet


December 2010 - June 2013   The Globe and Mail   Toronto, ON
Senior Java Developer (Contract)

Duties performed but not limited to:
  • Enhanced Globe Investor's My Watchlist on Globeandmail.com to include stock & fund e-mail alerts
  • Developed Globe Unlimited project on Globeandmail.com to accept user subscriptions and online payments
  • Provided backend services used by various components for user registration, settings and preferences using Oracle and Cassandra non-SQL database
  • Developed and implemented custom tags used by the front end developers using JSTL
  • Extended Globe Unlimited project to include promo codes and discounts for newspaper subscribers
  • Participated in the database schema and technical design review sessions and provided complexity estimates for technical tasks
Technologies used: Java 6, RMI, JSP, JSF, Servlet, JDBC, iBatis, JMS, IntelliJ, Resin, Weblogic, Spring MVC, XML, Linux, Oracle 11g, PL/SQL, UNIX shell, HornetQ, git, SVN, Agile, Jira, Fisheye, Bamboo


July 2009 - November 2010   Direct Energy   North York, ON
Senior Java Developer (Contract)

Duties performed but not limited to:
  • Provided fast and quality production support to customers by closely working with the BAs and customers to analyze and resolve issues through data and/or code fixes
  • Designed and implemented new product feature enhancements and provided recommendations on best approaches
  • Worked with a team of developers and/or independently as needed to execute tasks within the allotted timeframe and deliver quality solutions. Provided guidance to junior staff as required
  • Conducted thorough unit testing and assist the BAs with functional, system and interface testing
  • Analyzed business requirements and provided accurate technical work estimates
Technologies used: Java 5, JNDI, JSP, JSF, Servlet, EJB, MDB, JDBC, JMS, Eclipse, BEA Weblogic, XML, Solaris, HP-UX, Oracle 10g, TOAD, SQL, UNIX shell, Perl, Tibco Rendezvous, CVS, Remedy, Control-M


January 2008 - July 2009   Telus Mobility   Scarborough, ON
Senior Java Developer (Contract)

Duties performed but not limited to:
  • Performed advanced application programming activities, including coding, testing, debugging, documenting, maintaining & modifying key wireless SMS applications and systems
  • Some of the systems I was involved in included:
    • MT (mobile-terminated) SMS load-balancing and optimization
    • WLNP (wireless local number portability) port-outs
    • SMS message engine replacement / migration to ANAM router
    • Holborn CDMA (code division multiple access) conversion to HSPA (high speed packet access) using GSM 03.38
    • HA (high-availability) cluster and failover of real-time systems
    • System scalability
    • Automated report creation & enhancements
  • Created implementation plans and rollback procedures to assist implementers with production deployments
Technologies used: Java 5, JDBC, XML, LDAP, Log4j, Solaris 10, Oracle 9i, SQL, TOAD, UNIX shell scripts (ksh, awk, sed), Ant, Eclipse, BEA WebLogic 9.2, Control-M, ClearCase, ClearQuest


October 2007 - November 2007   CIBC   Toronto, ON
Senior J2EE Developer (Contract)
  • Electronic Fund Transfer batch application, billing engine, Enterprise Message Broker integration
  • Analyzed, defined & documented requirements for data, workflow, logical processes, interfaces, exception handling & implementation for shared services applications
  • Performed advanced application programming activities, including coding, testing, debugging, documenting, maintaining & modifying key shared services applications
  • Provided consultation on the development of internal web and business applications
Technologies used: Java 5, EJB, MDB, JMS, JDBC, XML, SOAP, SAML, web services, JUnit, Log4j, Solaris, HP NonStop, SQL/MX, UNIX shell scripts, Ant, Eclipse, BEA WebLogic 9.2, Hibernate, Spring, Java Server Faces (JSF), XMLSpy, MKS


July 2006 - July 2007   Direct Energy   North York, ON
Application Architect/Development Lead (Contract)

Duties performed but not limited to:
  • Developed the Gas Distribution Access Rule (GDAR) framework satisfying the requirements/standards put forth by Ontario Energy Board (OEB)
  • Provided consultation on the development of internal web and business applications
  • Developed MARKET ADAPTER that allows direct connection/communication of Direct Energy with the other GAS UTILITIES (Union Gas/Enbridge Gas) to exchange info regarding customer information, metering, usage etc.)
  • Implemented continuous build automation using CruiseControl open source project
Technologies used: Java 1.4, JNDI, JSP, JSF, Servlet, EJB, MDB, JDBC, JMS, Rational Unified Process (RUP), Rational Rose, UML, Eclipse, Sun One Application Server, Ant, DOM, XML, XSLT, Solaris, Linux, Oracle 10g, TOAD, SQL, UNIX shell, Perl, SOAP, web services, Tibco Rendezvous, Tibco Businessworks, Hibernate, XMLSpy, CVS, CruiseControl, Test Director


May 2006 - June 2006   EDS / GM Canada   Oshawa, ON
PL/SQL Developer (Contract)

Duties performed but not limited to:
  • Mitigated risk for post-release phase of eFlex project by testing, troubleshooting and fixing PL/SQL procedures and functions
Technologies used: PL/SQL, C, Oracle, TOAD, Linux, UNIX shell, Borland StarTeam


January 2006 - May 2006   TD Securities   Toronto, ON
Calypso Developer (Contract)

Duties performed but not limited to:
  • Enhanced functionality of Calypso software pertaining to Credit Derivatives
  • Delivered agreed upon deliverables on time and within work effort estimate
  • Performed work activities according to application development life cycle
Technologies used: Java 1.4, Swing, Oracle, UNIX, Linux, Ant, Log4j, IntelliJ IDEA, CVS, Object Oriented Analysis & Design


September 2005 - January 2006   EDS/GM Canada   Whitby, ON
J2EE Web Component Developer (Contract)
  • Enhanced web applications http://gmcanada.com and http://mygmcanada.com to enable users to better locate and save vehicle, offer and dealer information
  • Responsible for presentation of dealer-related information (dealer search, search results, and details including hours, map and driving directions), and user-centric information (located new vehicles, configured vehicles, regional offers, dealers, and personal vehicles)
  • Delivered agreed upon deliverables on time and within work effort estimate
  • Worked closely with development team leader and with architects to develop and support J2EE applications
  • Performed work activities according to application development life cycle
Technologies used: Java 1.3 (EJB, Servlets, JSP, JDBC), JavaScript, HTML/XHTML, CSS, Oracle, TOAD, XML, Struts framework, MapPoint, Axis, web services, UNIX, Ant, Log4j, WebLogic 8.1, Eclipse IDE, Visual SourceSafe, Test Track Pro


April 2005 - August 2005   CIBC   Toronto, ON
J2EE Web Developer (Contract)
  • Truncation and Electronic Cheque Presentment (TECP) project
  • Analyzed, designed and developed J2EE solutions based on business requirements as it related to Cheque Processing, Image capture, web services and PDF rendering
  • Delivered agreed upon deliverables on time and within work effort estimate
  • Worked closely with development team leader and with architects to develop and support J2EE applications
  • Performed work activities according to application development life cycle
  • Provided guidance and informal coaching to junior staff
  • Provided work effort estimates and performed feasibility studies
Technologies used: Java 1.4 (EJB, Servlets, JMS, JSP, JDBC, i18n), JavaScript, HTML/XHTML, CSS, Oracle, XML/XSL, XSD, XSL-FO, Apache FOP, Struts framework, Spring framework, web services, UNIX, Ant, Log4j, WebLogic, Eclipse IDE, CVS, XMLSpy, Object Oriented Analysis & Design using UML


November 2004 - April 2005   BearingPoint   Toronto, ON
Technical Architect (Contract)
  • Core team member of the design and implementation phase of the Mortgage Facility Maintenance (MFM) system for CIBC, a major Canadian financial institution
  • Reviewed and analyzed requirements for the new system
  • Responsible for providing support, design, engineering, programming and problem-solving for technically complex mid to large-scale projects
  • Participated in the design and delivery of project deliverables
  • Worked closely with client and technical experts on analysis, system- and class-level design, development, integration, and implementation
  • Demonstrated a high level of commitment to client success
  • Maintained technical competence through continuous training and education
  • Delivered timely and quality services that met or exceeded client's expectations
  • Maintained an in-depth knowledge of industry products and services
  • Demonstrated ability to research subjects to support engagement work
  • Documented and presented sound work products
  • Planned and estimated deliverables
Technologies used: Java 1.4 (EJB, JDBC, JNDI, Servlet/JSP, i18n, XML), UML, design patterns, EJB, JDBC, Java Swing, XML, BEA WebLogic 6.1, Rational Rose, Eontec framework, object-oriented analysis, design & development (OOADD)


November 2002 - November 2004   Toronto Stock Exchange   Toronto, ON
Senior Application Developer
  • Designed, developed, implemented and maintained market data delivery applications, both real-time and batch, using appropriate technologies. Typical throughput was 1.2 million messages per day
  • Maintained the company's daily trading summary database using Extract, Transform, Load (ETL) techniques
  • Contributed to the designs and plans for new business initiatives
  • Proactively managed technical issues, impacts, and outcomes
  • Designed & built web application to display performance graphs of these real-time systems
  • Provided 24/7 production support of mission critical systems including resolution of problem records and/or client complaints
  • Gathered and analyzed requirements and provided feedback, working with use cases, business analysts, and end users
  • Understood and analyzed interactions with the many interconnected TSX systems and technologies
  • Participated in high-level design discussions and provided guidance in OO analysis
  • Worked closely with immediate team on system- and class-level design, development, integration and implementation
  • Contributed to technical documentation for design, coding, release notes and operations
  • Worked closely with Architecture group to solve business problems effectively with strategic directions in mind
  • Maintained an in-depth knowledge of technologies applicable for TSX business objectives
  • Ensured code standardization and reusability
  • Provided technical guidance and mentoring to other developers
  • Planned and estimated deliverables and adhered to the organization's methodology and process model (RUP)
  • Participated in build and deployment activities
Technologies used: C/C++, STL, TCP/IP, socket programming, Java 1.4 (Servlet/JSP, JDBC, i18n), HTML/XHTML, CSS, Oracle 8i, SQL*Loader, PL/SQL, Pro*C, SQL, Berkeley DB, XML, Swing, TIBCO Rendezvous 7.2, UNIX scripts (ksh/awk/sed/perl), Solaris 9, Windows XP, Struts 1.1, Ant, Log4j, MySQL, Tomcat 5.0, CVS, PVCS, RUP, UML, Rational Rose, Rational Purify, Tivoli, Remedy, Lotus Notes, OOADD


August 1999 - June 2002   EDS Systemhouse Inc.   Toronto, ON
Designer/Senior J2EE Developer
  • Developed a large-scale business-to-government (B2G) E-File e-commerce application (team of 10 developers)
  • Designed, developed a real-time backend server application, which enabled the exchange of XML-formatted messages and attachments among the various justice clusters in the Province of Ontario
  • Enabled above server application to run as a Windows 2000 service
  • Designed, developed stateless session bean for web payment subsystem. This subsystem used JNI to provide seamless integration with legacy code written in C/C++ in order to authorize and reconcile credit transactions with CyberCash
  • Modeled use-cases, sequence and class diagrams
  • Administrated source control system, during my tenure
  • Installed and configured design and source control tools for use by coworkers
  • Wrote detailed design specifications
  • Planned and estimated deliverables
  • Fixed defects and created enhancements in the applications
  • Created Windows NT and UNIX shell scripts for building and running the application
  • Interviewed potential candidates for hire
  • Provided leadership, mentoring, and motivation to junior programmers
Technologies used: Java 1.2 (EJB 1.1, JDBC, Servlet 2.2, JSP 1.1, i18n, JavaMail, JavaBeans), HTML/XHTML, CSS, JNI, C/C++, STL, Oracle 8i, SQL, XML, MQSeries, Roma BSP, UNIX shell, AIX, Windows 2000 Server, Ant, Log4j, BEA WebLogic 6.1, MS Project, Microsoft Visual SourceSafe, RUP, UML, Rational Rose, Test Director, Visio, OOADD


November 1998 - August 1999   Bank of Montreal   Scarborough, ON
Designer/Senior C++ Developer
  • Designed, developed interfaces between 3-tier client/server and back-end legacy systems for Veev™, a service which offered wireless banking services to existing customers. (team of 10 developers)
  • Developed and maintained corporate credit card web site (team of 10 developers)
  • Developed, maintained and supported the organization's high-profile Internet banking web site http://www.mbanx.com (team of 2 developers)
  • Modeled use-cases, sequence and class diagrams
  • Involved in all phases of project life cycle, including OO analysis, design, development, testing and documentation
Technologies used: C/C++, RogueWave, Oracle 7, socket programming, SQL, XML, AIX, SunOS/Solaris, Windows NT, UNIX shell, HTML, CSS, JavaScript, Actuate Server, Sybase, Transact-SQL, Perl, ClearCase, UML, Rational Rose, OOADD


February 1998 - August 1998   Toronto Stock Exchange   Toronto, ON
Designer/Senior C++ Developer
  • Analyzed, designed and developed a real-time order book engine application, which read real-time trading data, built messages, and published these messages to subscribing clients (team of 2 developers)
  • Conducted presentations for project managers and support staff who wished to familiarize themselves with the technical aspects of the application
  • Modeled use-cases, sequence and class diagrams
  • Involved in all phases of project life cycle, including OO analysis, design, development, testing and documentation
Technologies used: C/C++, STL, RogueWave, TCP/IP, socket programming, Oracle 7, Pro*C, SQL, TIBCO SmartSockets, UNIX shell, Solaris 6, Windows NT, UML, Rational Rose, Visio, MS Project, MS PowerPoint, OOADD


March 1996 - February 1998   Bell Sygma - CGI   Toronto, ON
Senior Systems Analyst
  • Developed Network Activation Management (NAM), a backend service provisioning application. This backend application retrieved messages from a mainframe system via MQSeries, parsed and inserted these messages into our database and re-routed the business data to various network elements. The result of the implementation of this software was a 95% decrease in overall activation time (team of 6 developers)
  • Built and maintained TCP/IP (SMTP and FTP) clients and utility API libraries for use in NAM software using UNIX socket APIs
  • Wrote various utility programs and tools for use by customers and coworkers
  • Created HTML pages to report on Network Status for our customers to view on the company intranet
  • Modeled use-cases, sequence and class diagrams
  • Created and documented test plans to thoroughly and accurately verify developed code
  • Provided leadership, mentoring, and motivation to junior programmers
  • Involved in all phases of project life cycle, including OO analysis, design, development, testing and documentation
Technologies used: C/C++, RogueWave, TCP/IP, SMTP, FTP, socket programming, Oracle 7, Pro*C, SQL, MQSeries, UNIX shell, HTML, CGI/Perl, Java, HP-UX 10, Windows NT, UML, Rational Rose, Visio, OOADD


September 1995 - February 1996   ACUMA International, Inc.   North York, ON
Senior Systems Programmer
  • Re-developed ACUMA's server products to current operating system platforms and provided Internet access to these HTTP servers
  • Built information-retrieval application to access graphical data from a remote server
  • Optimized and maintained client application that communicated with a remote server via Hayes Modem/X.25 protocols
Technologies used: C/C++, HTML, Java applets, MS-DOS, OS/2, Windows NT


March 1994 - August 1995   Triversity   Markham, ON
Software Engineer
  • Developed software for POS applications, Debit Card Systems, and Credit Authorization Systems (team of 6 developers)
  • Ported retail applications across multiple platforms
  • Interfaced terminals to handle various data communication protocols such as dial-up, RS-232, NCR OCIA, IBM 4680, NetBIOS, and TCP/IP
  • Integrated a multitude of features into the application including credit-authorization, debit transactions/PIN entry, check reading/verification, electronic signature capture, and serial device interfacing to printers, magnetic-stripe readers, produce scales and hand-held scanners
  • Developed and maintained internal Application Program Interface libraries (APIs) for all new and existing hardware platforms
Technologies used: C/C++, MS-DOS, Windows 3.1, UNIX, IBM, NCR, DEC, EPSON, OMRON, OCIA, RS-232, NetBIOS, TCP/IP


June 1992 - February 1994   IVI - Ingenico   North York, ON
Senior Applications Developer
  • Developed event-driven, real-time, transaction-based software for embedded systems
  • Interfaced terminals to handle various data communication protocols such as dial-up, RS-232, RS-485, DataPac 3101/3201, NCR OCIA, and IBM 4680
  • Project leader for IBM 4680 EFT project for 1 year
  • Traveled to support and train Value-Added Resellers (VARs) and internal clients
  • Consulted directly with clients to define and document functional/technical specifications and prepare quotations
  • Conducted presentations for project managers who wished to familiarize themselves with the technical aspects of a product
  • Administered Novell LAN of over 50 PCs during my tenure
  • As co-op student, programmed and maintained internal Inventory Management System
Technologies used: C, 8051 Assembly language, embedded systems, MS-DOS, Windows 3.1, Novell Netware, RS-232, DataPac 3101/3201, IBM 4680, NCR OCIA


March 1997   Durham Management Centre
LAN Instructor

  • Taught "Introduction to Local Area Networks" course to a class of 20 students




EDUCATION September 1988 - April 1992   University of Waterloo
Bachelor of Mathematics (B. Math.)

  • Honors Computer Science

AWARDS & CERTIFICATES March 2005   NCR World Headquarters

  • Teradata Design, Physical Implementation and Application Utilities

February 2005   BEA

  • BEA WebLogic Server 8.1: J2EE Programming with EJBs
  • BEA WebLogic Server 8.1: Developing Web Services

1997   Learning Tree International Toronto, ON

  • Hands On TCP/IP Programming
  • Advanced C Programming
  • Object-Oriented Analysis and Design (OO, OOA and OOD)

May 1995 - March 1996   Seneca College Toronto, ON

  • Introduction to Object-Oriented Design
  • Introduction to C++ Programming
  • Introduction to Windows Programming

CERTIFICATIONS
Sun Microsystems
Sun Certified Programmer for the Java 2 Platform (SCJP) 1.4
Sun Certified Programmer for the Java 2 Platform (SCJP) 1.4
Sun Microsystems
Sun Certified Programmer for the Java 2 Platform (SCJP) 5.0
Sun Certified Programmer for the Java 2 Platform (SCJP) 5.0
Sun Microsystems
Sun Certified Web Component Developer (SCWCD) 1.4
Sun Certified Web Component Developer (SCWCD) 1.4
Sun Microsystems
Sun Certified Business Component Developer (SCBCD) 1.3
Sun Certified Business Component Developer (SCBCD) 1.3
Sun Microsystems
Sun Certified Developer for Java Web Services (SCDJWS)
Sun Certified Developer for Java Web Services (SCDJWS)
Sun Microsystems
Sun Certified Enterprise Architect (SCEA) Part 1
Sun Certified Enterprise Architect (SCEA) Part 1
BEA
BEA 8.1 Certified Developer: Build Solutions
Oracle
Oracle PL/SQL Developer Certified Associate (OCA AD)
Oracle PL/SQL Developer Certified Associate (OCA AD)
CIW
Certified Internet Web Associate (CIW v5 Associate)
Certified Internet Web Associate (CIW v5 Associate)
CIW
Certified Internet Web Professional (CIW Professional)
Certified Internet Web Professional (CIW Professional)
IBM
IBM Certified Specialist Rational Unified Process (RUP) v2003
IBM Certified Specialist Rational Unified Process (RUP) v2003
IBM
IBM Certified Solution Developer - WebSphere MQ V5.3
IBM Certified Solution Developer - WebSphere MQ V5.3
IBM
IBM Certified Solution Developer - XML 1.1 and Related Technologies
IBM Certified Solution Developer - XML 1.1 and Related Technologies
IBM
IBM Certified SOA Associate
IBM Certified SOA Associate
Teradata
Teradata Certified Professional V2R5
Teradata Certified Professional V2R5
Teradata
Teradata Certified SQL Specialist V2R5
Teradata Certified SQL Specialist V2R5
Teradata
Teradata Certified Application Developer V2R5
Teradata Certified Application Developer V2R5
  • Brainbench Certifications (transcript # 5033271)
    • Job Role Certifications: Java Programmer, Web Developer (BCIP), Computer Programmer, C++ Programmer, Mainframe Programmer, .NET Programmer, Windows Application Programmer
REFERENCES Available upon request.


SUMMARY
  • 23 years of experience in architecture, analysis, design and development of complex distributed systems
  • Practical experience in and advanced knowledge of J2EE architecture (EJB, JDBC, JNDI) and web development (Servlets/JSP, XML, Struts framework)
  • Practical experience in and advanced knowledge of:
    • Multi-tasking and multi-threading concepts (Posix threads, pthreads, Java threads)
    • Embedded system development
    • TCP/IP and IPC programming using the BSD socket/WinSock APIs
    • Client/server programs that will inter-operate across multiple platforms (UNIX ↔ Win32 ↔ OS/2)
  • Strong background in Object Oriented analysis and design, design patterns, data modeling
  • Strong understanding of current best practices in application architecture and development
  • Extensive programming experience including Java/J2EE and C/C++
  • Familiarity with a variety of relational database management systems (RDBMS) including Oracle, Sybase and MySQL
  • Experience in all stages of software development cycle from high-level design, implementation, testing and performance tuning to integration, production support and documentation
  • Strong troubleshooting and problem solving skills
  • Excellent interpersonal and communication skills with both clients and coworkers
  • Knowledge and experience in a diverse range of industries including retail, telecom, finance, banking and government
  • Excellent education, training and certification history
  • Able to exploit the relevant system programming features of UNIX and Win32
  • Can evaluate design issues in developing distributed applications
  • Able to port code across various platforms
  • Familiar with security concepts and encryption technology
  • Knowledge of component-based development (CORBA)
  • Familiar with OWASP standards and methodologies