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

home
> aboutme
>> cv

translate to German (by SYSTRAN)

Christof Meerwald

Schießstandstraße  tel +43 720 512028
5061 Elsbethen e-mail cmeerw@cmeerw.org
Austria web https://cmeerw.org
 
Nationality: Austrian Languages German, English

Profile

Experienced developer specialising in C++ development, backed by a Master's degree in Computer Science. Versed in several programming languages (C/C++, Python and Javascript) on Unix and Win32 platforms with strong experience in language parsing and static code analysis.

Work Experience

Axivion GmbH

Software Developersince 12/2020
  • Static code analysis for C++, concentrating on the C++ front end.

Christof Meerwald Dev Consulting

Self Employedsince 10/2018
  • Wearable app development for Tizen OS based smart watches: Outdoor Maps, QR Code Generator, Time-based One Time Password, Euro Rates
  • Specialising in C++ coding standards, static code analysis and C++ core language parsing: C++17 constexpr if, fold expressions, inline variables, class template argument deduction, initialization in selection statements, structured bindings, direct-list-initialization of enumerations, u8 character literals, non-type placeholder template parameters, typename in template template parameters, pack expansions in using declarations, lambda capture of *this by value, constexpr lambda, constant evaluation for all non-type template arguments and aggregate initialization of classes with base classes.

Programming Research Ltd.

Senior Software Developer3/20109/2018
  • 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/14/17 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, unicode character types, constexpr. 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
  • Static code analysis for C++: Implementing new static analysis checks, ongoing maintenance and bug-fixing.
  • Contributed to the development of coding standards for AUTOSAR and RePhrase.
  • Mentoring junior developers.

Emnico Technologies Ltd./Emnico Services Ltd.

Senior Software Engineer1/20082/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

Alcatel-Lucent (formerly Lucent Technologies)

Senior Software Engineer12/200512/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/20011/2003; 2/200411/2005
part time:  10/19966/2000; 10/200010/2001; 4/20031/2004
summer internships:  7/19948/1994; 7/19958/1995; 7/19969/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
  • 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

National Service2/20031/2004
  • As an alternative to Austria's compulsory military service: working with people with mental or multiple handicaps.

AT&T Laboratories Cambridge

Summer Internship7/20009/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/19976/2000

Education

10/199610/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/19916/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

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.132, cmeerw.org/aboutme/cv.html
Last modified: Thu Nov 19 21:58:34 2020
Christof Meerwald <cmeerw@cmeerw.org>
XMPP: cmeerw@cmeerw.org