I offer software development services and technical leadership for web enterprise development.
My latest projects have included Alexa Skills development, development and maintenace of large scale Java Enterprise application, social networking applications (mashup design and implementation--Twitter, Flickr, Facebook, YouTube APIs) for various high profile companies (Nike, Bank of America, Hyundai Canada, Hilton Hotels).
|
|
Special
Skills |
Programming
Java: J2EE, J2SE, J2ME, Network Application development (Socket
programming), Jasper reports
Python, including data analysis libraries and TensorFlow
GWT, AJAX, HTML/DHTML, JavaScript, Flex, AS3
Python
COM/COM+, MTS Development: Visual Basic, ASP/VBScript
Shell Scripting(ksh, csh, sh)
C/C++, Perl, tcl/tk
SQR
|
Operating
Systems
UNIX: Solaris, AIX, IRIX 6.5, HP-UX, SCO
Microsoft Windows: 7/8/10, Vista, XP, 2000, NT 4.0 (Server and Workstation),
95/98, 3.x, and MS-DOS
Macintosh: 7.5.x, OS X
Amazon Cloud Platform
Google App Engine
|
Various
Professional experience with Classic Structured Development
and Object Oriented Software Engineering methodologies
RDBMS: Oracle 8i/9i, DB2, MS SQL Server 2000, Sybase SQL Server,
PostgreSQL, MySQL, MS Access
Professional experience with FIX Protocol
Published writer: RESTful Java Web Services.
|
Professional
Experience |
|
January - Present 2019
Software Architect/Technical Lead
(Contract)
|
Alexa Skill Developer
- Designed and coded interactive Alexa Skill application. Application hosted in Amazon's Cloud Platforms.
|
|
January 2017 - April 2018 Technical Lead
(Contract)
|
Technical lead and senior developer for Ontario's online land registration system
- Designed and coded automated testing framework to test hundreds of queries running on WebSphere server using TopLink mapping technology running on Oracle DB
- Refactoring jUnit classes to fully test multi-tiered land registration system
- Coded new features and fixed bugs in multi-tiered Java system
|
|
2016
Software Architect/Technical Lead
(Contract)
|
Served as lead developer for interactive web project
- Designed and coded supporting web application for live art installation in downtown TO (Manulife social
marking campaign): GAE, Python, SMS messaging, JQuery, HTML5, Processing)
|
|
2015 Technical Lead
(Contract)
|
Technical lead of web application development project
- Served as technical director for implementation of 5 Air Canada microsites into Adobe's AEM content management system
- Gathered requirements and manage development team to complete implementation
|
|
2014
Software Architect/Technical Lead
(Contract)
|
Served as technical director for various web projects
- Managed development team (based in China) to enhance Magento shops for various Canadian retailers (Running Room)
- Implemented VISA Checkout payment option for Running Room's Magento ecommerce site
Tools used: Magento, PHP.
|
|
November 2012 - March 2013 Director of Technology
(Contract)
|
Director of technology for Capital C
- Managed development group (18 developers) while designing and implementing solutions for multiple brands (Nissan Canada, ScotiaBank, Doritos, Bissell)
- Formed part of the managing group helping to set technology strategy and implementing software development standards that work well with online agency creative procedures (code reviews, one click automated deployments, code repository migration to SVN)
- Formed part of main pitching team (meeting with high level account managers)
|
|
October 2012 - December 2012
Technical Consultant/Main Developer
(Contract)
|
Developed coupon redemption web system for Mazda's CX-5 Test Drive campaign
- Designed and developed coupon generator and redemption system used by Mazda dealers across Canada (French and English): web application generates PDF coupons to be emailed to customers upon dealer's request
- Application developed for Google App Engine, therefore highly available and extremely low cost
Tools used: Eclipse IDE, Python, Google App Engine.
|
|
October 2011 - November 2012 Technical Lead/Main developer
(Contract)
|
Main developer for highly interactive microsites developed for Nikon Canada.
- Served as main UX analyst, working closely with design team to launch Canadian (French and English) versions of Nikon D4 and D800 professional cameras: HTML5 French and English interactive microsites that work for desktop and tablets (iPad), including HTML5 video functionality
Tools used: Eclipse IDE, JQuery, SVN.
|
|
May 2011 - October 2011 Technical Consultant
(Contract)
|
Technical lead for autenticacuba.com's site redesign and optimization
- Served as main UX analyst and site performance analyst
- Worked with account team with strategy setting for future site enhancements
- Formed part of the main pitching team for new branding experience of Cuba account
|
|
Nov 2010 - May 2011 Manager, Project Engineering
(Full time)
|
Manager of Software Development and Project Engineering for Toronto's Organic Office. Also serving as technical architect for Toronto's client solutions (Bank of America, Nike Canada, Hyundai Canada, Hilton).
- Formed part of the executive group of the Toronto office that set strategy and direction for the company
- Played key role in pitch-work, attending high-level pitch meeting and giving technology directions and recommendations
- Designed and oversaw all software development within the Toronto office leading multifunctional groups (developers, designers, writers) across Canada and the US
|
|
Apr 2010 - Aug 2010 Software Engineer/Contractor
(Contract)
|
Designed and implemented online registration system.
- Designed and developed registration system using GWT--complete solution includes a MySQL database system and complete online payment integration with Internet Secure payment platform.
Tools used: Eclipse IDE, MySQL, Java 6, GWT with SmartGWT API, PHP, SVN.
|
|
Dec 2009 - Mar 2010 Technical Architect
(Contract)
|
Application architect for Nike Canada's World Junior Championship 2010, and Team Canada (Olympics Hockey 2010) site reveal efforts.
- Lead architect for the implementation of 3 different Nike.com sites (niketraining.ca; World Juniors 2010--Twitter, YouTube, and Flickr mashup; third under development)
- Coded backend interaction for Flash UIs in JBoss's server (JSP development); maintained and enhance Flash AS3 code line
- Thoroughly familiar with Nike's internal web site architecture and proprietary publishing system (deployed application and static content daily)
|
Kitchener, Ontario |
Feb 2009 - Nov 2009
|
Wrote RESTful Java Web Services book (published in November 2009).
- This is a developers' title: the book covers REST theory and practical Java coding samples with the following RESTful frameworks: Jersey, Restlet, RESTEasy, and Struts 2.
|
Concurrent
development projects |
Jul 2008 - Feb 2009
Director, Project Engineering (Contract) |
Technical lead and application architect for Bank of America's InfoCenter web site. (Sept 2008 - Jan 2009 )
- Designed complete application architecture of highly interactive information distribution center: application consists
of custom CMS to upload Flash movies, Flash interactive demos, PDFs, and HTML pages (infocenter.bankofamerica.com).
- Designed and developed Java backend services to interact with Flash components: rating system and emailing system.
- Planned and managed full development process.
Technical Lead for re-skinning of Bank of America microsite based on Ektron CMS. (Dec 2008)
- Managed development process; liased with third party vendor to successfully integrate changes into live cluster (note: this was a purely
tech-lead project, while managing larger project described above).
Technical Lead of maintenance group for Bank of America's America's
Cheer website for the 2008 Olympic Games. (Jul - Aug)
- Managed on-going maintenance and feature implementation of
social networking site: website and applications included blogging
application, Facebook, YouTube, and Flickr integration.
- Managed, planned, implemented, and successfully launched exit
phase for America's Cheer Olympic Games website (americascheer.com).
Tools used: Eclipse IDE, MySQL, Java 6, iBatis, SVN.
Notes: team was spread across the US and Canada; helped Organic with interviewing process of senior developers for ongoing projects. |
Oct 2007 - Feb 2009
Senior Software Engineer/Contractor (Contract) |
Designed and implemented Java
desktop system: highly interactive Equestrian Management System
developd using Java architecture, with Swing/JFC GUI, and
MySQL backend.
- System development includes architecural design and overall
implementation of core system and new features.
- Designed and coded system for optimum maintenance and
extendability, using MVC and other software architectural patterns.
- System is currently being used in the US and Canada, managing
thousands of entries per show and keeping records for accurate
accounting practices.
- System was used to manage horse show in the November 2008 The Royal Agricultural Winter Fair.
Tools used: NetBeans 6.x IDE, MySQL, Java 6, JasperReports, SVN. |
Jun 2008 - July 2008
Senior Software Engineer/Contractor (Contract) |
Designed and developed extendable multi-user web application to support engineering
work flow system for industrial fan manufacturer. System includes user management systems and aerodynamic performance graphing tool for on-the-fly PDF report generation.
Tools used: Eclipse, Struts, MySQL, Java 6, JasperReports. |
MBA,
Wilfrid Laurier University - Waterloo, Ontario |
Mar 2007 - Aug 2007
Sabbatical (MBA) |
Completed MBA (concentration in Operations/Technology
Management) at Wilfrid Laurier University, Waterloo, Ontario.
- Areas of study included Operations Management, specializing in
Technology and Innovation Management, Strategic Management, Marketing,
and Investment Management (portfolio management).
|
|
Apr 2007 - Jun 2007
Senior Software Engineer/Contractor (Contract) |
Software Developer/Engineer
designing and implementing Java Enterprise applications, using google's
GWT and JEE backend (AJAX, Servlets, EJBs), and Eclipse RCP framework.
- Designed and implemented extendable Eclipse RCP application to search and display medical records stored in Mednet's proprietory
secure protocols: application support secure chat component and multiple record views.
Tools used: Eclipse IDE, JEE, Instantiations's RCP Developer for Eclipse.
- Designed and implemented highly interactive web application
consisting of user registration system and full shopping
cart application (GUI design and implementation).
Tools used: Eclipse IDE, JEE, J2SE 1.4/1.5, JBoss, google's
GWT, Instantiations GWT Designer. |
|
Aug 2004 - Feb 2007
Senior Software Engineer/Contractor (Contract) |
Worked as Software Engineer
with Professional Services team customizing and adding new functionality
to flagship online banking systems, including Financial Fusion Banking
Suite and Financial Fusion Capital Markets Suite (SWIFT/FIX protocol
implementation).
- Software Developer for TradeForce
SWIFTNet FIX Hub: assignment included maintenance and implementation
of new features and enhancements of Financial Fusion's Hub architecture,
FIX Connector (C++ client serving as bridge between SWIFTNet
Link and TCP/IP FIX Engine), and GFIXLite trading web application.
SWIFTNet and GlobalFIX are the P2P (peer to peer) infrastructure
of secured trade-related messages for banks, broker-dealers,
exchanges, industry utilities and associations, institutional
investors, and information technology providers from around
the world.
- Completed coding of multi-branding project (from existing
design document and in group of 3). I.e. Online banking system
is now capable of assigning a brand to new enrolled customers;
The end user's experience is customized depending on bank brand.
Coding included JSP and every logical layer in a J2EE architecture.
- Detail designed and implemented per item approval of business
and accounts modification for deployed U.S. commercial banking
system: designed Web User Interface using JSP, custom tags,
JavaScript, and DHTML; developed components of every logical
layer in a J2EE architecture adhering to existing framework
- Detail designed and implemented new feature for existing Global
Messaging system: new feature included changes of core J2EE
framework and full integration with deployed U.S.
banking system - Implemented same feature to core product,
assuring proper thread safety programming and using the JavaMail
API for external message delivery
- Worked with Sybase in-house engineering team in general maintenance
of flagship product
- Worked with U.S. team in general maintenance of client's deployed
system: J2EE development and team member in whole development
process
Tools used: Eclipse IDE, J2EE 1.3, J2SE 1.3/1.4, Oracle 8i,
DB2, WepsSphere 5.1, P4 Perforce repository system |
|
Mar 2004 - Jul 2004
Programmer Analyst/Contractor (Contract) |
Programmer Analyst working
with BMO's and Telus' in-house development team to convert existing
BMO InvestorLine Tango
web application to the WebSphere 5.1 platform (BMO InvestorLine
is rated as one of the best online investor sites in Canada)
- Developed web tier of Investing section using the Java programming
language, following in-house development standards and completing
the work under a really tight schedule while working within
a large team - Sections completed included the following transactional
products: Mutual Funds, Foreign Exchange, GICs, Equities, Fixed
Income Products, Potential Stops Manager
- Implemented the MVC design pattern using Struts v1.1 for the
web tier and EJB 2.0 for the business tier (Tools: WebSphere
Studio 5.1, J2EE 1.3, Struts v1.1, Oracle8i, Tango)
- Communicated with development team through extensive use of
UML
|
|
Jan 2004 - Feb 2004
Technical Developer/Contractor (Contract) |
Senior Software Engineer
acting as main Brio consultant to analyze, design and implement
reporting Brio portal application and integration with existing
WebSphere 5.1 portal application.
- Designed and implemented executive dashboard (Sub portal application)
- UI development and Brio Portal v7 customization: configuration
of 2 different sets UIs and implementation of single sign on
integration with Novell's iChain directory services
- Integrated Brio Portal application with existing WebSphere
5.1 portal application
- Mentored United Airlines's software developers to maintain
and expand Brio portal
|
|
Dec 2003 Senior
Software Developer/Contractor (Contract) |
Working with a Premier
Partner (a Hyperion solution provider company located in the U.S.)
building tools for the Brio8 Performance suite. Tools are being
deployed in the following sites: Toyota Motor Sales, Inc (Long Beach,
CA) - Brio is now part of Hyperion.
- Designed and implemented (from specifications) Brio repository
replication framework using the Brio8 SDK APIs. Framework replicates
all Brio objects from one repository to any other repository:
Users, Categories, Groups, Roles, etc.
- The framework is being developed to be sold as commercial
product and you can buy it from 1
Answer Solutions Inc. (Tools: Brio8 Performance suite and
SDK APIs, MS SQL Server 2000, Oracle8i, J2EE, JBuilder9, JSP)
|
|
Dec 2002 - Dec 2003
Technical Developer/Contractor (Contract)
|
Senior Software Engineer
developing Java Applications and SQR Reporting applications supporting
Data Warehousing project.
- Designed and implemented security patch for Brio Portal application:
Java Servlet allows users to get static files reports (Brio
Dashboards) securely via Brio Portal (Tools: JBuilder 9, Brio
Portal, iPlanet 4.x, Oracle8i with JDBC, Java I/O and Servlet
API)
- Designed and implemented TCP/IP Client and Server Java application
to harvest Brio services logs. Application is scheduled to run
daily and is executed remotely via TCP messages - Application
is driven by properties files managed through Web interface
(Struts driven) (Tools: Together J 6.0, iPlanet Enterprise Server,
Oracle 8i, Brio scheduler)
- Designed and implemented PDF batch report generator: Java
console application is scheduled to run through Brio scheduler
Portal interface (Tools: Together J 6.0, Oracle 8i, Brio scheduler,
SQR report generator)
- Customized front end for Brio Portal as part of Data Warehousing
project: Java Applet and Servlet using Brio's APIs (Tools: Brio
Software Solution Suite, iPlanet Enterprise Server, JBuilder
6.0, SQL Server 2000)
- Team lead for SQR reporting project: Analysis, design and
coding of SQR bilingual reports (Tools: Brio Report Builder,
Oracle 8i)
- Team lead for Brio Architecture performance project: Lead
Analyst of Brio Architecture (Brio Portal, On Demand Server)
to increase delivery of reports via Web Portal. Achieved performance
increase of 50% across the board, through Application Servers
fine tuning (Tools: Brio Application Servers, Oracle 8i) Duration
of project: (9 weeks - July to August 2003)
|
|
Sept 2003
Senior Software Engineer/Contractor (Contract) |
Contracted to streamline
and optimize distribution of existing Brio Dashboards within
Enbridge Portal application.
- Designed and implemented solution to stream line Intranet
report distribution: Automated report generation of all employees
to be distributed through company Portal - Improved report delivery
performance by more than 300% (Tools: Brio On Demand Server,
Oracle9i, PlumTree Portal, Brio Intelligence Designer, VB scripting)
|
|
May 2002 - Jun
2002 Senior Software Engineer/Contractor (Contract) |
- Designed and developed proof of concept J2ME
application: prototype runs on i85s Motorola Java enabled
phone connected to serial interface to gather information and
then connect wirelessly to J2EE server and store the data in
a PostgreSQL database (Tools: Forte For Java 4.0 ME, Visual
Age for Java)
|
|
Sept 2001 - Nov
2002 Senior Software Engineer/Contractor (Contract) |
Principal Software Engineer
analyzing, designing and implementing high volume project tracker
system (www.boomitup.com).
- OO Design of custom web system - Design phase included writing
of functional specification from story-boards supplied by client,
creation of Entity Relationship Diagram, Class/Sequence Diagrams,
and recommendation of technology (Low cost, and scaleable flexible
design were key). Tools used: Together J 5.0
- Designed and developed entire system (from the ground up)
using J2EE technology implementing MVC design pattern with the
aid of Struts, an Open Source framework. Technology used: JSP/JavaScript,
Servlets, custom tag libraries, JavaBeans and JDBC connecting
to PostgreSQL DBMS (IDE: Visual Age for Java, Together J)
- Delivered fully functional and fully tested web application.
System consisted of: task management section; contact and user
profile manager; budget manager, including payment issuing/payment
history, and bidding process; scheduling, including Gant chart
generated dynamically using Java 2D API; dynamic PDF reporting
using iText APIs; and form/document repository with the ability
to email from within the application using Java Mail APIs
|
|
Mar 2001 - Sept
2001 Lead Developer (Full
time) |
Lead Developer (promoted
to Director of Software Development) in charge of Software Development
of task oriented simulation software. I was also in charged of providing
Technology direction for the company: Implementing Development Methodologies,
Development Standards.
- Designed simulation engine to assess prospect's ability of
task completion and accuracy (OOD). Technology used: J2EE mainly
JavaBeans, JSP, Servlets and JDBC (IDE: Visual Age for Java)
- Designed and implemented multi platform Java 1.1 AWT Applet.
Application simulated a desktop application suite consisting
of: email client, word processor and library repository - Small
size signature, easy of use and expandability were key�
- Designed Entity Relationship Diagram for the application (MySQL)
- Wrote functional specification documents for secure Customer
Administration site (Simulation assignation and reporting) and
Candidate site (Tutorial and simulation site) - Technology used:
JSP, JavaBeans and HTML/JavaScript
- Served as technical leader and project manager successfully
delivering fully functional application on a tight schedule
(Tools used: MS Project 2000 for tracking purposes)
|
|
Mar 1999 - Feb
2001 Senior Software Engineer/Team Leader (Full
time) |
Senior Software Engineer leading Software Developer teams to
build Enterprise web application supporting the company's flagship
product.
- Team Lead for web development group (6 members): 3 web developers,
1 Senior Software Engineer, 2 graphic designers.
- As technical lead for the web development group the following
was accomplished:
- Successfully built www.epod.com site, partner.epod.com(SSL)
and member.epod.com (10 Weeks). In charge of scheduling
Developers time, co-ordination with QA resources (3 members),
deployed 3 sites in co-ordination with the Operations department
(2 members)
- Delivered fully functional/fully tested web sites (3 sites),
where partner.epod.com and member.epod.com are a full suite
of web application, including reporting tools, and web management
tools - Scalable design and easy of use were key - Technology
used: IIS 4.0/MTS/SQL Server/ASP/JavaScript
- Introduced/Implemented Software Engineering Methodologies
and Processes to the company's site building strategy, including:
proper application analysis, proper source repository use,
Web Development standards (naming convention, coding conventions,
directory tree conventions).
- Introduced and successfully implemented Waterfall Methodology
for Web Application deployment
- Mentoring of junior developers
- Wrote and implemented Detail Software specifications for Web
Applications (to name a few):
- On-line Reporting tool (version 1.0 and 2.0)
- Web management content tool (web publishing)
- On-line support form
- On-line resume submission with file attachment
- 5 different member sign up processes
- Affiliate Network sign up integration (bFree)
- Member Approval/Rejection process
- Secure session partner.epod.com site (HTTPS/DB driven)
- Reverse Member Look Up (VB COM component/ASP/SQL Server)
- File Upload repository for Flash web content management
tool
- Debug/Fixed Java applet classes
- Optimized and "obfuscated" (make unreadable once de-compiled)
Java classes for small download memory signature on different
families of web browsers
- Researched and Implemented HTTPS (Secure Socket Layer on IIS)
for Secure Web Site: partner.epod.com
- Integrated proprietorship web software with commercial e-commerce
solutions
- Effective technical interviewer of prospect developer/engineers
|
|
Jun 1998 - Dec
1998 Internet Systems Analyst (Contract) |
System Analyst and Software developer in charge of Y2K compliance
of On-line publishing system of the Toronto Start Newspaper (Electronic
version) and Deployment of v2.0 of Classifieds on-line system.
- Designed, Developed, and Deployed Web based UI Classifieds
system (v2.0). Used JHTML (ATG Dynamo Java server component)
for the UI and Oracle 8i as the back end.
- Analyzed The Toronto Star Electronic Newspaper publishing
system (Web based system using CGI scripts) to establish Y2K
compliance - System analysis of IRIX based systems.
- Installed (from the ground up) and maintained SGI UNIX (IRIX)
testing/development network - Experienced with IRIX 6.5, Netscape
Enterprise Server 3.5.1, Perl 5.0, tcl/tk scripting, ksh.
- Worked closely with web administrator to deploy and functional
test NetGravity Add management system 3.5.
- Developed test strategy (from the ground up) to assure Y2K
compliance for publishing system and Ad manager (Netgravity).
- Developed/Maintained Y2K Intranet Server Site - Automated
testing environment, and defect reporting system (CGI Programming).
- Developed and deployed defect reporting tool - Web Server
dynamically serving MS Access database connections.
- Coordinated and guided testing team
- Coordinated programming schedule and fixed Y2K issues found
during testing (CGI and Perl/tcl programming)
|
|
Nov 1997 - Jun
1998 Software Developer (Full
time) |
Software Developer.
- Developed and Refined UI Java front end of 3 tier application
(SQL Server, Power Builder Back end, Java Front end) - Tools
used: Symantec Caf� 2.5, SQL Server, Power Builder.
- Programmed Java testing tools - Multithreaded applet to test
load resources on Netscape Enterprise Server
- Developed Web/Database UI using RAD tool (Tango connecting
to SQL Server)
- Developed/Maintained QA Department Web Site - Database Integration
of defect tracking system over the Internet (Netscape Enterprise
Server, SQL Server)
- Developed and Designed installations for software packages
using IstallShield: for power Builder applications and Java
applets.
- Secondary role in the design and coding of custom demo software
for legacy system integration using SilverStream Java development
environment.
- Played key role in establishing Software Development process
- Mainly Quality Assurance Process
- Evaluated and recommended development tools: ShowBase, PVCS,
Tango, OO Methodology tools - CGPro
|
|
Dec 1996 - Sept
1997 Tester/Business Analyst (Contract) |
Business Analyst/Software quality Assurance of financial application
(DiamondView Team.)
- SQA Automated Testing
- Regression testing
|
|
Jun 1996 - Dec
1996 Quality Assurance Specialist/QA Lead (Full
time) |
Lead Quality Assurance specialist of flagship products: Tango
and Bolero web analyzer (Company bought by Pervasive Software.)
- Served as Technical Lead of Quality Assurance of Web development
tools
- Developed and maintained QA intranet site
- Managed Beta program
|
|
May 1995 - Dec
1995 Software Testing Engineer (Contract) |
Contract Software Testing
Engineer.
- Programmed automated testing tools using: C, tcl/tk, and
shell scripting languages
- System Maintenance and System administration of Testing Machines
(HP-UX 9.x)
- HTML programmer: Maintained QA Group intranet site(Developed
CGI interface to generate on the fly status reports)
- Quality Assurance of UNIX Servers and Network monitor application
- Managed Beta program - Served as technical contact for local
high-tech companies participating in beta program (MKS, OpenText,
Mitra, University of Waterloo)
|
Sept - Dec 1994
Jan - Apr 1994 Software Testing Engineer (Co-op) |
Co-op Software Testing
Engineer.
- Quality Assurance of UNIX Servers and Network monitor application
- Played key role in beta program: visiting and setting HP
equipment at every site (trouble shooting)
- ROM testing - Wrote and executed detailed test plan to verify
proper hardware and software functionality
|
|