- London, GB
- £100 /hr
- Available now
A cross platform multi-threaded C/C++ programmer with over 10 years experience producing solutions focused to achieving customer requirements using the full development life-cycle.more...A cross platform multi-threaded C/C++ programmer with over 10 years experience producing solutions focused to achieving customer requirements using the full development life-cycle. Specializing in C and C++ to develop applications, damons, services and device drivers for all major operating systems. I have consistently married classic problem solving techniques and patterns with a natural ability for lateral thinking, problem solving and quick learning in order to meet customer requirements and budgets.
Brainbench C++ Master: Test Score: 4.67 (Top 1%)
Multi-threaded programming in C/C++/STL.
C++ Template Meta-programming.
Object-Oriented analysis, design patterns and full development life cycle.
UNIX shell scripting including ksh, sh., ask, sed
Extensive networking architecture and protocols experience including all IP protocols.
Unit test and Unit test automated framework development.
Some SQL, Java, Perl, Kerberos, VC++, ATL, COM
Area Covered: Greater London and South East of Greater London.
Work Experience Summary: IPC • UNIX/LINUX C++ Developer
March 2007 • July 2008.
Contracted to the MaxAccess1000 Project as a C++ developer to port one of the tiers from an embedded telephony system to a multi-user tier to act as a back end for a web interface.
Porting of single-threaded embedded telephony code to multi-threaded Daemons.
Use of C++ Template Meta programming techniques in creation of reusable classes.
Creation of a synchronization primitives library loosely based on techniques learnt from Loki.
Use of STL, QT and Boost libraries for all new functionality.
Use of finite state machine, observer and other design patterns.
Analysis of existing code in order to advise architect on best approach to porting code.
Analysis, Design and Implementation of unit test frameworks including initial unit tests.
Implementation and maintenance of the projects Kerberos libraries and utilities.
Implementation of the IPC software deployment system including Kerberos integration.
Analysis, design, and documentation for all work undertaken.
Participated in code reviews, design meetings and other full development life cycle activities.
Tools used were Eclipse VI Clearcase, make, gcc & gdb.
T-Mobile • HPUX C/C++ Real Time Rating Engine Developer for the Nexus Project.
April 2006 • January 2007.
Contracted to the Nexus project. Nexus is a real time in memory call rating database server responsible for rating 80% of all the activity on the T-Mobile phone network.
Analysis and development of new functionality for the pay as you go real-time rating service.
Use of IPC mechanisms such as Shared Memory, RPC's and Semaphores.
Use of observer and other GOF design patterns.
Implementation of embedded SQL calls to Oracle databases.
Updated unit tests and framework that had become out of date with the code base.
Defect fixing of the C++ ACE CORBA servers as required.
Extension of XML schemas used for system configuration persistence.
Analysis, design, and documentation for all work undertaken using UML.
Participated in code reviews and other full development life cycle activities.
Tools used were Emacs, VI, make, CC, GDB, WDB and CVS.
Storage Technology Limited • Solaris, AIx, Windows, Linux and HPUX C/C++ Kernel, Application and Test Framework Developer.
August 2003 • February 2006.
Contracted to a project to develop a Constant Data Protection (CDP) product as part of the CDP client team. My primary responsibility was development of a fault tolerant AIX kernel extension module using ANSI C although most work was ANSI C++.
Development of AIX multi-threaded kernel modules using steady state programming
All work required to meet five nines reliability as required by the financial services market.
Implementation of communications with server using SCSI and IP protocols.
Development of unit test framework and AIX platform unit tests.
Analysis, maintenance and Java development on the CDP server.
Tools used were Emacs, VI, Eclipse, make, CC, gdb, CVS.
Education Summary: Monash University.
1987 • 1992.
Ba. Information Technology (Computing).
Ba. Business (Accounting).
Senior C/C++ Programmer