---------------
Christof.Meerwald@ cv.about.me

home
> aboutme
>> cv

translate to German (by SYSTRAN)

Christof Meerwald

Kingston Road  tel +44 7757 188097
London, SW19 e-mail cmeerw@cmeerw.org
United Kingdom web http://cmeerw.org
 
Nationality: Austrian Languages German, English

Profile

Experienced developer (and member of the ISO C++ Standards Committee) specialising in C++ development, backed by a Master's degree in Computer Science. Versed in several programming languages (C/C++, Python and Java) on Unix and Win32 platforms with experience of low-level network programming and a strong interest in how things work under the hood.

Work Experience

Programming Research Ltd.

Senior Software Developersince 3/2010
  • Quickly became a key member of an elite C++ team by building on previous C++ compiler implementation experience.
    key technologies used: test-driven development
  • Key developer responsible for extending the in-house C++ parser to support C++11 features: auto type specifier, decltype, scoped and strongly typed enums, inline namespaces, explicitly defaulted and deleted functions, explicit conversion functions, rvalue references, variadic templates, noexcept, alias templates, user-defined literals, inheriting constructors, range-based for loops, lamda expressions (including init captures and generic lambdas), uniform initialization syntax, variable templates, nullptr and unicode character types. Ensuring quality of implementation by testing against the boost library and cross-checking test-cases with gcc, clang and Visual C++.
    key technologies used: latest C++ standard working draft together with the C++ core working group issues list
  • Mentoring junior developers.
  • Static code analysis for C++: Implementing new static analysis checks, ongoing maintenance and bug-fixing.

Emnico Technologies Ltd./Emnico Services Ltd.

Senior Software Engineer1/2008 -- 2/2010
  • Network management application development -- concentrating on SMI parser, SNMP/MIB and native code integration for low-level network and OS access. Designed and implemented a versatile framework to access MIB data by auto-generating database data-access functions from MIB module definitions.
    key technologies used: Java + JNI, XML + XSLT, SQL, Apache Derby, SNMP, MIB/SMI, low-level network access
  • Developed an asynchronous TCP/IP communication server.
    key technologies used: C++, Boost
  • Support and continuous development of an optical network management (SONET/SDH) system in a Unix environment (C++ on HP-UX and Linux).
    key technologies used: C++, CMISE, OSI
  • Linux embedded software development.
    key technologies used: C/C++, SNMP, Linux, Python-based code generation

Alcatel-Lucent (formerly Lucent Technologies)

Senior Software Engineer12/2005 -- 12/2007
  • Worked in a global development team on telecom network management software for optical networks (SONET/SDH) in a Unix environment (mostly C++ on HP-UX and Linux) with a Oracle based database backend.
    key technologies used: CMISE, OSI, SQL
  • Low-level architectural work: porting of the low-level networking code from HP-UX to Linux; developed a debugging memory management library to facilitate detecting and tracking down of memory management bugs.
    key technologies used: low-level networking API on Linux (packet sockets), accessing a program's call stack, reading ELF/SOM symbol table

SBS Software Ges.m.b.H.

Software Engineer
full time:  11/2001 - 1/2003; 2/2004 - 11/2005
part time:  10/1996 - 6/2000; 10/2000 - 10/2001; 4/2003 - 1/2004
summer internships:  7/1994 - 8/1994; 7/1995 - 8/1995; 7/1996 - 9/1996
  • Developed several Java/JNI libraries to access Win32 specific APIs: i.a. CEN XFS, shared access to the same RS-232 port by multiple processes.
    key technologies used: Java + JNI, C++, script-based automated code generation, multi-threading, Win32
  • Worked on a J2EE application for monitoring self-service banking terminals: SNMP integration, database maintenance scripts.
    key technologies used: Java + J2EE, WebSphere, SNMP, DB2 SQL
  • Prototyped a custom firmware for the Linksys WRT54G to build a cost-efficient, custom security appliance (firewall and VPN).
    key technologies used: Linux, gcc cross compiler, VPN
  • Developed a replacement for the standard Windows shell (explorer) for self-service terminals that takes care of starting and monitoring application processes and prevents unauthorized access to the operating system desktop.
    key technologies used: C++ using STL and Boost libraries; Win32 API for starting and monitoring processes; COM Automation for inter-process communication and JNI for the Java integration
  • Linux server and network administration: set up a centralised directory service, firewall and VPN (IPsec, OpenVPN) configuration.
    key technologies used: Linux, LDAP, Samba
  • Developed a highly scalable TCP/IP communication server for statement printers.
    key technologies used: C++ using STL and Boost libraries; multithreaded design using Windows NT's I/O completion ports for high scalability

