David Wyles CV
From codegorilla
David is not actively seaking employment at this time
The CV below is available in Microsoft Word format as well, click this link to open/download it.
You can also see this page as PDF and save from that.
David Wyles
Lower Earley
Reading
Berkshire RG6
Tel. (07968-792218)
mailto:david.wyles@codegorilla.co.uk
PROFILE
A skilled well rounded IT professional with 12+ years experience in comercial software development, working in both large and small teams, and with a high commitment and drive to producing high quality software with high reliability and maintainability. He is interested in working in any areas of development that involve challenging work with innovative solutions using current and developing technologies. He is extremely adaptable and learns new and old technologies well and does not shirk responsibility. He is a firm believer in architectural and quantitative driven development with an attention to detail and accuracy.
Examples of some of his personal work can be seen in his Code Vault.
KEY SKILLS
- Modern C++ Development with STL and the Boost Libraries.
- C# with .Net 2.0 (Visual Studio 2005).
- Microsoft Visual Studio development environment (from 4.2 to 9 (2008)).
- Cross platform development, using gcc and boost (some development using Eclipse), cygwin, ubuntu, and many other unix variants.
- Good multi-process and multi-threaded application experience.
- Large scale, high reliability and high quality development experience, with full development cycle and experience of UML.
- Good working knowledge of TCP and UDP network programming using WinSock, posix sockets and overlapped I/O (via boost asio).
- GUI developement using QT, MFC, and .Net.
- Processing of XML using expat and Arabica (DOM, SAX and XPATH).
- Excellent Windows debugging skills, via Microsoft Development Studio, WinDBG, SoftICE and other means (including Compuware DevPartner products and IBM Rational Purify).
- Good working knowledge of cryptography and its use (in house implementations and using the Crypto++ library).
- Multimedia technologies including DirectShow, DirectSound, DirectX and the use of the Intel Integrated Performance Primitives (IPP).
- Interfacing, using and designing SQL database systems with MySQL and MS SQL Server 2005.
- Web technologies including PHP, Web services, HTML, XML, AJAX.
- Source control (AccuRev, Mercurial, Subversion, Perforce, SourceSafe, PVCS and SCCS).
EMPLOYMENT
Senior Software Engineer.
Oxford BioSignals, Abingdon (From November 2008)
- Medical: Worked on data acquisition via PDA based phone (Windows Modile 6) and transmission of that data to a central server running SQL Server for analysis for Cancer and Stroke based medical situation.
- Industrial: Aided in the Development and stabilization of the next generation product based on the QUICK technology called Evolve. Evolve is a vibration monitoring software and hardware combination used to provide early fault prediction of Jet Turbines.
- Technologies involved: C# / .Net 2.0 / Windows Mobile 6 SDK / SQL Server 2005 / ASP.NET (3.5) / C++ / STL / BOOST (1.38) / multi threaded & multi process development / TCP / QT (4.3) / AccuRev / SCRUM
Holiday.
(August 2008 - October 2008)
- Took a break from work to finish some major DIY jobs at home.
Senior Software Engineer.
Acresso, Maidenhead (January 2008 - July 2008 (6 Month Contract))
Formally part of Macrovision UK Ltd, Maidenhead
- Enabling compliance of protection system on Vista and Windows Server 2008.
- Developing analysis tools for diagnosing problems in the field.
- Corruption and error recovery of the Trusted Storage file system.
- Setting up the Coverity (Static Analysis) system and resolving all the issues identified to establish a clean working baseline.
- Technologies involved: C++ / STL / BOOST (1.35) / multi threaded programming / cross platform (windows/unix) / SQL Server 2005 / Pivotal (Bug tracking) / Coverity
Technical Architect / Principle Software Engineer.
Mediagrids, Twyford (February 2006 – January 2008)
- Responsible for overseeing the design and implementation processes used by the engineering team (of 5) for the core technology, which is based around the real-time streaming of data over UDP.
- Responsible for the development of the mediagrids core technology platform around which different products may be built. The platform is configurable by the use of XML files that define complex data movement and processing streams that can be built by the core, allowing multi server multi client configurations.
- Designed and Developed a Peer-2-Peer real time media distribution solution to work though NAT routers using similar techniques to STUN, TURN and ICE to establish secure connections.
- Responsible for ensuring the technology is cross platform allowing servers and clients to be either Windows or Linux based.
- Responsible for integrating 3rd party Ethernet cameras and developing/using the appropriate codec (h.263, and mpeg4 for video and AAC, g722.1, g729a for audio) into the system allowing the rendering of audio and video (DirectX/DirectSound on windows, DirectFB/ALSA on Linux).
- Worked on the design and development of the flagship product CareMATE ONLINE which consists of a linux (x86) based set-top-box, PC based Web clients and a server to allow for remote monitoring of patients in care by care centres, including video conferencing and biometric information with a database backend implemented using MySQL and web server technologies including PHP, Javascript, AJAX, HTML.
- Technologies involved: C++ / STL / BOOST/ Sockets (TCP, UDP & RAW) / Win32 / multi threaded programming / Intel Integrated Performance Primitives (IPP) / DirectShow / DirectSound / DirectX / ActiveX / XML (via expat & Arabica) / C# (and .NET framework) / Subversion / MySQL / PHP / Bugzilla / Doxygen.
Software Architect / Staff Software Engineer.
Macrovision UK Ltd, Maidenhead (August 2005 – February 2006)
- Responsible for overseeing the design and implementation processes used by the engineering team for FLEXnet publisher, and for ensuring the highest standards of quality are achieved as well as still maintaining a hands-on role in the design and development of current projects.
- Tasked with providing a new architecture for FLEXnet publisher allowing for a more flexible and reliable solution, while still providing existing customers all the functionality they currently use.
- Continuing to contribute in producing new code and maintaining the existing code base for the FLEXnet publisher product.
- Technologies involved: C++ / STL / Win32 / Win64 / multi threaded programming / BOOST.
Team Leader, Technologies.
Macrovision UK Ltd, Maidenhead (August 2004 – July 2005)
- Responsible for managing a team of 3 that were tasked with developing the tamper resistance, host binding (locking software to a particular machine), anchoring (preventing data being removed from a particular machine) and trusted storage on a multitude of Unix and Windows platforms, but primarily the team was focused on Windows.
- Worked with 3 other teams, 2 locally and another in the Santa Clara (USA) office to complete the FLEXnet publisher product.
- Credited with two software patents that have been filed in the USA, which were derived from technology implemented in the FLEXnet publisher product.
- Continuing to contribute in producing new code and maintaining the existing code base for the FLEXnet publisher product.
- Main technologies involved: C++ / STL / Win32 / Win64 / multi threaded programming / BOOST.
Senior Software Engineer.
Macrovision UK Ltd, Woodley (August 2000 – July 2004)
- Based on product management requirements, designed and developed technologies to enchance the flexlm product line (into FLEXnet Publisher), to include features that were already supported by SafeCast. Responsibilities included tamper resistance (to restrict reverse engineering), trusted storage (to store license rights securely), and ensuring the overall architecture allowed easy integration of components from other teams.
- Worked with developers at Macromedia to provide a bespoke licensing solution to ensure the continued business of a multi-million dollar contract. Many of the tamper resistance features in this product went on to form the basis of the security in FLEXnet publisher.
- Developed an NT/2k/XP file system filter driver for use with the SafeCast product for the protection of data files allowing only a licensed application to read the data without any modification to the licensed product code.
- Developed diagnostic, debugging and automated testing tools that are now used by other development and testing teams.
- To evaluate the potential of the Pocket PC 2003 platform the majority of the core technology in the SafeCast code base was ported onto it using Embedded VC++ 4.0.
- Main technologies involved: C++ & C / STL / MFC / COM / ATL / Win32 / multi threaded programming / Kernel mode programming (Filter Drivers) / sockets.
Senior Software Engineer.
Micro Focus, Newbury (November 1998 – August 2000)
- Design and development of a programming language independent IDE (Integrated Development Environment) on Windows to replace the existing NetExpress and Mainframe Express IDEs (Both IDEs for COBOL development).
- 2nd Lead developer on a small team developing a unified type based IDE. The IDE used a COM based framework providing a plug-in system allowing easy enhancements to the IDE. Developed the scripting language that drove the type system using Lexx and Yacc, implemented the core project engine using OLE DB (via ATL accessors) to an SQL database.
- Main technologies involved: C++ / STL / MFC / COM / ATL / ActiveX / ADO / OLEDB / SQL (Access) / Lexx & Yaxx / UML / Win32 / multi threaded programming.
Systems Engineer.
EDS UK, Hook (May 1997 – Oct 1998)
- Working within a large team developing the replacement for the ageing air traffic control system for the North Atlantic. Involved mentoring the large development team in using C++.
- Main technologies involved: C++ & C / StP / Yourdon / Unix (IBM Aix) / SCCS.
Games Programmer.
Eidos Interactive, Godalming (July 1996 – May 1997)
- Responsible for aiding the lead developer in creating a 3D space simulation and strategy game for Windows 95 called Xenocracy using the Direct X 2 API.
- Developed a generic 2D user interface engine for use throughout SIMIS that significantly improved development time and runtime performance.
- Main technologies involved: C++ & C / Direct X 2 / multi threaded programming.
TRAINING
- A Systems Engineering Approach to Requirements Engineering
- 2008, Burge Hughes Walsh
- High Performance Teamwork
- 2005, Dr. Arky Ciancutti
- Management Training
- 2004, Macrovision in-house
- Code Strengthening Methodology
- 2001, Cloakware
- Kernel Mode Device Drivers for Windows 2000/WDM
- 2000, OSR
- Object-Oriented Analysis and Design with UML
- 1999, Learning Tree
- Effective C++ Classes and High-Performance C++ Programming
- 1998, Dr. Scott Meyers
- Yourdon Structured Analysis and Design
- 1997, Learning Tree
EDUCATION
- Imperial College of Science Technology and Medicine, 92 - 96
- MEng (Honours) Degree in Software Engineering (2nd Class Upper)
- The Leigh City Technology College, 90 – 92
- 3 A- Levels; Mathematics, Physics and Computing
PERSONAL
- Date of Birth
- September 1973
- Marital Status
- Married
- Nationality
- British
Interests include coarse fishing, diving (PADI advanced open water), cars (motor sports), Sci-fi, fantasy and humour books, DIY, and general science and technology.
Member of the ACCU.
REFERENCES
Available on request

