Nick Gravgaard, creative software developer

Summary
I enjoy imagining innovative solutions to interesting problems and then implementing them, both at work and in the projects I have undertaken independently (please see the softography section below). I am a software developer with around 10 years of commercial experience who is seeking a mid to senior level development position that will allow me to continue to develop my programming skills. I have worked on a wide range of different projects, from web sites to back-end systems to application software to games. The languages I know best are C, C++, and increasingly, Python, although I also have some Java experience and could quickly pick up C#.
General details
Name Nick Gravgaard
Email
URL http://nickgravgaard.com
Technical skills
Category Skill Experience
Operating systems Windows 1991 - Present
Linux (SUSE, Red Hat, Slackware, Ubuntu) 1998 - Present
Mac OS X 2006 - 2007
Programming languages C 2000 - 2008
C++ 2002 - 2004, 2009
Python 2006 - 2009
Java 2006, 2009
JavaScript 1999 - 2006, 2009
Perl 2004
SQL 1999 - 2000, 2004 - 2006, 2009
Libraries, APIs, frameworks C++ STL 2002 - 2004, 2009
Qt 2009
GTK+, PyGTK 2008 - 2009
Python Imaging Library (PIL) 2006 - 2008
Django 2009
jQuery 2009
MFC, Win32 2000 - 2004
OpenTV 2006 - 2008
Java Swing 2006, 2009
Xlib (X Window System) 2000 - 2006
Component Object Model (COM) 2000 - 2002
Compilers GNU C / C++ Compilers (gcc, g++) 2000 - 2008
Visual C++ 2000 - 2004, 2009
Editors, IDEs Visual Studio 2000 - 2004, 2009
Eclipse 2006, 2009
vi / Vim 2006 - 2008
Version control and SCM CVS, TortoiseCVS 2006 - 2008
Subversion, TortoiseSVN 2004 - 2006, 2009
WinCVS 2003 - 2004
Visual SourceSafe 2000 - 2002
ClearQuest 2000 - 2002
Build systems Makefiles 2006 - 2008
CMake 2009
Ant 2009
Object-oriented analysis and design UML 2000 - 2004
Design Patterns 2002 - 2004
Together 2003 - 2004
Rational Rose 2000 - 2002
Software development methodologies Agile software development with Scrum 2006 - 2008
Databases SQL Server 1999 - 2000
Oracle 2004 - 2006, 2009
Document authoring HTML / XHTML 1999 - 2000, 2004 - 2006, 2009
CSS 2004 - 2006, 2009
XML 2000 - 2002, 2009
XSLT 2000 - 2002, 2009
Employment history
position description
Software Developer
Zero Point Software, Copenhagen, Denmark
April 2009 - May 2009
When Zero Point Software decided they needed to launch a community site quickly, they asked me to come on board and help them build it. I advised them to use the Python web framework called Django, and with the help of some of their permanent developers and designers we were able to build the site in record time without compromising on quality.

Achievements included:
  • Was a key developer and technical advisor to a small team, and was able to build a community site with a lot of functionality in a very small amount of time using Python and Django
  • Used the jQuery JavaScript library to integrate a popup image viewer with django-cms
Software Developer
Examotion, Nuremberg, Germany
January 2009 - March 2009
After Adobe bought Macromedia and stopped devlopment of the Adobe SVG Viewer, Examotion's SVG player became the leading SVG solution for Windows and Internet Explorer. Examotion invited me to work with them to meet some pretty tight deadlines making cross platform client applications which embedded their player using C++ and the Qt toolkit.

Achievements included:
  • Developed an SVG viewer app and laid the foundations of an SVG authoring tool using C++ and the Qt toolkit
  • Worked on making the W3C's DOM conformance test suites generate C++
Software Developer
NDS Denmark, Copenhagen, Denmark
June 2006 - December 2008
The Danish office of NDS specialises in developing interactive applications for set top boxes, and I worked on developing games for the OpenTV platform (usually for channels available to Sky Digital subscribers in the UK). The platform was somewhat dated and slow, which limited us to simple 2D games, and it was often difficult to get an acceptable frame rate out of the machines. Sometimes we would develop new games, while other times we would extend existing games, frequently written by someone else. The challenge then was to quickly get up to speed with someone else's code so that it could be extended in the best way.

