133 CALAIS STREET WHITBY ONTARIO L1N 5M3 PHONE 905 626-8308 • 905 665-8308 • E-MAIL INFO@JAMESMAIN.COM JAMES MAIN OBJECTIVE Contract employment as a programmer/developer, specializing in integration & network programming, web, middle-tier and back-end development on various UNIX platforms as well as Windows. My core languages are Java EE and C/C++. PROFESSIONAL EXPERIENCE, CONTRACT & EMPLOYMENT HISTORY Senior Java Developer (Contract) FIS Global, North York, ON [July 2013 – September 2014, January 2015 – Present] Implemented transaction-based business functionality 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 Senior Software Engineer (Contract) Hiram Walker - Pernod Ricard, Windsor, ON [September 2014 – December 2014] 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 Senior Java Developer (Contract) The Globe and Mail, Toronto, ON [December 2010 – June 2013] James Main Enhanced Globe Investor's My Watchlist on Globeandmail.com to include stock & fund e-mail alerts (team of 6 developers) using Java EE 6 and Agile methodology 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 Page 1 of 7 Technologies used: Java EE 6, RMI, JSP, JSTL, JavaMail, taglib, Servlets, HTML5/XML, JavaScript, JQuery, JSON, JDBC, iBatis, JMS, Web services (SOAP-based and RESTful), JUnit, IntelliJ, Resin, WebLogic, Spring MVC, Linux, Oracle 11g, PL/SQL, Cassandra, Hector, Terracotta, UNIX shell, HornetQ, git, Maven, groovy, gradle, SVN, Agile, Jira, Fisheye, Bamboo Senior Systems Analyst (Contract) Direct Energy, North York, ON [July 2009 – November 2010] Designed and developed customer billing address database scrub project from initial design to inception Developed and maintained transaction-based software components from business requirements and technical design documents 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 Technologies used: Java EE 5, JNDI, JSP, JSF, Servlet, EJB, MDB, JDBC, JMS, Eclipse, BEA WebLogic, XML, Solaris, HP-UX, Oracle 10g, TOAD, PL/SQL, UNIX shell, Perl, Web services (SOAP-based), Tibco Rendezvous, CVS, SVN, Remedy, Test Director, Control-M, Hudson build server Senior Java Developer (Contract) Telus, Scarborough, ON [January 2008 – July 2009] Performed advanced application programming activities, including coding, testing, debugging, documenting, maintaining & modifying key wireless SMS applications and systems Some of the systems involved included: o MT (mobile-terminated) SMS load-balancing and optimization o WLNP (wireless local number portability) port-outs o SMS message engine replacement / migration to ANAM router o Holborn CDMA (code division multiple access) conversion to HSPA (high speed packet access) using GSM 03.38 o HA (high-availability) cluster and fail-over of real-time systems o System scalability, automated report creation & system enhancements Technologies used: Java 5, JDBC, XML, LDAP, Log4j, Solaris 10, Oracle 9i, PL/SQL, TOAD, UNIX shell, awk, sed, Ant, Eclipse, WebLogic, Control-M, Remedy, ClearCase, ClearQuest Senior J2EE Developer (Contract) CIBC, Toronto, ON [October 2007 – November 2007] Electronic Fund Transfer batch application, billing engine, Enterprise Message Broker integration Technologies used: Java EE 5, Solaris, HP NonStop, SQL/MX, UNIX shell Application Architect/Development Lead (Contract) Direct Energy, North York, ON [July 2006 – July 2007] Developed the Gas Distribution Access Rule (GDAR) framework satisfying the requirements/standards put forth by Ontario Energy Board (OEB) Led team, analyzed and built system based on existing Hydro framework to handle over 5 million transactions to feed into our customer service system using XML, Java, J2EE, JMS, Tibco, Sun One Application Server and Oracle. Worked on framework of system that exchanges thousands of daily transactions for usage, location change and status between Ontario utilities Developed MARKET ADAPTER framework that exchanges thousands of daily transactions for usage, metering, location change and status between Direct Energy and the other gas utilities (Union Gas/Enbridge Gas) using XML, Java, EJBs, J2EE, Sun ONE Application Server and Oracle James Main Page 2 of 7 Assisted other developers to understand and integrate code into framework and acted as liaison between offshore team in India and development team in Toronto Technologies used: Java 1.4, JNDI, JSP, JSF, Servlet, EJB, MDB, JDBC, JMS, RUP, UML, Eclipse, WebLogic, Ant, DOM, XML, XSLT, XPath, XQuery, StAX, Solaris, Linux, Oracle 10g, TOAD, PL/SQL, UNIX shell, Perl, Web services (SOAP-based), Tibco Rendezvous, Tibco Businessworks, Hibernate, XMLSpy, CVS, CruiseControl, Test Director PL/SQL Developer (Contract) GM Canada, Oshawa, ON [May 2006 – June 2006] 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 Calypso Developer (Contract) TDSecurities, Toronto, ON [January 2006 – May 2006] Developed reports utilizing the reporting and risk analysis framework (Report, ReportOutput, ReportStyle, ReportPanel, Analysis, AnalysisOutput) involving various derivative instruments including, but not limited to, Credit Default Swaps, Total Return Swaps, etc. Customized and extended Calypso API (over 2,800+ classes) for TD Worked closely with development team leader, business analysts and QA personnel architects to develop and support these applications Technologies used: Calypso API, Java 1.4, Swing, Oracle, Linux, UNIX shell, Ant, Log4j, IntelliJ, CVS, Test Track Pro J2EE Web Component Developer (Contract) GM Canada, Whitby, ON [September 2005 – January 2006] Enhanced web applications http://gmcanada.com and http://mygmcanada.com to improve customer ability to find and save vehicle, offer and dealer information Interfaced web application with Microsoft’s MapPoint ® Web Service using Apache Axis to provide the end-user with detailed maps and driving directions to the various dealerships Technologies used: Java 1.3, JSTL, i18n, JavaScript, HTML/XHTML, CSS, Oracle, TOAD, XML, Struts, Microsoft MapPoint, Apache Axis, Web services (SOAP-based), UNIX, Ant, Log4j, BEA WebLogic, Eclipse, Visual SourceSafe (VSS), Test Track Pro J2EE Web Developer (Contract) CIBC, Toronto, ON [April 2005 – August 2005] Truncation and Electronic Cheque Presentment (TECP) project Technologies used: Java EE 5, JSTL, JavaScript, HTML, CSS, Oracle, XML, XSLT, XSD, XSL-FO, XPath, Apache FOP, Struts, Spring Framework, Web services (SOAP-based), UNIX, Solaris Ant, Log4j, BEA WebLogic, Eclipse, CVS, XMLSpy, Rational Rose, Test Track Pro Technical Architect BEARINGPOINT, Toronto, ON [November 2004 – April 2005] Core team member of the design and implementation phase of the Mortgage Facility Maintenance (MFM) system for CIBC, a major Canadian financial institution James Main Page 3 of 7 Responsible for providing support, design, engineering, programming and problem-solving for technically complex mid to large-scale projects Technologies used: Java 1.4, UML, OO design patterns, EJB, JDBC, Java Swing, XML, BEA WebLogic, Rational Rose Senior Application Developer TORONTO STOCK EXCHANGE, Toronto, ON [November 2002 – October 2004] 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 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 Technologies used: C/C++, STL, TCP/IP, socket programming, Java 1.4, HTML, CSS, Oracle, SQL*Loader, PL/SQL, Pro*C, SQL, Berkeley DB, XML, Swing, TIBCO Rendezvous, UNIX shell (ksh/awk/sed/perl), Solaris, Struts, Ant, Log4j, MySQL, CVS, PVCS, RUP, UML, Rational Rose, Purify, Tivoli, Remedy, Lotus Notes, STAMP protocol, Crystal Reports Designer/Senior Web Developer (Contract) EDS SYSTEMHOUSE INC., Integrated Justice Project, Toronto, ON [August 1999 – June 2002] Developed a large-scale business-to-government (B2G) E-File: multi-tier, J2EE web application for management and workflow of legal documents between lawyers, court clerks and other interested parties Designed, developed a real-time backend server application, which enabled the exchange of XMLformatted messages and attachments among the various justice clusters in the Province of Ontario Technologies used: Java 1.2, EJB, MDB, JDBC, Servlet, JSP, RMI/IIOP, i18n, JavaMail, JMS, JavaBeans, HTML, CSS, JNI, C/C++, STL, Oracle, PL/SQL, XML, SOAP, MQSeries, Candle Roma BSP, UNIX shell, AIX, Ant, Log4j, BEA WebLogic, MS Project, Visual SourceSafe (VSS), RUP, UML, Rational Rose, Test Director, Visio, PKI Designer/Senior C++ Developer (Contract) BANK OF MONTREAL, Scarborough, ON [November 1998 – August 1999] 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) Designer/Senior C++ Developer (Contract) TORONTO STOCK EXCHANGE, Toronto, ON [February 1998 – August 1998] Analyzed, designed and developed a real-time market data application, which read live trading data, and published messages to subscribing clients (team of 2 developers) Senior Systems Analyst BELL SYGMA - CGI, Toronto, ON [March 1996 – February 1998] Developed Network Activation Management (NAM), a telecommunications service provisioning application. This 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) James Main Page 4 of 7 Senior Systems Programmer ACUMA INTERNATIONAL, INC., North York, ON [September 1995 – February 1996] Re-developed ACUMA’s server products to current operating system platforms and provided Internet access to HTTP servers Software Engineer TRIVERSITY, Markham, ON [March 1994 - August 1995] Developed software for POS applications, Debit Card Systems, and Credit Authorization Systems (team of 6 developers) Senior Applications Developer IVI - INGENICO, North York, ON [June 1992 - February 1994] Developed event-driven, real-time, transaction-based software for embedded POS systems Webmaster (part-time ongoing) AccuTran Global, Caledonia, ON [January 2010 – present] Develop and maintain web user interfaces using MySQL, PHP and web technology Technologies used: Linux, Apache HTTP Server, MySQL, PHP, HTML, CSS, JavaScript Webmaster (part-time) Whitby Ringette, Whitby, ON [May 2011 – May 2014] Develop and maintain web user interfaces using MySQL, PHP and web technology Technologies used: Linux, Apache HTTP Server, MySQL, PHP, HTML, CSS, JavaScript, SSL certificate, Joomla! content management system Web developer (part-time) Toronto Camera Club, Toronto, ON [July 2010 – January 2011] Design and develop web user interfaces using MySQL, PHP and web technology Created online membership payment interface with Moneris eSELECTplus Technologies used: Linux, Apache HTTP Server, MySQL, PHP, Moneris eSELECTplus, HTML, CSS, JavaScript, SSL certificate, Joomla! content management system EDUCATION UNIVERSITY OF WATERLOO, Waterloo, ON [September 1988 – April 1992] Honors Computer Science Bachelor of Mathematics (B. Math.) AWARDS & CERTIFICATES Teradata Dayton, OH [March 2005] Teradata Design, Physical Implementation and Application Utilities BEA Toronto, ON [February 2005] BEA WebLogic Server 8.1: J2EE Programming with EJBs BEA WebLogic Server 8.1: Developing Web Services James Main Page 5 of 7 CERTIFICATIONS Sun Certified Programmer for the Java 2 Platform (SCJP) 1.4/5.0 Sun Certified Web Component Developer (SCWCD) 1.4 Sun Certified Business Component Developer (SCBCD) 1.3 Sun Certified Developer for Java Web Services (SCDJWS) Sun Certified Enterprise Architect (SCEA) Part 1 BEA 8.1 Certified Developer: Build Solutions Oracle PL/SQL Developer Certified Associate (OCA AD) Certified Internet Web Professional (CIW Professional) Brainbench Web Developer (BCIP), Java Programmer, C++ Programmer (transcript # 5033271) IBM Certified SOA Associate IBM Certified Specialist Rational Unified Process (RUP) v2003 IBM Certified Solution Developer – WebSphere MQ V5.3 IBM Certified Solution Developer – XML 1.1 and Related Technologies Teradata Application Developer V2R5 Teradata Certified SQL Specialist V2R5 Teradata Certified Application Developer V2R5 REFERENCES Available upon request. SUMMARY James Main 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, JSF, XML, Struts, web services) 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 Ability to exploit the relevant system programming features of UNIX and Win32 Can evaluate design issues in developing distributed applications Ability to port code across various multiple platforms Page 6 of 7 Familiar with security concepts and encryption technology Exposure to component-based development (CORBA) Familiar with OWASP standards and methodologies 20150724 James Main Page 7 of 7