- Freelance Systems ProgrammerKonferenz für Kirchliche Bahnhofsmission2015 - PRESENT
Technologies: MySQL, SQL, PHP, HTML5, CSS3
- Engineered an overhaul and extension of a legacy database system with a CGI-based web application.
- Ensured reliable operation by fixing code quality issues and adding required new functionality.
- Improved MySQL database schema to be fully normalised, reducing database size and improving index performance for common queries in the process.
- Removed string concatenation in PHP's HTML output with a template engine to remove cross-site scripting vulnerability.
- Changed ad-hoc database access code from PHP's HTML templates and replaced with an object-oriented Data Mapper design pattern.
- Data Analysis ConsultantExpert Network GmbH2016 - 2016
Technologies: Microsoft SQL, SQL, R
- Integrated various data sources into an Microsoft SQL database for statistical analysis.
- Provided technical consulting on data collection and writing analysis software in R.
- Fixed, optimized, and enhanced a linear regression model written in R to be more widely applicable and faster.
- Freelance Systems ProgrammerParametric Technology Corporation2016 - 2016
Technologies: C++, C++11, C++14
- Designed an interface that custom classes can implement to hook into the serialization and deserialization performed by the Serializer class, consisting of optional writeReplace() and readResolve() methods.
- Freelance Systems ProgrammerParametric Technology Corporation2014 - 2016
- Added WebSocket interface for remote debugging using C++14 and Boost.Asio.
- Implemented an extension of Google's remote debugging API which supports more general host embeddings than web pages in a browser.
- Programmerthink-cell Software GmbH2012 - 2013
Technologies: C++, Boost
- Reworked the Windows API interception for drawing a GUI overlay.
- Solved problems in the inter-operation of PowerPoint and the Windows API.
- Acquired a thorough understanding of the Boost C++ library and recent C++11 features such as lambdas, move semantics, perfect forwarding, and r-value references.
- Enhanced a library for serializing native C++ objects to XML.
- Fixed bugs discovered by users and reported through the company's bug tracker.
- Senior ProgrammerParametric Technology UK, Ltd2006 - 2011
- Implemented a clipping algorithm between arbitrary polygons using precise integer arithmetic.
- Worked on a code generator for C++ wrappers based on interface specifications in W3C's XML-based specification language.
- ProgrammerSüdwestrundfunk2005 - 2006
Technologies: J2EE, Java, Swing, Hibernate, Ant, Eclipse
- Worked on implementing a large-scale J2EE database system using Enterprise JavaBeans (EJB) technology.
- Was in charge of setting up a robust build infrastructure using Ant and Eclipse.
- Worked on a Swing GUI Java-client used for data entry and query.
- Integrated the bug tracking system with the nightly build server.
- ResearcherDaimlerChrysler Research2004 - 2005
Technologies: Perl, Java
- Developed a thesis on "Rule-Based Data Quality Mining", describing how to use association rules for error discovery in very large unknown data sets and evaluating the effectiveness in synthetic as well as real-world applications.
- ProgrammerSüddeutscher Rundfunk1995 - 2003
Technologies: PL/I, C, TCP/IP, CGI, Java
- Added TCP/IP services to a legacy, mainframe-based database system to allow modern clients written in Java to connect to it.
- Developed a CGI-based GUI.
- Developed a Java class library for accessing the mainframe database via TCP/IP.
- Programmerclara GmbH1998 - 1998
Technologies: Pascal, 4D
- Translated a class scheduling system for schools from Pascal into a database-specific proprietary programming language (4D).