Objective

Senior Software Developer/Software Architect, with international development experience in the banking, insurance, consultancy, gaming, and telecommunications sectors, seeking a leadership position with an established, growing company.

Summary of Experience

Summary of Skills

Languages:
C/C++, SQL, make, csh/sh, PHP, HTML, CSS, Java, Perl, JavaScript, MFC, Win32 API, Visual Basic, Fortran, COBOL, CAP, nqs, rexx
Software:
gcc, gdb, gprof, cvs, pvcs, svn, make, purify, insure++, sunpkg, bugzilla, MSVC/MF, Fusion, expect, daemontools, djbdns, ucspi-tcp, pthreads, gdbm, cvm
Databases:
MySQL, PostgreSQL, Sybase, Oracle, DB2
Systems:
SunOS/Solaris, *nix (linux, IRIX, HP-UX, *BSD), Win32 (3.1/NT/2k), OS/2, Mac OS 8/9/X, CICS, TSO, IMS, NOS, COS
Networking:
TCP/IP, qmail, HTTP (Apache,publicfile), FTP, DNS (bind/djbdns), Samba, Exim, Postfix, ODBC, DHCP, SSH, SSL/TLS, RADIUS

Detailed Work Experience

  • Data and Security Architect
  • Tempestone Inc.
  • Sep 2005 - present
  • Toronto, Canada

Providing data (storage, access, design) and security (rest, transit, policy) architecture consultation for a disruptive player (Ethoca) in the financial services market.

Skills:
distributed/redundant design, optimization, debugging, package management, enterprise servers, open source, traffic analysis, network security, configuration management, internet development, data security, storage and database design
Technical:
C/C++, csh/sh, Perl, python, *nix (linux, *BSD), TCP/IP, SQL, DB2
  • Open Source Consultant
  • Tempestone Inc.
  • Mar 2004 - Sep 2005
  • Toronto, Canada

Working with a partner company in the U.S. (DRH Internet), we are providing open source consulting services, largely geared towards small- to medium-sized service providers in a number of industries, with a focus on email server design, deployment, and maintenance. The guidance I provide clients helps them to make informed decisions and better understand development strategies (and technologies). Atypical of many consultancy relationships, I work on fostering long-term business relationships by establishing trust and reliability early in the architecting process and throughout the development stages.

Skills:
distributed/redundant design, optimization, debugging, package management, enterprise servers, open source, traffic analysis, network security, configuration management, internet development
Technical:
C/C++, gcc, gdb, gprof, make, csh/sh, Perl, *nix (linux, IRIX, HP-UX, *BSD), Mac OS 9/X, TCP/IP, strace, tcpdump, qmail, HTTP (Apache,publicfile), DNS (bind/djbdns), SSH, SSL/TLS, iptables, pthreads, gdbm, SQL, MySQL, cvs, PHP, HTML, CSS, JavaScript
  • Software Architect
  • Tempestone Inc.
  • Dec 2002 - Mar 2004
  • Toronto, Canada

Designing and developing web-based 3-tier applications in niche markets, helping small businesses increase exposure and optimize existing business processes. The guidance I provide my clients allows them to make informed decisions and better understand development strategies (and technologies). Atypical of many consultancy relationships, I advocate long-term business (though not necessarily financial) relationships by establishing trust and reliability early in the architecting process.

Technical:
SQL, make, csh/sh, PHP, HTML, CSS, Perl, JavaScript, cvs, *nix (linux, IRIX, HP-UX, *BSD), Win32 (NT/2k/XP), Mac OS 9/X, MySQL, TCP/IP, qmail, HTTP (Apache,publicfile), DNS (bind/djbdns), SSH, SSL/TLS
  • Open Source Software Consultant
  • Personal
  • Feb 2002 - present
  • Toronto, Canada

Actively contributing to various public/free/open source projects, including a popular mail user agent, a highly respected and secure mail transfer agent, cryptography tools, digital camera file converters, and a well-known database server. I am actively involved in these projects and am presently designing and implementing a new mechanism for decentralized cryptographic key distribution.

Through my efforts, I hope to promote more reliable & secure software, by keeping it open and free.

Technical:
C/C++, SQL, make, csh/sh, PHP, HTML, CSS, Perl, JavaScript, gcc, gdb, gprof, cvs, make, daemontools, djbdns, ucspi-tcp, pthreads, *nix (linux, IRIX, HP-UX, *BSD), Mac OS X, MySQL, gdbm, TCP/IP, qmail, HTTP (Apache,publicfile), DNS (bind/djbdns), SSH, SSL/TLS
  • Software Architecture Consultant
  • livedoor Inc.
  • Sep 2000 - Nov 2002
  • Toronto, Canada
  • Tokyo, Japan