Lebenshilfe Salzburg, Werkstätte Hallein

Community Service2/2003 -- 1/2004
  • As an alternative to Austria's compulsory military service: working with people with mental or multiple handicaps.

AT&T Laboratories Cambridge

Summer Internship7/2000 -- 9/2000
  • Automated and improved the omniORB regression testing suite; developed a black-box CORBA server testing tool in Python, based on annotations in the interface definition (IDL).

HTBLA Salzburg

Linux System Administratorpart time: 9/1997 -- 6/2000

Education

10/1996 - 10/2001: University of Salzburg, Department of Computer Science:
5-year course in Applied Computer Sciences leading to a Master's degree ("Dipl.-Ing.");
specialised in distributed systems and wrote Master's thesis about distributed simulation: "CORBA-based Conservative Distributed Discrete Event Simulation"
9/1991 - 6/1996: HTBLA Salzburg (secondary technical school for electronics/informatics):
"Matura" (A-levels) with distinction

Independent Coursework

  • Introduction to Databases - Coursera (Jennifer Widom, Stanford)
  • Cryptography - Coursera (Dan Boneh, Stanford)
  • Algorithms: Design and Analysis, Part 1 - Coursera (Tim Roughgarden, Stanford)
  • Heterogeneous Parallel Programming - Coursera (Wen-mei W. Hwu, UIUC)
  • Algorithms: Design and Analysis, Part 2 - Coursera (Tim Roughgarden, Stanford)
  • Microeconomics Principles - Coursera (José Vázquez-Cognet, UIUC)
  • Pattern-Oriented Software Architectures for Concurrent and Networked Software - Coursera (Douglas C. Schmidt, Vanderbilt)

Additional Skills

  • ISO C++ Standards Committee Member
  • Programming in C, C++ (including STL and some Boost libraries), Python and Java (incl. JNI) with the ability to quickly understand an already existing, complex code-base.
  • Development for Linux/POSIX platforms and Win32.
  • Strong understanding of multithreaded development (i.e. concurrency, race-conditions, contention, thread-local storage)
  • Contributor to StackOverflow for linux, sockets and multithreading tagged questions.
  • Working on a socket abstraction library for C++ similar to Boost asio, but with better multithreading scalability.
  • Developed and currently running JabRSS, an RSS (RDF Site Summary) headline notification service for Jabber/XMPP.
  • Significant contributions to LoquiIM, a multi-protocol instant messaging client written entirely in HTML5 and JavaScript. Implemented end-to-end encryption based on the Signal Protocol.
  • Developed a HTML5-based map application for Firefox OS.
  • Developed a lightweight SIP forwarding server (stateless SIP proxy) as well as a lightweight exim greylisting server using a SQLite backend.
  • Past contributor to the Open Watcom C++ compiler: major improvements to the C++ front-end (i.e. partial template specialization and partial ordering of class templates, template functions, namespace support and general C++ standard compliance).
  • Contributed Linux-specific epoll connection handling code to the Open Source jabberd2 XMPP server to improve scalability for high number of concurrent connections.
  • Open Source advocate familiar with many widely used Open Source licences (and with a good understanding of the implications of using Open Source software in a commercial environment).
  • Organising and leading day trips for small groups.

This CV is also available as PDF and Microsoft Word/RTF: cv-cmeerw.pdf, cv-cmeerw.doc.

---------------

This Web page is licensed under the Creative Commons Attribution - NonCommercial - Share Alike License. Any use is subject to the Privacy Policy.

Revision: 1.125, cmeerw.org/aboutme/cv.html
Last modified: Sun Dec 11 10:40:37 2016
Christof Meerwald <cmeerw@cmeerw.org>
XMPP: cmeerw@cmeerw.org