Freelance Systems Programmer2015 - PRESENTKonferenz für Kirchliche Bahnhofsmission
Technologies: CSS3, HTML5, PHP, SQL, MySQL
- 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 Consultant2016 - 2016Expert Network GmbH
Technologies: R, SQL, Microsoft SQL Server
- 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 Programmer2016 - 2016Parametric Technology Corporation
Technologies: C++14, C++11, C++
- 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 Programmer2014 - 2016Parametric Technology Corporation
- 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.
Programmer2012 - 2013think-cell Software GmbH
Technologies: Boost, C++
- 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 Programmer2006 - 2011Parametric Technology UK, Ltd
- 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.
Programmer2005 - 2006Südwestrundfunk
Technologies: Eclipse, Ant, Hibernate, Swing, Java, Jakarta EE
- 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.
Researcher2004 - 2005DaimlerChrysler Research
Technologies: Java, Perl
- 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.
Programmer1995 - 2003Süddeutscher Rundfunk
Technologies: Java, CGI, TCP/IP, C, PL/I
- 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.
Programmer1998 - 1998clara GmbH
Technologies: 4D, Pascal
- Translated a class scheduling system for schools from Pascal into a database-specific proprietary programming language (4D).