|58 Kings Way,
Harrow, HA1 1XU
I am a hands-on Technical Architect, with 12 years of C++ working on multi-threaded, client-server applications.
Current Technical Skills
- C++ (12 years)
- Expert level. Lead programmer on a number of multi-threaded Unix server applications. Extensive knowledge of the STL. Exposure to Visual C++/MFC for development of Win32 applications. Great experience of porting applications between operating systems.
- Unix (10 years)
- Great experience of the C++ development environment on a number of Unix flavours; HP-UX, Linux, Solaris, Tru64/Alpha, AIX, Mac OS X. Very comfortable with a variety of scripting tools; shell scripts, Awk. Some knowledge of Unix systems administration.
- Oracle (10 years)
- Experience of using SQL, both as a scripting language and from within Python and C++, using the OCI interface. Also some experience with MySQL, the popular open-source relational database.
- CORBA (9 years)
- Principal author of omniEvents – a real-time, C++ messaging application that implements the OMG Event Service specification v1.1, and of omniIFR, a CORBA interface repository. Familiar with the Object Management Group's C++, Python and Java IDL mappings.
- XML/XSLT (9 years)
- Used XSLT to perform complex transformation between XML schemas. Designed DTDs, and used both SAX and DOM parsers in C++ and Python. Responsible for porting the Apache Xerces parser to the Tru64/Alpha platform.
- Python (7 years)
- Built multi-threaded CORBA servers and clients for the steel industry and expert systems for the insurance industry. Used SWIG to make Python interfaces to C++ libraries. Used Django & FastCGI to build Python-based web-applications.
(All technical skills used within the last 12 months.)
Broner Metals Solutions (Feb 1999 — present)
Broner develops plant-optimisation solutions for the steel industry. Their software sits between the factory-floor Manufacturing Execution Systems (MES) and high level Enterprise Resource Planning (ERP) systems. Each application in the suite is able to co-operate with all the others, so that they work together as an integrated system. The whole suite is also able to interact with a wide variety of third-party MES & ERP systems, which customers may already have installed.
Team Leader, Lead Developer
For my first four years at Broner I was Lead Developer of their new caster and hot-mill schedulers, which run on both Windows and a variety of Unix platforms. These are multi-threaded client/server applications written in C++/STL. I was responsible for requirements analysis using UML, design and coding of the solution. I also led the team of five, planned the project timescales and helped with recruitment.
From 2003 I moved over to a higher-level Technical Architect role, where I designed a framework for integrating many of Broner's products together. My design used CORBA, XML and a shared Oracle database schema for inter-application communication. I helped to implement the interfaces by designing and writing a set of cross-platform, multi-threaded libraries that were then incorporated into many of Broner's existing applications.
In addition to my own technical work, I coordinated and mentored 15-20 software engineers. I led regular developer meetings, focussed on technical matters and knowledge-sharing. I performed code reviews in order to spread best practice, and ensure a consistent quality across all projects. I acted as a general trouble-shooter and problem solver.
As active development wound down and Broner's products moved into maintenance mode, I gradually reduced my commitment to 3 days per week. I spent the remaining time doing a variety of independent consulting jobs.
Consulting Jobs (2004 — present)
Red Redemption Ltd. (Aug 2007 — Dec 2007)
Vielife Ltd. (Jun 2006 — Sep 2007)
I was employed for my specialist knowledge of Blueorange's BOSI application framework, which is written in Python with a web-browser front-end. I advised the client how to get the best from their product, debugged their business logic, and added features.
I designed and built a Python translation tool to assist their internationalisation project. The tool found and extracted strings to be translated, while cleverly avoiding strings which were used as internal enumerations or file-names. The string were written into a custom XML format, which gave the translators enough context to be able to work accurately. When the translated file returned from the translators, the application replaced the original strings to create a new language version of the original application.
Finally, I trained client's staff in Python programming and application specific skills.
Blueorange Technologies (Apr 2006 — Aug 2007)
Enhanced medical questionnaire applications using the client's BOSI application framework, which is written in Python. Led technical liaison with customers and partners.
Rubix Information Technologies (Mar 2004 — Jan 2005)
Rubix makes a Rapid Application Deployment Environment for the telecoms industry. They use omniEvents – my real-time, C++, CORBA messaging application as a core component of their distributed architecture. Rubix employed me to add fault-tolerance and fail-over features, to make omniEvents suitable for a high-availability environment. I also gave general advice about CORBA to the project team.
Reuters Group Ltd. (1997 — Dec 1998)
I joined Reuters' Exchange Market Data team as a programmer. I worked on their real-time financial database and data-collection software, which was written in C++, Pascal and FORTRAN on Windows NT and VMS.
I was soon promoted to “Project Coordinator”, responsible for the London Stock Exchange and London Metal Exchange services. I managed teams of up to five programmers, and played an active role in design and development. I led the Y2K compliance project for the London Stock Exchange ticker, and managed a major upgrade to Reuters' coverage of the then-new Stock Exchange electronic order-book (SETS). I led the design and development of a major extension to Reuters' coverage of the London Metal Exchange.
GEC Marconi Radar & Defence (1993 — 1997)
I was recruited as a graduate to work on a large defence project. My first year was spent creating battlefield simulations in Ada to define “acceptance test scenarios”. This critical task involved negotiation with the customer, and required broad technical knowledge of radar and electronic warfare systems.
Later, I worked as a Software Engineer, part of a team working on a large software simulation project. I analysed requirements using Yourdon's methodology and helped design the simulation with the HOOD tool.
Eventually, I was promoted to Design Authority and Team Leader for the development of real-time embedded software for an important component of the system. I worked on requirement analysis, design and multi-threaded Ada & XDAda coding. I led a team of eight engineers, costed and planned the project, formally appraised staff's performance and recruited new team members. I was responsible for ensuring compliance with ISO-9001 standards.
Birmingham University, Birmingham, UK. (1990 — 1992)
Physics with Theoretical Physics: 2nd Class Honours, Division ii.
Christs College, Cambridge University. (1988 — 1990)
Natural Science Tripos.
Tettenhall College School, Wolverhampton. (1978 — 1988)
S Level Physics grade one.
5 A Levels: Physics, Chemistry, Maths, Computer Studies (all grade A);
Art (grade B).
Excellent references available upon request.
©2004, 2005, 2006, 2008, 2009 Alex Tingle.
This work is licensed under a Creative Commons License.
Permission granted to copy but NOT TO MODIFY this document.