Welcome to cv.davidcurrie.org. This page always contains the latest version of my CV.

David Currie

Agustín Calvo, 4 - 3ºK
28043, Madrid, SPAIN
t: +34 636 498853
e: dave@noaxs.net

Academic History

  • 1995 - 1999, University of Stirling, UK -  B.Sc. (Honours) Software Engineering.  Final year project in Operating Systems research involved modifying a Linux kernel so that it would run as a user process under a micro-kernel instead of natively on the hardware.

  • St. Dominics International School, Lisbon, Portugal.  Obtained the International Baccalaureate Certificate, and graduated with distinction.

Professional Experience

August 2005 - present: Senior Consultant at FatWire Software.
As consultant at client sites, my role is to offer expert advice on usage of FatWire products, as well as development of custom enhancements, portal architecture and external application integration. My current assignment is with the Financial Portal division at Grupo Santander, a major Spanish and international banking group, and an important FatWire customer.

March 2003 - August 2005: Software Engineer at Open Sistemas de Información Internet.
As the most senior employee, I undertake technical project management, analysis, design and development of bespoke solutions for clients in various sectors, most notably technological, pharmaceutical and government. These projects are mainly Internet-focused, and always use Open Source software as a base. I mostly use Java, PHP and Python, although there have been some C/C++ projects. All work so far has been using Linux. Major achievements include:

  • Multinational Security Firm – Several projects (details protected by NDA). Project management, technical lead, analysis, design and development of systems software using C/C++, Java/J2EE and SOAP.

  • Merck e-Business – Various content-management solutions using Java (Servlets/JSP) and XML. Tools include OpenCMS, Tomcat, MySQL, etc.

  • Created Ferret CMS, a Content-Management System built on Zope and featuring an easy-to-use interface for non-technical users. Released under GPL.

  • Created Cosine, a system for managing complex data structures from a web interface. The front-end also allows the physical data layout in MySQL to be modified in real-time.  To be released under GPL, or similar license.

  • Several projects using both Ferret and Cosine.

  • Consulting and occasional training in Ferret and OpenCMS.

I have also undertaken project management roles, and worked in coordinating and supervising external contractors.

August 2000 - December 2002: Senior Software Engineer at Netdecisions España S.A.
I worked in design and development of Internet and interactive applications, using mainly Java and J2EE, but also other technologies such as PHP or Python. I undertook projects for important clients in the technological sector, and also took part in internal R&D projects. In both cases I worked with clients and co-workers remotely in the UK, USA, Switzerland, the Netherlands and India. Major projects include:

  • Hewlett-Packard Europe - Material Builder, a tool with both client and server components for graphical typesetting from a browser client and subsequent conversion to PDF on the server. The application was template-based and used XML to define these templates. All server and client components were developed in Java.

  • Madritel - Video Call Center, a prototype for a call center where the client could see the operator that was on the other end of the line and allowed the operator to manipulate what was seen by the client on their TV. I undertook the analysis, design and development of the server-side components that managed the call switching, designed the communications protocol (using XML) and also developed the system used by the operator to manipulate the caller's screen and access commonly-used information.

  • Web Services R&D – A project to explore the possibilities of using Web Services technology to automatically discover and invoke remote services, and integrate these calls in existing applications. I undertook the technical design of an application that allowed a user to navigate UDDI registries and choose SOAP services to integrate into an arbitrary application. I also developed a prototype and test programs, all in Java/J2EE.

  • Telefónica Data – Corporate Intranet, an intranet developed in Lotus Notes/Domino R5, completely web-oriented but that provided a high degree of personalization by using the user-data present in the existing Domino infrastructure. I developed most of the front-end and all of the back-end.

  • Marconi – Corporative Web-site.  I designed and developed a system for replicating static web content over a series of heterogeneous hosts (Unix and Windows NT) distributed over the Internet. The system used SSL for communications, and algorithms for minimizing the amount of data send. The system was developed in Python, and was subsequently used in several other projects within the company (without my involvement).

August 1999 - August 2000: Consultant at Xerox España S.A.U.
I worked in dynamic document generation, developing and maintaining them, and also liaising with the client. Using a tool called Doc1, and also Python for the deployment process, I was in charge of the bill generation at Amena, one of Spain's three mobile carriers.

1998/1999: Teaching Assistant at University of Stirling
I Taught programming in C/C++ to students of lower years as well as basic IT skills to non-CS students.

Languages

I speak English and Portuguese natively, and fluent Spanish.

Other activities

  • Developer of GUAM - Graphical User Administration for MySQL, a user manager for MySQL developed in Java and Swing, and released under GPL. It is available at http://www.noaxs.net/guam/

  • Technical reviewer for the book Python: How To Program, Deitel et al., (Prentice-Hall 2002)

  • I also enjoy playing the guitar and reading.

Personal Information

  • Born in Lisbon on the 31st of August, 1977.

  • Married

  • British nationality, with a full spanish residence permit.