Continued system refinement of existing architecture, designed by me, working remotely and autonomously from Canada. Supervised and provided direction to Canada-based team, reporting directly to the Chief Technology Officer and President of livedoor, Inc. Provided advice on budget constraints as they pertained to tool selection, contract management with support companies, and hiring of new contractors. Responsible for new ideas in promoting business growth and system stability, reliability, & efficiency. Designed and implemented new mail architecture, software & system upgrades, and database changes, providing high-level documents for senior management describing possible migration paths and contingency plans. Acted as mentor and advisor for employees in Canada & Japan in the areas of technical direction, database structure & design, testing methods, and technology awareness. Designed and developed new system optimizations, increasing transaction throughput and increasing system tracking reliability.

Through my involvement & encouragement, the company sponsored the contribution of software modifications to the open source community, improving their reputation in the field. My leadership fostered a good working environment and excellent relations between the Canadian and Japanese teams. Through our professional relationships, a congenial atmosphere of cultural exchange was established and promoted. The stability and strength of the system design improved the company's reputation, whereby they were ranked third in the country for reliability. By providing results which exceeded expectations under tight time constraints, the company was able to create strategic partnerships earlier than competitors.

Skills:
distributed/redundant design, optimization, debugging, multi-threaded (POSIX) development, database design, package management, enterprise servers, network access storage, configuration management, internet development, team leadership
Technical:
C/C++, SQL, make, csh/sh, PHP, HTML, Java, Perl, Win32 API, gcc, gdb, gprof, cvs, make, purify, insure++, sunpkg, bugzilla, daemontools, djbdns, ucspi-tcp, pthreads, SunOS/Solaris, *nix (linux, *BSD), Win32, Mac OS 9, MySQL, TCP/IP, qmail, FTP, DNS (bind/djbdns), SSH, SSL/TLS, RADIUS, Sun Enterprise, NetApp, Ascend, Cisco
  • Software Architect
  • X-Stream Technologies Inc.
  • Feb 1999 - Sep 2000
  • Toronto, Canada
  • London, England

Designed system to implement a proposed, high-level business architecture document and made considerable changes & recommendations to that document for use in final technical architecture. Reported directly to the Chief Technology Officer and was responsible for final decisions on hardware & software selection and technical design, including database administration. Designed and implemented: database model, refining it through a combination of peer review and customer feedback; transaction-based server system and related network communications protocol & library, supporting thousands of transactions per second. Advised, supervised, co-ordinated, and provided direction to team in deployment strategy of all critical software applications, including database population, in seven countries across Europe and Asia. Acted as mentor, supervisor, and advisor for several employees, providing high-level design, technical pointers, and guidance throughout life of projects.

By refining original business architecture, ensured project scope was limited, and therefore achievable in the timelines provided. By advising junior staff on new technology developments, they were better equipped to choose appropriate tools for the various tasks delegated to them; in return, the company had more knowledgeable & reliable employees, who were, in turn, more satisfied with their roles.

Skills:
distributed design, optimization, debugging, multi-threaded (POSIX) development, database design, package management, enterprise servers, network access storage, configuration management, network security, internet development, software selection, team leadership, load balancing
Technical:
C/C++, SQL, make, csh/sh, PHP, HTML, Java, Perl, Win32 API, gcc, gdb, gprof, cvs, make, purify, insure++, sunpkg, bugzilla, daemontools, djbdns, ucspi-tcp, pthreads, SunOS/Solaris, *nix (linux, *BSD), Win32, Mac OS 9, MySQL, Oracle, TCP/IP, qmail, FTP, DNS (bind/djbdns), SSH, SSL/TLS, RADIUS, Sun Enterprise, NetApp, Ascend, Cisco
  • Senior Software Developer
  • Dreamplay Research Corporation
  • Dec 1997 - Dec 1998
  • Toronto, Canada

Introduced source control management system and core configuration management policies. Substantially rewrote core network & application libraries for multi-threaded stability, general correctness, and optimization. Independently designed and implemented: innovative server monitoring software for use in all critical server-side applications; development tools to ensure safe & correct test/production environments; scripts for the reliable deployment of production-ready packages; credit-card-based transaction server for all financial operations. Conducted comprehensive, thorough, long-term client tests, to check statistical correctness of algorithms. Contributed significantly to existing database design modifications. Wrote HTML report generation tools (in C) to ensure accounting correctness of software, based on business specifications.

Dreamplay's reputation was directly associated with the stability and reliability of its software; by introducing configuration management policies and providing thorough analysis of existing libraries, its reputation was significantly improved.

Skills:
distributed design, optimization, debugging, multi-threaded (POSIX) development, package management, enterprise servers, network access storage, configuration management, network security, internet development, software selection
Technical:
C/C++, SQL, make, csh/sh, HTML, Java, Perl, gcc, gdb, gprof, cvs, make, purify, pthreads, SunOS/Solaris, Win32, Sybase, TCP/IP, qmail, FTP, SSH, Sun Enterprise
  • Senior Software Consultant
  • Netron Inc.
  • Sep 1994 - Dec 1997
  • Toronto, Canada

