SQL, Oracle, ORMs, No-SQL, CouchDB, BI, iOS, Mac OS X
Projekt‐ & Berufserfahrung
12/2011 – 4/2012Tätigkeitsbeschreibung
Development of iOS applications using CouchCocoa, TouchDB, and CorePlot. Details are available on request.
Technologies: Objective-C, Cocoa, CoreData, CouchCocoa, TouchDB, CorePlot
3/2011 – 11/2011Tätigkeitsbeschreibung
Architect of a prototype capacity management engine for a large German bank, consisting of a No-SQL data store for the performance data and an analyzer cluster to perform capacity management tasks (analysis, planning, modeling). The scale of the eventual system is set to be 40,000 monitored servers. Analysis will be executed partially on demand and partially in a daily batch process.
CouchDB was chosen as a database back-end for the prototype after evaluating the following No-SQL competitors: Cassandra, MongoDB, and Riak.
In addition to the technical role for the back-end, GUI design based on iPad mock-ups was provided and a prototype iPad application was developed.
Platform: Linux, Mac OS X, iOSTechnologies: Python, CouchDB, eCAP tools, RPyC, GUI design, Cocoa, CorePlot
1/2010 – 3/2011Tätigkeitsbeschreibung
Architect of a reporting engine driving the global capacity management project of a large German bank. The reporting engine produces PDF reports of capacity management data with various chart types and tabular data. Its functionality is exposed as a SOA webservice, accessed from the AquaLogic BPM suite (now Oracle BPM).
The reports consist of multi-page PDFs covering a range of applications and services across approximately 40,000 servers. This included various report types, for example global or regional reports, and reports per data center or business unit.
Platform: Linux, Mac OS XTechnologies: Oracle, Python, SQLAlchemy, Matplotlib, ReportLab
1/2009 – 12/2009Tätigkeitsbeschreibung
Technical consultant for a global process in a large German bank. Activities included development of the data model (Oracle), import of data from various legacy systems using Python and SQLAlchemy (ETL tasks), and implementation of a reporting system.
In the later stages of the project, consultancy regarding Oracle queries was provided for the rest of development team.
Platform: Linux, Mac OS XTechnologies: Oracle, Python, SQLAlchemy, Java
8/2008 – 12/2008Tätigkeitsbeschreibung
Co-author of the iPhone application Slam it!, first released on the Apple App Store in November 2008. While it lead to an actual App Store release, this project was primarily aiming at executing a complete release cycle with a non-trivial application and to use it as a showcase development effort.
Platform: iOSTechnologies: Cocoa, Objective-C, Xcode
6/2006 – 12/2008Tätigkeitsbeschreibung
Improvement of the development environment of a German bank. The development environment consisted mainly of Summit C++ applications managed by an RCS source code repository and a custom in-house release management system.
In the course of this project, the RCS repository was converted to subversion and the Trac wiki and issue management system was deployed. To improve code quality, test driven development was introduced, along with static code analysis.
Training was provided for the development team in these technologies and concepts and as a best practice showcase project, a C++ database access library (Solaris/Sybase) was developed.
In addition, the role included release management.
Platform: SolarisTechnologies: Version control systems, C++, Python, Sybase.
3/2006 – 6/2006Tätigkeitsbeschreibung
Migration of a legal reporting application from Oracle to Sybase for a German bank.
A significant code base of a legal reporting system interfacing the Summit trading system to the SAMBA legal reporting software written in Oracle/OCI and OTL/OCI was converted to Sybase. This project was performed on a very tight schedule due to regulatory requirements.
Platform: Solaris, Mac OS XTechnologies: C++, OTL, ODBC, Sybase, Solaris.
10/2004 – 12/2004Tätigkeitsbeschreibung
Tuning and refining of a database application for Basel/II legal reporting. Data from two input sources is merged, validated, and pre-processed in an Oracle application and subsequently used to create legal reports.
Technologies: Oracle, PL/SQL.
5/2004 – 1/2009Tätigkeitsbeschreibung
Core designer for the COOL project1 Conditions Objects for LHC2 which provides a common conditions database API for the LHC experiments. COOL is a cross-platform API and library, designed for a large technical user base, who includes it in their analysis software to access the conditions data during event processing. Since event processing performance is critical (due to the large data volume) high performance and high levels of concurrency of the library are essential.
The introduction of test driven design to the project has helped reach these goals with a comparatively small team, while achieving quick turn-around and maintaining very good code quality. The concepts employed in the COOL project have subsequently been adopted by other CERN projects with great success.
Platform: Linux, Mac OS XTechnologies: C++, Oracle, MySQL, Sqlite, Python.
In recent years my main are of work has been the back-end, typically database driven, but I've always stayed up-to-date on the front-end side, both on the web as well as iOS and Mac OSX. I've maintained several iOS and OS X projects "on the side", some to solve an actual personal computing need, some to learn new technologies.
I'm comfortable with things deeply technical but I understand and enjoy good (UI) design just as much.