Achievements included:
  • Created, extended, and reskinned many games for OpenTV in C. Examples include the official port of Atari's Asteroids, and many puzzle and platform games which used Cartoon Network's characters and settings.
  • Used Python to manage and sometimes manipulate each game's assets
Technical Consultant
Maconomy, Copenhagen, Denmark
July 2004 - May 2006
Maconomy offers business solutions and services for professional service companies and marketing communications organisations. Their software and solutions optimise finance management, job costing, project management, business intelligence, and resource planning in one ERP solution. My work consisted of creating and customising components according to our different customers needs, as well as working on a few in-house development projects. Much of the work was written in a proprietary scripting language similar to JavaScript.

Achievements included:
  • Created a benchmarking tool in Perl which created threads to run various Maconomy scripts (one thread represented one active user). These scripts would perform typical user tasks, and the Perl script would record and store performance information
  • Replaced the standard reporting component with one of my own which allowed for complicated post-processing of the data
  • Wrote import programs that collated data from many users' Excel files before importing them into Maconomy and performing the necessary actions on them
Software Engineer
Serco Assurance (formerly AEA Technology Consulting), Winfrith, England
November 2002 - June 2004
At Serco Assurance we worked on an asset management application (on Windows using MFC) that allowed asset managers to interrogate their asset knowledge database and pose "what if" style questions to help them formulate new strategies that could help them manage their assets and thus make their companies more profitable. It combined risk models, engineering performance models and asset data management and could be used for analysing the impact of long-term replacement, operation and maintenance strategies.

Achievements included:
  • Designed and developed the symbolic path mechanism which allows the system to use user defined "logical directories" in place of standard directories (C++)
  • Designed and developed functionality to parse and execute batch files used to automate large jobs (and testing) (C++)
  • Documented and wrote test plans for much of the application's functionality
  • Used Together to detail the low level design of the system
Developer
TrustMarque International, Gerrards Cross, England
September 2000 - April 2002
At TrustMarque we worked on TenderTrust - a smartcard (Gemplus) and internet based, secure electronic tendering system. TenderTrust used the latest PKI security and encryption techniques, and digital certificates which were held on smartcards provided and guaranteed by The Royal Bank of Scotland. The system enabled purchasers and suppliers to manage the entire tendering process - from the creation of the Invitation to Tender (ITT) and it's publication, through to the receipt of Tenders from Suppliers, their analysis and award. TenderTrust was specifically designed to meet the requirements of both public and private sector tendering.

Achievements included:
  • Developed extended stored procedure to send emails on writes to a database (C)
  • Integrated 3rd party PKI code from Entrust to time stamp data prior to encryption (C)
  • Wrote form selection wizard to help the user create the correct kind of notice form (HTML and JavaScript)
  • Created form template using HTML and JavaScript
  • Converted form template to be represented as XML and parsed through XSLT to create final HTML and JavaScript in browser control.
  • Used Rational ClearQuest to track bugs
  • Liaised with representatives from the Official Journal of the European Communities (OJEC) in Luxembourg to discuss their proposals for standards in e-tendering (XML DTDs)
Developer
24-seven newmedia, Southampton, England
September 1999 - September 2000
At 24-seven newmedia we worked on all sorts of dynamic web pages for NTL, our biggest client. Examples of projects worked on were the graduate recruitment database and their FAQ/Q & A engine.

Achievements included:
  • Designed and coded data-driven websites using ASP, HTML and JavaScript
  • Liased with and defined requirements for customers
Qualifications
Southampton Institute (1996 - 1999)
BSc (Hons) Computer Studies

Bournemouth & Poole College of FE (1994 - 1996)
AEB Computing, BTEC Computer Studies

Bournemouth Grammar School (1988 - 1994)
UCLES The Sciences (Double Award), SEG English Language, SEG English Literature, SEG History, SEG Geography, ULEAC Mathematics, UCLES French, UCLES Design, ULEAC Business Studies, ULEAC Religious Studies
Softography

References are available on request

This CV is also available as a PDF file
European Digital Rights Valid XHTML 1.1!