At major banking & insurance institutions in four countries (Norway, Sweden, USA, Canada), was responsible for leading, investigating, proving, designing, and creating technical architectures for complex enterprise client-server systems, using a variety of languages (COBOL, Java, C++, etc.) within multiple environments (NT, IMS, CICS, TSO, Unix, etc.). Introduced new configuration management techniques, including sophisticated build environment and new source revision management system. Aided team to develop "first-pass" tools, generating interfaces for customer service & administrators to manage data in arbitrary databases. Provided technical training on adopted development object-oriented COBOL-based "frame" technology and associated development tools. Lead teams on architecture redesign projects, mentored and supervised, while co-ordinating development efforts to meet tight deadlines. Promoted several times throughout employment, with increasing responsibilities & autonomy.

My team involvement in leading edge projects led to Netron's development of internet applications and the creation of new Java frameworks. Positive relationships were established between head office and overseas partners through efficient communication, a strong work ethic, and teamwork. My introduction of intuitive, easy-to-use source management tools resulted in more efficiency in the research & development department. A more secure, stable working environment was the direct result of advice I provided on internal network procedures, protocols, and policies. By quickly discovering application errors, new optimizations, and redundancies, Netron's reputation as a leader in its field was reinforced.

Skills:
distributed design, optimization, debugging, multi-threaded (POSIX) development, enterprise servers, legacy systems, systems integration, configuration management, network security, internet development, software selection, team leadership
Technical:
C/C++, SQL, make, HTML, Java, Perl, MFC, Win32 API, Visual Basic, COBOL, CAP, rexx, cvs, pvcs, MSVC/MF, Fusion, *nix (linux, IRIX, HP-UX, *BSD), Win32 , OS/2, CICS, TSO, IMS, DB2, TCP/IP, ODBC
  • Software Consultant
  • Environment Canada
  • Oct 1993 - Jan 1994
  • Toronto, Canada

Converted various computer model applications between specific hardware platforms, operating systems, and programming languages, often requiring full analysis of the modules: the source system was a Cray supercomputer running COS, with the applications written in FORTRAN; the target system was a HP9000 workstation running HP-UX, with the applications rewritten in C as a single application with multiple module support. Met weekly with supervisor to provide documented status reports and discuss outstanding issues and gather test data. Test cases were written to ensure the new modules produced results matching those of the FORTRAN modules. Statistical analysis reports were also provided, comparing empirical test data and output of the new application.

Through my efforts, a single application was developed, allowing scientists to efficiently conduct studies using multiple modelling techniques.

  • System Analyst
  • Environment Canada
  • May 1993 - Aug 1993
  • Toronto, Canada

Provided written proposal for new revision management system for source control. Followed this effort with the deployment of such a system, promptly responding to my supervisor's requests. Weekly meetings were conducted to address issues and answer questions raised by my supervisor and developers. Assisted developers in application development, in C, on X Windows applications, focusing on program correctness and potential pitfalls in programming techniques.

My efforts in the area of configuration management increased development efficiency, made collaboration easier, and generally improved team morale. My supervisor earned additional respect by managing these efforts and introducing these ideas to other departments.

  • Software Developer
  • Environment Canada
  • Sep 1992 - Dec 1992
  • Toronto, Canada

Provided an initial high-level design of a multi-lingual application & interface for extracting weather station data from various sources, as provided in a short business specification. Approval and refinement, through recommended changes, of the design was followed by an implementation, in C. Met with supervisor weekly to provide documented updates of progress and discuss ongoing issues.

My ability to quickly bring a project from design to implementation, allowed Environment Canada to test new information deployment strategies, providing insight into possible future solutions. By citing various sources for new technology efforts, my employer was able to rely on me to stay abreast of developments in the industry.

  • Research Assistant
  • Environment Canada
  • Jan 1990 - Apr 1992
  • Toronto, Canada

Provided system analysis of code module extracted from large-scale pollutant computer model. Ported code module, written in FORTRAN, to an MS-DOS environment, from a Cray supercomputer. Implemented test cases to ensure extraction of module matched previously computed values of existing model; test cases were run in batch using MS-DOS scripting language. Used debugging techniques to find and remove errors found. Provided weekly updates documenting progress, new findings, statistical analysis, and potential future issues. Used mathematical background to find potential errors in existing formulations and make recommendations for future statistical analysis. Met with field research scientists regularly to discuss experimental techniques, data analysis and to learn about the science associated with the computer model. Established collaborative relationships with other student workers to validate results.

Employer received timely and accurate information, as well as competent and skilled mathematical & computer advice. New ideas and initiatives to augment programming modules were well received and encouraged; this led to greater efficiency in validating the employer's own ideas about the science. Our collaborative efforts provided a strong, positive working environment that resulted in over ten published papers (throughout four student work terms), contributing significantly to environmental science. Discovery of a mathematical error found in a widely referenced formula within the existing literature; inclusion of corresponding correction in a respected environmental journal.

Publications

Personal

References

References available upon request.