
Work Experience
Cisco
01/07/14
- 01/04/15
(contract)
Support and Development Engineer (PHP / Perl / Python)
Support of a Continuous Integration process
The CI (Continuous Integration) team develop and monitor the process for automatic build and test of software modules. I am assisting in the migration from Clearcase to git, creating and modifying scripts written in PHP and Python
Intercontinental Exchange
01/07/13
- 01/06/14
Intercontinental Exchange (ICE) | NYSE Euronext
(contract)
Perl Developer (HP Openview)
Migration of a monitoring system from Patrol to HP Openview
This project required the development of a number of Perl modules and tools. In some cases, the same code was to be run on Linux Red Hat, Solaris and Windows. The Perl code makes use of a memory-mapped interface
(using the Perl module Cache::FastMap)
An Object Oriented Perl Module (DataAccess.pm) was developed to provide a centralised and consistent method of accessing low-level data structures
Metasphere
01/04/12
- 01/05/13
Metasphere
(contract)
Embedded Systems Development (Linux C/C++, Oracle Pro*C)
Continuing development of an embedded monitoring system. All project development was in C++ on a Linux server (Centos)
Projects completed successfully include
Development and testing of a failover mechanism for a 2-node or 4-node network of servers. Testing for this project required emulation of network failure - for this, I used the tc Linux tool (tc = Traffic)
Control). A bash script was developed as a wrapper to this command
Virtual hosts were created to help with the development and for testing failovers
Development of an automated email facility. This project added a facility for generating alarms via email, in addition to the existing pager and SMS functions. The email solution was designed to be flexible, allowing the end user to fully customise the email content by use of configuration files. I also installed and configured PostFix on the Linux server (Postfix is a Linux mail server)
Development of a tool to allow sections of an Oracle database to be exported to text files, suitable for importing into another database. This tool was developed using C++ and Pro/C SQL
Xtrakter
01/05/11
- 01/03/12
Xtrakter (London)
(contract)
HP NonStop Senior Analyst/Programmer (HP NonStop, OSS MxSQL C++, Pro*C)
C++ development in the HP NonStop Open System Services (OSS) environment
The current project forms the backend of a system that provides a near real time status of transactions reported to the UK Financial Services Authority (FSA). Xtrakter clients will be able to monitor the full transaction reporting life cycle via a web-based application
BlueArc
01/02/10
- 01/03/11
(contract)
Senior Developer (Linux, Perl, bash)
Continuing development of test and installation procedures for a Linux-hosted (Debian) NAS system within an
Automated Server Test framework (Debian Linux configuration, Perl / bash scripts, GRUB configuration)
Continuing the development of Object Oriented Perl modules (see Bluearc section below)
The project at BlueArc was to develop a standalone process which would start with an unconfigured NAS server (with a basic Debian partition pre-installed) and create a fully configured and tested NAS server, with multiple RAID partitions. The development was done in object-oriented Perl (about 10 custom Perl modules were developed, and a number of CPAN modules were used). Some bash scripts and C programs were also developed to support the automated test process
The public domain memtest utility (C code) was also customised to allow it to be used as part of an automated
test
process (memtest pass/fail and status were written to CMOS)
The pre-installed Debian partition was also created as part of this project, using chroot and other Linux utilities to build the partition image on a Linux build host
BAE Systems
01/02/09
- 01/01/10
(contract)
Chief Engineer (Windows C++ development)
Development of a Data Capture application for a high-performance fibre-optic interface. Development was in
C++ on a Windows XP platform, using Visual Studio 2005. The application captures data from 16 fibre optic channels in real time, using multiple threads and thread synchronisation (multithreading, TCP/IP sockets, XML, web application)
BlueArc
01/04/08
- 01/02/09
(contract)
Senior Developer (Linux, Perl, bash) - NAS
Developing procedures for the test and installation of a Linux-hosted (Debian) NAS system (Debian Linux configuration, Perl / bash scripts, GRUB configuration). Customisation of memtest to allow for disk-based configuration and unattended operation (C and Intel assembler)
Configuration of Linux RAID, including automatic installation and configuration (Perl and bash scripts)
Development of Object Oriented Perl modules for interfacing with the Linux system
Modules developed include
CMOS.pm - read / write access to CMOS addresses
Config.pm - reads XML config file, using CPAN XML::Twig
DIskUtilities.pm - gets disk information (capacity, partition layout etc)
dmidecode.pm - front-end to the dmidecode utility
fdisk.pm - runs fdisk to add / delete disk partitions
RAIDUtilities.pm - creates and configures RAID partitions
Grub.pm - modifies the Grub menus (as part of the system for controlling the sequence of reboots necessary to configure the system)
Utilities.pm - provides common utility functions e.g. mount filesystems,, control LEDs, etc
Install.pm - controls the system installation
Citigroup
01/02/07
- 01/03/08
(permanent)
Senior Analyst Programmer (database, HP-UX) - Credit Risk
Credit Risk Sybase support
Support and development of Sybase database (Credit Risk) and associated tools
(T/SQL, stored procedures, ksh, Perl)
United Kingdom
01/09/06
- 01/02/07
Corus plc.
(contract)
C++ development (plus MySQL and PHP)
Development of C++ programs (on VMS platform) to collect real-time data, convert to XML, and send to a webserver. Also developed the CGI script in PHP on the webserver to read the XML data and save it to MySQL tables
Evaluation of C++ GUI development, using wxWidgets
Corus plc
01/07/98
- 01/09/06
(contract) (formerly LIFFE, and Euronext Liffe)
Financial systems support and development
Development and support of system configuration tools
Support and development of system configuration tools (including monitoring and control tools) for electronic trading systems hosted on a large UNIX / LINUX / Windows network
Development of an efficient system configuration system, allowing efficient installation / upgrade of applications and monitoring tools (includes efficient upgrade of BMC Knowledge Modules)
Coding (in C or C++), shell scripting (ksh, nawk, TCL, Perl, XML) and GUI development
Design and development of GUI tools using TCL/Tk and Perl/Tk. Additional OO Perl modules were also developed
Design and development of multi-purpose asynchronous control tools
Design and development of client / server tools
Intranet development (CGI / Perl)
Support and development of web sites, using HTML / frames / CSS / Dreamweaver. Web site and database integration (MySQL, SQL, and Perl)
More Work Experience
Less Work Experience