Nev Delap
Senior Software Engineer
Born 26/9/1972
Dual Australian/British National
Australian & British/European Union Passports
Email: nevdelap@gmail.com
Skype: nevdelap
English (Native) / Spanish (Fluent)
Now based in Brisbane, Australia.
Objective
To work with developers who, like me, really know and value good Object Oriented Architecture and Design, Automated Unit Testing, and Built-In-Test, understanding how it makes for fast, high quality development, and to continue my roles in teaching and mentoring to assist other software professionals in their professional development to this end.
Summary of Skills and Experience
4 years of C# / .Net development on Windows using Visual Studios through 2008, SQL Server, TFS, etc, and in Mono on Linux.
7 years of Python development on Windows and Linux.
15 years of C++ development on Windows and Unix.
2 years of Php development on Linux.
I have a deep knowledge of Object Oriented Analysis, Architecting, Design & Implementation, Refactoring and Automated Integration and Unit Testing, Code Contracts, and Built-In-Test at a theoretical level as well as long practical experience. These are not buzzwords to me. I know this stuff, and I do it. I'm a testing maniac and I document, using UML, Wikis, Doxygen, and more.
Linux, Apache, MySQL, WHM, cPanel, Subversion, Mercurial - installation, configuration, administration, and automation.
XHTML/CSS, Python (Django), Php (Yii, RedBean) with MySQL & Sqlite - I have experience with a range of Web Development tools, primarily in Linux environments, and primarily in the backend.
Other Experience
Networking administration and server configuration in Windows, and Debian, Ubuntu, and CentOS Linix.
1½ years technical training & training consultancy - course writing and delivery including C/C++, server administration, networking. Plus, non-IT training experience - 2 years teaching English, and a year as a Skydiving Instructor.
Technical writing - user manuals, technical manuals, system documentation. Writing for Websites, and English-Spanish translation.
Excellent written and oral communications skills. Excellent documenter, writer of training materials, and so forth.
Work History
Senior Analyst/Programmer (Full time C# Developer)
August 2011 - Present
TechnologyOne (ASX: TNE) is a leading enterprise software solutions provider with offices in each State and Territory of Australia,
as well as New Zealand, Asia, the South Pacific and the United Kingdom. For 25 years they have been providing deeply integrated
enterprise software solutions for business, government, financial services, health and community, education and the utilities sectors.
I am rewriting a major component of the TechnologyOne software suite, a high availability distributed job processing server in C#,
rearchitected to maximize performance, reliability, and extensibility while maintaining compatibility with a large code base of
in-house and third party job components running against the TechOne Suite's multiple database platforms. I'm also offering my
expertise and experience in packaging and deployment, continuous integration, testing, and delivery, particularly in proven
technologies in the Linux world for improving processes in this .Net development environment. And I'm involved in the maintenance,
troubleshooting, and ongoing development of core application development framework on which the companies products
are built.
Lead Engineer (Full time Python/Php Developer)
January 2010 - July 2011
Summary:
Architect, developer, trainer, and mentor. My main legacy was the introduction, training, and implementation of
software engineering best practices for clean design and automated testing in a distributed team of developers and
testers, which resulted in the creation of a new product in the CRM Cloud space called Zurmo.
more...
I was based in Buenos Aires, working with software developers and web developers there and in the United States and India.
My generic title reflected my wide ranging experience and senior position which was therefore put to use in a wide selection of tasks.
An important part of my role was directly teaching and tutoring Object Oriented Design & Testing - Architecting, Design Patterns, Refactoring, Unit Test, & Built-In Test. This was done one on one in Skype calls with screen sharing in which I taught
UML, Design Patterns, architecting, and different testing techniques, among other things. I was asked to provide advice on questions of OO, unit testing, and functional testing on a daily basis, and still provide that advice.
In the development of Zurmo I did the architect and proof of concept implementation for a reimplementation which resulted in a complete retooling of development practices to Agile, and changing of the tools used by the company - to make use of
Continuous Integration, Unit, automated, unit, integration, functional & performance testing, moved the company to use Mercurial, and build the new product on CentOS, Debian, and Windows.
June 2007 - December 2009
Living, Travelling & Working in Latin America.
Various things including English Teaching, Spanish/Portuguese to English translation of documents and website content, writing original content in English, and some web development. But mainly time off from the world.
Senior Software Engineer (Full time C++ Developer)
February 2001 - June 2004, July 2006 - June 2007
HF Modernisation Project, Space & Communications Division, Boeing Australia, Brisbane
Summary:
Military communications project in C++ and Python on Windows and Unix using CORBA. I developed CORBA components within a traffic stack which provided end-to-end radio communications between military assets. I brought xUnit style automated testing to the project before CppUnit existed and at a time when Boeing Australia software testing was somewhat immature. My work in this regard was one of the turning points in making this project a success.
more...
The project was a large military communications system. It included a large number of distributed CORBA servers in C++, workflow GUIs and maintenance GUIs in C#, running on a combination of Windows XP, Windows NT, and Linux to control communications hardware for analog and digital HF communications.
My responsibility was in writing some of the primary CORBA servers in a traffic stack providing the end to end HF communications between ground, air, and sea based units. The project is classified and so can't be described in any specific detail.
The implementation was in Visual C++ using the ACE/TAO CORBA implementation. ACE/TAO is an open source implementation of CORBA 2.3 designed for high reliability applications such as aviation and military systems.
Aside from C++/CORBA development my main contributions were the championing of CppUnit style testing, Martin Fowler style Refactoring, and the use of Design By Contract and Built In Test as techniques for ensuring high testability, maintainability, and robustness of the software. This was extremely successful.
I developed a very, very easy to use CppUnit style testing framework providing for checking server availability, concurrency testing, memory leak detection, simplified test writing, results report generation, writing of results to database, generating reports and so forth - before CppUnit existed, based on the description of JUnit in Fowlers book.
January 2006 - June 2006
Holidayed in Australia & New Caledonia.
Windows Software Engineer (Full time C# Developer)
December 2004 - December 2005
Summary:
High performance messaging protocol level development in C# on Unix and Windows with .NET and Mono. I wrote the .NET binding and SDK for the elvin: protocol used to talk to Elvin servers running on Unix boxes. Mantara has since moved it's headquarters to New York where it is seeing great success in high performance trading systems built in C# on Elvin with this product.
more...
Mantara's flagship product was the Elvin Router high performance publish-subscribe messaging server, now the basis for their flagship high performance stock trading systems. The Elvin router is capable of servicing thousands of clients passing tens of thousands of messages per second. It implements the Elvin network protocol identified by the elvin:// url schema. The protocol is implemented in language bindings for Java, Mobile Java, Python, and C/C++. My primary responsibility was the implementation of the .NET binding for the elvin protocol, supplied as an SDK for download from the Mantara website, including assemblies, reference documentation, and programmer's guide. Supporting this internal to Mantara I wrote the build and test infrastructure for nightly authomated build and test on Windows (.NET and Mono), Windows CE (Compact Framework), and Linux and Mac OS/X (Mono) using NUnit, and Clover for Visual Studio.NET.
July 2004 - November 2004
Holidayed in France, Switzerland & Spain.
Senior Software Engineer (Full time C++ Developer)
February 2001 - June 2004
HF Modernisation Project, Space & Communications Division, Boeing Australia, Brisbane
My first stint at Boeing. I returned to this position in July 2006 and the details are found above.
Full time Contract C++ Developer
May 1998 - Febrary 2001
Asset Management Services, Transport Technologies Division, Queensland Transport, Brisbane
Summary:
Digital video system in C++ on Windows and Sun Irix (Unix) platforms for providing digital video of the Queensland road network for engineers, integrated with location data, linkages to road condition data, works planning.
more...
I developed the Digital Video Road system for use by road engineers. Included digitising software, incorporating support for analog video tapes encoded with road data, a viewer supporting display and measuring tools for road/bridge assets and features, an editor for creating and using collections of road videos and data, and an automation interface for integration into Main Roads database road management systems. On Silicon Graphics IRIX 6.2 and Windows clients, when suitable hardware became available I later rewrote it run purely on Windows to reduce user, support, and hardware costs, and updated/improved it to enhance the software as well as provide support for using video on the local area network. It included support to play JPEG stills as video to support data from a new pavement condition data collection vehicle purchased by Main Roads and the proprietry data formats generate by that system. The application was used by Main Roads Districts, Local Government, and engineering contractors and consultants to reduce costs associated with travel to remote locations.
The software was integrated into other Main Roads systems including GIS applications and road condition database tools. It used an ATL COM component for automation in both C++ and Visual Basic applications. The integration was provided to display road condition data in graphs, tables, while viewing the relevant sections of road both playing as video, and displayed on GIS map applications, and more.
I also provided consultancy on object techniques, particularly in training the VB programmers and mentoring them in their learning and application of UML, and the techniques of object oriented design (where they could be applied to the VB of the day), and the use of Rational Rose for analysis and design.
Contractor, System Administration
January 1998 - May 1998
Office of Asset Sales and IT Outsourcing, Australian Federal Government, Canberra
Summary:
For nine weeks I provided all IT services for this temporary ~100 person government department formed especially to administer outsourcing of IT for the largest of the Federeal Government Departments.
more...
Regular duties included providing secure temporary networks for use by staff doing up to $400,000,000 per year contracts tender processes, and administering and providing support to the network used by the ~100 regular staff. I took over this contract temporarily, replacing another person who went on their honeymoon, and additionally - because it desperately needed, I rebuilt their servers to provide disk and server redundancy, put in place a backup regime - previously non-existent, did a security review for the Minister and in my spare moments developed an intranet site for documentation management.
C++ Developer (80%), Systems Design/Integration (20%)
February 1993 - September 1995, February 1997 - January 1998
LAN Systems, Infrastructure Change, Australian Tax Office, National Office, Canberra
Summary:
C/C++ development for support of network infrastructure management on OS/2 and Windows Servers and Windows clients.
more...
LAN Systems was responsible for the infrastructure development of the Australian Taxation Office logical LAN, spanning 26 offices around the country. A Coax Ethernet LAN with, at the time, approximately 300 NT 4.0 Servers and 17,000 Windows 95 clients.
I was senior programmer responsible for C/C++ development to provide functionality on top of that available in the standard products used on the LAN for both system management and to meet business requirements. I was involved in all development, from design through programming, testing, documentation, installation, and maintenance. Development was using Microsoft Visual C/C++, Borland C++, and Glockenspeil C++ (OS/2), in DOS, Windows 3.1, Windows 95, Windows NT and OS/2 LAN Manager environments writing multi-threaded, multi-session Windows to Unix socketed applications, automated upgrades, rolling out of LAN infrastructure, management of roaming users, policies and profiles, before Windows servers had such support, Microsoft Systems Management Server customization, installation services (before products like InstallShield), across the, for that time, extremely large network infrastructure.
Technical Course Developer & Trainer
September 1995 - February 1997
IT Training, Australian Taxation Office, National Office, Canberra
Summary:
Technical trainer for software development, networking, HTML, and other subjects to developers and network administrators.
more...
I wrote and taught courses in C/C++, HTML, TCP/IP, Data Communications, Windows Server administration, and Web design (Tax Intranet), in Canberra and interstate. User through LAN Administrator level trainer, courseware developer & training consultant. Consultant to ATO staff on Network, PC, Systems and Applications training.
C++ Developer (80%), Systems Design/Integration (20%)
February 1993 - September 1995
LAN Systems, Infrastructure Change, Australian Tax Office, National Office, Canberra
My first stint in LAN Systems. I returned to this position in February 1997 and the details are found above.
Education
Bachelor of Science, Computer Science.
Murdoch University, Western Australia, 1992.
9 High Distinctions & 11 Distinctions in 24 courses.
Personal Interests
My main loves are travelling, languages, and philosophy. Otherwise I'm most often found lying in the sun, or swimming, or doing anything involving sun and water.
Mi vida ahora, afuera del trabajo, está casi totalmente en español con mi esposa guapísima. La vida realmente es algo loco y chévere!