Ruben Bartelink

Personal Information

n     Address:.......................... 54 Milltown Hall, Mt St Annes, Milltown, Dublin 6.

n     Telephone....................... +353 86 885 2399 (Mobile); +353 1 2 606 909 (Home)

n     e-mail................................ ruben@bartelink.com

Objective

To secure a system architect, technical lead or other senior development contract, leveraging my skills and experience in full project lifecycle OOA, OOD, development and deployment of Financial Systems.  Areas I have particularly strong expertise in are: UML, C++, Microsoft. NET, C#, relational databases, secure web-based systems, insurance systems, XML, [D]COM, STL, ATL.

Summary of qualifications

n     Bainbench - multiple master-level certificates (2001)

n     MCDBA - Microsoft Certified Database Administrator (2000)

n     MCSE - Microsoft Certified Systems Engineer (1998)

n     MCSD - Microsoft Certified Solutions Developer (1997)

n     BSc In Software Engineering with First Class Honours (1996)

Personal Skills

Self motivating; A fast learner; Flexible; Committed; Creative; I work well alone or as part of a team; I am eager to learn new skills, increase my knowledge and remain technically focused; I can communicate my knowledge well to other team members and enjoy taking a mentoring role.

Technical Skills

n     15 Years C programming experience on Windows NT, Windows 3.1, DOS and unix

n     12 Years C++ programming experience on Windows 2000/NT/3.1, unix and DOS

n     9 Years Object Oriented Analysis & Design / UML experience mainly with Rational Rose

n     8 years Visual C++ and MFC experience from 2.0 – 4.23 (6.0)

n     7 Years SQL experience on Oracle 8/9, MS SQL Server 6/6.5/7/2000, Sybase 10/11/ASE

n     7 Years Visual Basic experience (3.0-6.0, .NET)

n     5 Years OLE/Automation/ActiveX/COM/COM+/ATL experience

n     5 years performance optimisation, load testing & stability enhancement (Rational, NuMega, etc.)

n     >1 Year Microsoft .NET / C# / Managed C++ experience

n     >1 Year Java/J2EE experience

Languages (in order of experience)

C++, C (Borland 3-5 & Builder 4, Visual 1-.NET 2003, Sun Forte 5-6, Watcom 6.5), C#(2002, 2003), Assembler (x86, 68k), Visual Basic (3-6, .NET), PASCAL (Turbo 3-6, etc.), Java (1.2, 1.4), Modula‑2, COBOL, RPG II, dBASE, LOGO, PCL, PROLOG

Scripting Languages

SQL (Oracle, Transact-SQL), BASIC (GW, Turbo, Quick, Visual 3-6, ScriptBasic, .NET), UNIX command shells (sh/csh/bash), make, J[ava]Script, NT Command shell, InstallScript, VBScript, VBA, HTML

Design Methodologies

OOD/UML (Rational Rose, Visual Modeller), Design Patterns, Rumbaugh (Select OMT), JSP (ABC Flowcharter), Database Design (Visio, ER/WIN)

Database Servers

Microsoft SQL Server (6.5, 7.0, 2000), Sybase 11/ASE, Access 2-7, Btrieve

Internet Architecture

IIS (4/5/6), ASP.NET, Web Services, XML, ASP, Apache Server, Apache JMeter, Caucho / Resin, Public Key Infrastructure (PKI)

Distributed Systems

DCOM/COM, Web Services, sockets, MSMQ, MQSeries, RPC, TCP/IP, IPX/SPX

Operating Systems

Windows (2003/XP/2000/NT; 95/8; 3/3.1), Linux, Solaris, DOS, AIX, VMS, CP/M

Database Access

ADO.NET, ODBC, OLE DB, ADO, RogueWave dbTools.h++, JDBC

Libraries Used

Microsoft .NET BCL, ATL, STL, MFC, Regular Expressions, RogueWave SourcePro, tools.h++, OWL (2.5-5), Apache Struts, Xerces (Apache XML Parser), SpiderMonkey (Mozilla JavaScript interpreter), NSPR, Microsoft Internet Financial Systems Toolkit (MIFST), Stingray Objective Toolkit & Grid

