Résumé

Contact

David Wragg
david@wragg.org
London, England

Summary

I am a software developer with eight years of professional experience, in areas including business applications, frameworks and low-level system software. My performance as technical lead on several projects at Oilspace, Inc. culminated in my appointment as Chief Systems Architect. While supporting and directing the work of other developers, I personally wrote and maintained much of the common platform code on which the company's software products were built. I have a hands-on approach, with a track record of delivering working systems.

At the same company, I led a product team of eight developers working on a web-based application with a significant user base of paying subscribers. Under my leadership, this team accomplished sweeping architectural changes in order to meet demanding reliability, performance, and scalability goals, while still delivering fortnightly releases to the production site.

I have extensive experience of the operational aspects of the systems I have built, working closely with operation teams to ensure that the software behaves as expected during and after production deployments.

My objective is to seize an opportunity in a dynamic organization which believes that innovative software is critical to its success, and where my strengths and experience with business-critical systems will add great value.

Professional Experience

Oilspace Inc., London, UK and Moscow, Russia
Chief Systems Architect (2004 - 2006)
Technical Lead (2001 - 2004)

Built a Java middleware framework for distributed computing, to replace the expensive proprietary message queue software previously in use at the company. The framework supported multiple communication patterns, including RPC and high-performance asynchronous multicast messaging used for market data feeds. The implementation involved custom protocols on top of TCP and UDP. This framework was a critical component of all the company's products.

Evaluated software components for use within the company. Engaged in partnership discussions with other software vendors. Consulted with product development teams on architectural and design decisions. Interviewed developer candidates for technical competence and ability to work in an English-language environment. Maintained common platform services used throughout the company's web-based applications, including user management, authentication, permissioning, and an XSLT-based web portal. Gathered requirements from product teams for enhancements to common services.

Led a team of eight developers working on a web-based market data and news application aimed at the oil and gas industries. Managed an agile development process. Worked with business team to determine development priorities. Examined history of reliability issues and reviewed critical areas of code. Conceived and executed extensive improvements to code and overall architecture to increase reliability, scalability, and performance, while still delivering biweekly releases to the production system. Worked with operations team to plan hardware upgrades. Was on-call for critical problems arising outside office hours.

Developed Linux cluster performance and user trend analysis tools in Perl and Python. These helped to monitor the overall behaviour of the system, diagnose the causes of problems, and forecast future performance and capacity requirements.

Technical lead on a Java application to automate the physical oil tendering process, using a Swing-based thick client application, and SOAP for client-server communications. Wrote an object-relational mapping layer based on dynamic proxies.

I started my employment with Oilspace in their London office. In 2002, I relocated to join the Moscow office, and was based there for the rest of my time at the company.

Department of Computing, Imperial College, London, UK
Systems Programmer

Migrated the department's Unix and Linux systems (hundreds of client machines, and dozens of servers) from Kerberos 4 to Kerberos 5. Maintained software packages patched with Kerberos support to allow single sign-on among the Unix/Linux systems. Ran the Kerberos server cluster.

Operated and enhanced the department's intrusion detection system, implemented in Perl.

Inference Ltd., Slough, UK
Software Developer

Developer on a knowledge management system. Worked primarily on the authoring application, implemented in C++ on Windows.

Education

BSc in Computer Science (First Class Honours)
University of Southampton

Skills

  • Programming languages: Java, C, C++, C#, shell scripting, JavaScript, Python, Ruby, Perl, Common Lisp, Tcl
  • Web technologies: XML, XSLT, XML Schema, RelaxNG, HTML/CSS, Ajax, Atom, SOAP, web services
  • Other technologies: Linux/Unix, Windows, .Net, GUI programming (Swing, Windows, WinForms, X Windows, GTK, Tk), network protocols (UDP and TCP/IP, HTTP), SQL, J2EE (servlets, JDBC, JMS, EJB, JSP, JSF), Hibernate

References available on request.