Education & Certification

Brainbench Technical Certification Courses (Transcript ID 2326124)

 (See http://www.brainbench.com/transcript.jsp?pid=2326124)

Baltimore Systems Courses

1999: Public Key Infrastucture (PKI) Introduction / PKI-Plus Development

DST Systems Courses

1999: AWD Introduction / Administration / Development / Performance Tuning

Microsoft Certification Courses

2000: Microsoft Certified Database Administrator

Core

SQL Server 7 Des/Impl, SQL 7 Sys Admin, NT Server, NT Enterprise

Electives

TCP/IP

1998: Microsoft Certified System Engineer

Core

NT Workstation NT Server NT Enterprise, Networking Essentials

Electives

TCP/IP

1997: Microsoft Certified Solution Developer

Core

Windows Architecture I, Windows Architecture II

Electives

MFC, SQL Server 6.5 Design & Implementation

Sybase Certification Courses

1996: Sybase/Powersoft FastTrack to SQL Server

Institute of Technology, Carlow (1992-1996)

1996: BSc in Software Engineering (Result: First Class Honours)

89:

Project

70-79:

AI, Graphics, Networking & OSs, Project, Comp Science, S/W Engineering

60-69:

Formal Methods

1995: NCEA Diploma in Software Engineering, (Result: Distinction)

1994: NCEA Certificate in Computing, (Result: Distinction)

Awards received

2000: BrainBench.com – See http://www.brainbench.com/transcript.jsp?pid=2326124

n     99th percentile C++, Visual Basic 5.0, RDBMS Concepts, E-Commerce concepts, Customer Requirements Analysis; all top in Ireland as of March 2001

n     98th percentile OO Concepts, Java 1; 97th perc. ActiveX, 96th percentile C, ASP; 95th perc. SQL, Internet Concepts; 94th perc. Visual C++; 91st perc. Java 2; 90th perc. Programmer Analyst aptitude, 89th perc. Internet security, 82nd perc. unix programming

1997-2000: Microsoft, Redmond, WA

n     Selected as partner in Visual Studio and MDAC pre-release programmes

1996: Institute of Technology, Carlow, Ireland

n     First Class Honours Degree with highest average grades in final year

n     CIM Production Centre Medal for Academic Excellence

1995: Institute of Technology, Carlow, Ireland

n     Medal for Academic Excellence (highest average grades)

Hobbies and leisure interests

I enjoy playing football, although with sub-optimal skill and fitness levels.

Technical Interests

Since learning to program at 12, I continue to devote significant portions of my spare time to reading technical literature relevant to my current work domains.

Professional Experience

Betdaq.com, IFSC House, Dublin 1 (June 2003 to date)

Project: Betdaq Exchange Automated Synchronisation Tool (BEAST)

Betdaq.com is a web-based online trading system for the global trading of bets for customers of varying sizes.  The project involves the development and maintenance of an internal automated system (Robot) managing the automated transfer of liquidity from the exchange’s partners (via scraping).

My role involved the end-to-end design, development, tuning, deployment and support of the system from concept through to completion.  This required comprehensive knowledge of all aspects of the system, from database design through to the middle tier and out to the front end software.  During the lifecycle this also involved mentoring new employees working on various areas of the system.

Prior to joining Betdaq I had spent significant amounts of my personal time developing my skills and experience across the .NET technology suite, libraries and languages.

The system consists of an extranet based Web Services infrastructure comprising of a C#-based Microsoft .NET 1.1/Windows Forms client, with multithreaded C# Windows Services  running on Windows Server 2003 controlling the synchronisation process.  The ADO.NET data layer uses Microsoft SQL Server 2000, with a large suite of Transact-SQL stored procedures and functions.  The B2B communication layers communicate over HTTP, and involve scraping XML and/or HTML content to obtain pricing information based on reverse engineering the websites using tools such as HTTPLook, and parsing data using Regular Expressions.  There are a number of IIS 6/ASP.NET 1.1 components and Web Services handling communication with the Exchange.  Excel VBA spreadsheets are used to manage the internal administration of the system.  Other tools used include: Microsoft SQL Server Profiler, Reflector, CodeSmith, NAnt/SLiNgshot, XMLSpy.

America Online Inc, Lake Drive, CityWest, Dublin (Sept 02 – May 03; Contract, 1 renewal)

Project: AOL Europe Electronic Invoicing [March-May 2003]

This work involved comprehensive security review, security testing and load testing of a Europe-wide electronic invoicing system, in consultation with the project manager, testing team and a development team of 3.  A significant test suite was developed using Apache JMeter.  In addition, a set of open source profilers and memory leak detectors were evaluated and utilised in the load testing portion.  A portion of the work involved recoding Java multithreading logic.

The system, running on Solaris 7, had a Java presentation layer running in the Resin container under an Apache Web Server cluster.  The back end used a proprietary clustering system written in C++.  The backend database utilised was Sybase ASE.

Project: AOL 8.0 Global Client – Connectivity Subsystem [December 2002-February 2003]

This work involved stability improvement and performance optimisation for the international release of AOL’s updated client’s connectivity subsystem, replacing a departing member of staff.

My role involved analysis and resolution of release stopper bugs in liaison with US and German-based test and development teams.

The code is mainly C++-based, but some work involved analysing crash dumps at assembly language level.  Tools used include Visual C++ 6, NuMega DevPartner suite and Microsoft windbg.

Project: AOL 8.0 Global Client – Optimised Dial Subsystem [September-November 2002]

This involved analysis, design and development of a flexible rules engine allowing host-managed definition of rules to permit the optimal configuration of network utilisation.

My role was as senior software engineer involved in the design (Rational Rose) and development (Visual C++ 6) of this subsystem liaising with the project system architect, technical manager and project manager.  The team included approximately 10 members.

The system involves a host based rules repository and a client side multi-threaded HTTP based rules download and application engine implemented as cross platform C++ code in the AOL client.

Exaxe (Formerly The Harvard Grp) , 20 Fitzwilliam Sq, Dublin 2 (May00-Aug02; Contract – 6 Renewals)

Project: Unisys UISL IllustratePlus calculations engine [May 2002-August 2002]

This involved analysis, design, implementation and testing of an extensible calculation engine catering for the full calculation requirements of a large UK insurance company’s new and existing pipelines.

My role was as OO design and development lead of this central system component and to liaise with other feature team leads managing integration in an appropriate manner.

The work consisted of object and database analysis & design with Rational Rose (40%), development with Visual C++ 6 (30%), integration & testing (20%), mentoring (10%).

The system is implemented in C++ utilising XML-based interfaces with extensive use of STL and the RogueWave tools.h++ library.

Project: Royal & Sun Alliance – Web based Administration System [August 2001-April 2002]

The project involved the design and optimisation of a fault tolerant, globalised, scalable, web-based transactional B2B/B2C front end for an insurance administration system.  The system integrates with a Life/400 back end via DataMirror replication and MQ Series queuing.  The business functionality on the app tier consists of over 100 use cases, with an offshore Java dev team averaging 30 members.

My role was that of lead object modeller, with complete responsibility for design, documentation and support of a Java EJB-based UML object model supporting the complete middle tier business functionality.  A key part of the role was the provision of implementation guidance to the lead developers on the development team.

Following resource reallocations early on in the project, my role grew to encompass being first point of contact for design communications, liaising with development and business analysis teams.

My work involved design, documentation and reviewing of the UML model of the system architecture using Rational Rose (50%), mentoring in OO design (10%), reviewing Java code (10%), ER/WIN database design (10%).  Following the design phase, scalability testing and an optimisation analysis phase was completed.

The duration of Exaxe’s role in the project was extended from an initially envisaged three months to over nine in two separate extensions, largely due to the quality and timeliness of deliveries from the design team throughout the preceding phases.

The system was developed on Solaris 8, using Oracle iPortal, Orion, Struts, Java, Oracle 8i, Solaris, MQ Series, SOAP and Life/400.

Project: Prudential Europe – Quotation System [Jan 2001-July 2001]

The project involved the design and development of a platform-neutral C++-based calculations engine to provide new business quotes (NBQ) and existing business quotes (EBQ) for PEMS’ full product suite, integrating with their new UNISYS-provided Solaris-based system framework.

My role was as chief technical architect, involving responsibility for technical strategy decisions and overall system design, liasing with the chief system analyst and project manager.

My work involved UML-based design of the system architecture using Rational Rose, selection of system components, design of a system and unit testing infrastructure, mentoring in C++ and implementation of a full-featured proof of concept of the system.

The system was developed on Solaris 2.6, using Sun [Workshop] Forte C++ 6, Mozilla SpiderMonkey (JavaScript interpreter), Mozilla NSPR (portable multithreading support) and the Apache Xerces (XML Parser).  The system communicates in XML over a MQSeries link.

Project: Prudential Europe – In-Force Projections [Nov 2000-Jan 2001]

The project involved the design and development of the second phase of a platform-neutral in-force projection system for the purpose of assessing policies that are active on behalf of clients.  This involved re-architecting and extending the system to handle more complex products.

My role was as joint technical architect with responsibility for designing and implementing the system architecture of the calculations engine.  I also provided mentoring in C++ and OOD.

My work involved the design and refactoring of the existing class hierarchy to handle the additional requirements of the new products to be supported.  The design work was carried out in UML with Rational Rose, and took the form of class and sequence diagrams.  Implementation was completed in C++ with some unit test scripting carried out in Visual Basic.

The system was developed to run on Windows NT and 95 using Borland C++ Builder 4, Visual Basic 6, COM, STL and Sybase ASE.

Project: Friends First - New Business Quotations Engine [May-Nov 2000]

The project involved the development of a platform-neutral versatile user interface layer, calculations engine, and printing engine for usage by brokers and head-office staff in providing Disclosure compliant quotations on the full portfolio of products offered by Friends First (including re-badged resellers versions).  The system made extensive use of XML for data transfer.  The system provided for the encoding of all business logic in ScriptBasic, allowing relatively non-technical staff to implement new or changed products with minimal requirements for C++-based coding.  The external interfaces are for Life/400 and an XML browser clients.

My role was as sole technical architect responsible for designing and refactoring key system components in liaison with the project manager.  A key responsibility was to mentor staff on the team in C++ and general programming problems.  Following my move to Prudential, I consulted part-time on the release strategy and unresolved technical problems.

My work involved re-architecting core system components for correctness, efficiency, testability, multi-threading support and performance.  All design work was carried out in UML with Rational Rose. My performance optimisation work resulted in a reduction of quote time from 2 minutes 20 seconds to 6 seconds on a complex quote, after other staff had already carried out significant performance improvement work.  I also managed the load testing of the system and isolation of threading problems.

The system was developed to run on Windows NT and 95 using Visual C++ 6, Visual Basic 6, Roguewave Tools.h++, XML and STL.  Portions were completed using Access 97 and ODBC.

A third-party scripting engine (ScriptBasic) and page definition language (LaTeX) were used.

Westpac Banking Corp, 140 Philip St, Sydney 2000 (Apr 1999- Jan 2000; Contract – 1 Renewal)

Project: Westpac Internet Online Banking

Westpac have been running an Internet banking system since March 1998, offering rudimentary functionality such as: balance checks, non-statement transaction lists, statement retrievals and non-third party transfers.  The system had approximately 150,000 registered users, with peak concurrent session usage of 250 in January 2000.

IOLB runs under IIS 4 in a server cluster using multiple firewalls, MSCS, WLBS, MSMQ and SQL Server 7.  It is implemented with Visual C++ 6 using COM, ADO, and Microsoft Internet Financial Systems Toolkit (MIFST).

Information is retrieved from an IMS host system using Microsoft SNA Server.  The presentation layers use the OFX (Open Financial Exchange) protocol and browser-independent ASP pages.

Project: Westpac Internet Online Banking – Customer Management and Correspondence Interface

This involved the analysis, detailed design and development of a customer management interface (CMI) to support customer service representatives.  I worked across the complete lifecycle:

Requirements gathering and analysis through meetings with the business

·         Design, prototyping and walkthroughs of sample ASP screens; Writing of specification documents, interface layouts and flow diagrams; OOA/OOD using Visual Modeller / Rational Rose; Database design and diagramming for SQL Server 7 with Visio

·         Liasing with the ASP development team to co-ordinate development of supporting ASP pages

·         Liasing with host development regarding host transaction request specifications

·         Leading development and mentoring of new developers on project

·         Development using ATL, STL, COM, ADO, XML with Visual C++ 6

·         Implementation of a full Automation compatible Object Model for usage from ASP pages

Project: Westpac Internet Online Banking – Transaction Listings / Exports

My work involved the redevelopment and optimisation of the critical transaction of the system in order to decrease system load and enhance scalability.  The Export functionality involved implementing the complete architecture for downloading lists of export data in CSV, QIF or OFC formats for usage with Microsoft Money and Quicken.

Project: Westpac Internet Online Banking – Authentication & session management infrastructure

My initial role was in the redevelopment of the system session management and authentication sequences.  The work involved extensively rewriting the existing code to support expanded requirements mandated by new functionality to be added.  Most of the logical architecture had been designed prior to my arrival.

This was completed ahead of schedule, permitting earlier integration of business components.

Computer Sciences Corporation (CSC), 2 Market St, Sydney 2000 (Feb-Apr 99 - Contract)

Project: MMI Insurance Ltd – Workflow Systems, using DST Automated Workflow Distributor

This involved porting of Visual C++ 6 customisation code for DST Systems’ Automated Workflow Distributor (AWD) from 16 bit to 32-bit, and accommodating API upheavals.  This required much creativity.  The work was completed on schedule.

GE Capital IT Solutions AP (GECITS-AP), 45 Clarence St, Sydney 2000 (Jan 99 - Contract)

Project: Deutsche Bank / Bankers Trust – File Migration Processing

This involved the design and proof-of-concept of a Visual Basic 6 file migration tool for usage as part of a mass NetWare to NT migration as part of the DB / BT merger.  It involved using the Excel, Word and Powerpoint Object Models to update hyperlinks as part of fileserver amalgamations.  This was completed ahead of schedule.

Celtech Software Intl, East Point Business Centre, Dublin 3 (Jun-Dec 98; Contract - 1 Renewal)

Project: ab-initio In-Store Retail Information System

The ab-initio in-store system provides 24x7 OLTP for large retail multiples running on a Windows NT platform.  This entails the provision of transaction management infrastructure with a strong emphasis on resilience to server failures etc.  The system permits hot-switching of client and server machines without incurring downtime through state-of-the-art redundancy and fail-over facilities.  The system interoperates with the ab-initio head office applications suite running on AS/400 hardware to provide an end-to-end Retail Information System.

The architecture is implemented using [D]COM components developed in Visual C++ 5.  The proprietary infrastructure components use with ATL and STL and client side components with MFC and Objective Toolkit.  Data access is through ODBC and SQL Server.

My responsibilities on the project included:

·         Development of system infrastructure components including network fault tolerant message queuing facilities and a database-independent distributed data access framework

·         Design and implementation of system wide network failure resilience code

·         Establishment of a an end-to-end shipping methodology

·         Turning around “difficult” bugs

·         Resolution of performance issues.

Cognotec (AutoDealing) Ltd, 3 Ely Place, Dublin, Ireland (Jun 1997-Jun 1998; Permanent)

Project: AutoDeal NT Foreign Exchange Dealing System & Internet Server Components

Cognotec are an established player in banking systems, primarily in Foreign Exchange systems, mainly on VAX-based systems.  The development of the NT version commenced late in 1996, using modern design and implementation methods in order to deliver a scaleable and extensible system architecture.  The system is implemented using Visual C++ 6, ATL, MFC and OLE DB, using DCOM on Windows NT 4.

On the ADNT project, I worked in the following roles:

·         Design and implementation of system base classes and templates for exception handling and error information propagation, Win32 services and database access wrappers

·         Provided consultancy on database design / development using SQL Server 6.5 with T-SQL

·         Worked on isolation and resolution of performance and scalability issues

·         Wrote client side UI components with MFC; Wrote database access components using OLE DB with ATL; Developed build/release/patch methodologies using various scripting methods

·         Gained an MCSD in two months, earning Cognotec Microsoft Solutions Provider status

AutoDeal NT Web Interface

Following this, I was project lead on the design, development and deployment of a web-integration add-on for the product which involved massaging the existing client side C++/COM objects to work through JavaScript under Active Server Pages (ASP) on IIS 4.

Trintech Group, Trintech House, Leopardstown, Dublin 18, Ireland (to Jun 1997; Permanent)

Project: T/3 Integrated Credit Card Processing System User Interface & Database Browser

In addition to Trintech’s success in the credit card hardware sector, they have long supplied a suite of back end processing software running on a unix platform.  Each module forms a portion of a distributed system employing various intra/extra networking schemes e.g. RPC, TCP/IP.

The Windows NT version of the T/3 payment system has been developed and is widely regarded as the leader of its market sector today.  My role in the development of the system lay in the design, prototyping, specification and implementation of a unifying UI for Trintech’s solutions across the banking systems spectrum.  This necessitated a good overall knowledge of the multitude of T/3 components and specifics of their interfacing and scalability requirements.

The system was written with Visual C++ 4 with MFC, with a thin UI layer written in Visual Basic 5.  The system runs on Microsoft & Sybase SQL Server on Windows NT 4 with ODBC.  The implementation leverages [OLE] Automation and proprietary RPC technologies to realise a flexible distributed infrastructure.

I provided mentoring on NT programming and implemented a number of ActiveX controls.  The T/3 system architecture now represents the backbone of their Visa MDC and SET systems.

Eicon Technologies, Leopardstown, Dublin 18, Ireland (1995-1996) [BSc Project]

Project: EiconSpy X25 Network Card Remote Debugging Environment for Windows NT

A Windows NT 3.51 based debugging environment for Eicon’s proprietary Motorola 68000-based intelligent NIC.  The user interface and facilities offered by the system are comparable to those available using Microsoft’s Spy++, viz. real-time browsing of messages, tasks and other pertinent data.  In addition to this, the system’s browsing facilities are significantly more powerful and flexible.  The transfer of the data was over a high-performance serial link to the remote computer.  A small DOS-based TSR driver program co-ordinates the shipping of appropriate data from the remote system to the “debugging host”.

A significant portion of the work involved revolved around the examination of the C & assembly language source code to Eicon’s proprietary NIC Operating System running on the EiconCard NIC.  This permitted me to ascertain appropriate locations for “hook” procedures probing into message queues and other information of relevance to developers.

The system comprises almost 20,000 lines of C++ and 68K assembler code.  Of this, 15 % was written in C &  Assembler to run on-card with a cross-compiler / assembler.  The remainder consisted of MFC 3 UI code and C, C++ and Assembler Windows NT based comms and multithreading routines.

Clare Resource Centre, Roxton, Corofin, Co. Clare, Ireland. (1991-1996)

Since starting to program at the age of 12, I have spent much of my “spare” time doing contract work developing business solutions for local small businesses, primarily in C++ on Windows including:

·         1992 - Waveform Analyser/Simulator Package - An electronic engineer’s tool allowing the user to specify any desired waveform in a user-friendly manner.  The waveform is specified as a text string consisting of standard mathematical operators and mathematical functions.  The parser then proceeds to decompose the formula.  This can be plotted and scaled.

·         1991-1993 - Internal Banking System -- Software for a LETSystem.  Complete system handling all standard aspects of a commercial bank, together comprehensive transaction analysis functions.  Secondary function was to provide a payroll and invoicing system for members of a co-operative. Stock/ordering system. Car pool/Telephone/Paper/Computer usage auditing/billing system

·         Watt Meter/ Analyser allowing full graphical analysis of traces in Turbo Pascal 4.

·         Object recognition tool to detect knots in real-time wood images from a PC camera.

·         Channel Router Demonstrator - Illustrates fundamentals of rats nest optimisations.

·         Firmware for a scrolling message display allowing comprehensive message editing.

·         Background sound driver to provide low-level support for games systems.

References

Available on Request.