Sven A. Schmidt
Software generalist with 20+ years experience building end-to-end systems, database libraries & applications, mobile apps, and leading technical teams.
Physics PhD & CERN alumnus.
Owner – finestructure 04/2012 - today
After co-founding and running a software consultancy for more than 10 years, I founded finestructure in 2012 and worked in London for four years. I’ve led and helped grow development teams (20+ members), and acted as CTO for startups.
Most of my recent projects I’ve worked on as a freelancer via finestructure.
CTO – innogy vbox 08/2017 - today
innogy vbox is an app and service to manage your contracts, subscriptions, or recurring fees. Keep an eye on your running costs, have your contract details all in one place, and be notified when renewals are coming up.
Built with Python, Postgres, Docker Swarm, Redis, Digital Ocean, Azure, and more. I’ve assembled the team, co-authored the backend services and am overseeing the overall development including the Android and iOS apps. I’ve also built our automated testing and deployment process using Gitlab pipelines, which includes UI, snapshot, and end-to-end or integration testing.
Co-Founder & CTO – Analytics Platform 08/2016-08/2017
Responsible for building an analytics platform that connects data providers and email service providers for remarketing purposes. Built using Docker Swarm, Python, Postgres, Redis, AWS, Digital Ocean, and more.
Co-Founder & CTO – OpenCapacity 08/2015-07/2016
Developed a mobile app (iOS) and backend system (Postgres/PostGIS, python, docker) to display capacity information for the c2c rail network, based on the trains’ weight sensors, including forecasting for the week ahead. Implemented capacity reports (pandas/matplotlib, jupyter) covering the whole network for use by the operators.
Head of Mobile Development – blinkbox music, 12/2013-05/2015
Leading the Android, iOS, and Windows Phone teams at blinkbox music. One of my initial priorities was building the mobile team to its full size of five teams of four engineers each. This included hiring as well as promoting and mentoring new leads and making sure the teams remained productive and maintained a good team spirit during this growth and restructuring phase. A major app re-design of the applications as well as delivery of business critical features (subscription, Chromecast) also occurred in this time and required close collaboration with other departments, mainly Product and Marketing. I was a driver behind the restructuring of our dev teams into cross-functional SCRUM teams and steered us towards a more A/B-test and data-driven development approach.
Senior iOS Engineering Lead – blinkbox music, 01/2013-12/2013
iOS engineering lead at blinkbox music, a TESCO subsidiary. Introduction of automated GUI and integration testing via frank and Cucumber, adopted soon after by other teams. Set up of coverage reporting for various test configurations. Release planning and management during the critical rebranding transition from We7 to blinkbox music, including user re-direction across iOS applications. Design and implementation of test procedures for this transition. Responsible for scheduling and recruiting for the growing iOS team. Work is organised in sprints with all changes code-reviewed as a matter of principle.
Platform: iOS, Mac OS X
Technologies: Objective-C, Cocoa, Ruby, Cucumber, CI/Jenkins, git-flow, SCRUM
Senior iOS Developer – UBS, 05/2012 - 10/2012
Development of the data layer, storing data received from online services in a local cache and handling synchronisation of that store with subsequent updates. Strong focus was given to multi-threading and unit test coverage to allow refactoring in this flexible environment without affecting the GUI layer. Development of some reusable GUI components was also part of this project phase. The application suite is customer facing (a target audience of the order thousands of professional users) and therefore interface and interaction design as well as performance were critical aspects. Data protection and security regulations were complied with through local data store encryption, two factor authentication, auto-deletion, and jailbreak detection.
Technologies: Objective-C, Cocoa, CoreData, SQLCipher
Co-founder and CEO – abstracture GmbH & Co KG, 01/2003 - 05/2012
Co-founder and CEO of abstracture GmbH & Co KG, an IT consultancy company (~10 employees). abstracture mainly provides IT consultancy for the financial industry but also develops software for scientific and medical institutions. Responsibilities at abstracture included financial planning, budgeting, business strategy, project management, team leading, tutoring.
Senior iOS Developer – abstracture GmbH & Co KG, 11/2011 - 05/2012
Development of iOS applications using CouchCocoa, TouchDB, and CorePlot. Details are available on request.
Technologies: Objective-C, Cocoa, CoreData, CouchCocoa, TouchDB, CorePlot
Technical Lead – Deutsche Bank, 03/2011 - 11/2011
Architect of a prototype capacity management engine consisting of a No-SQL data store for the performance data and an analyser cluster to perform capacity management tasks (analysis, planning, modelling). The scale of the final 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 several No-SQL competitors (among them 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, iOS
Technologies: Python, CouchDB, eCAP tools, RPyC, GUI design, Cocoa, CorePlot
Senior Software Engineer – Deutsche Bank, 01/2010 - 02/2011 (full time), 03/2011 - 12/2011 (reduced effort)
Architect of a reporting engine driving the global capacity management project of Deutsche 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 web service, 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 X
Technologies: Oracle, Python, SQLAlchemy, Matplotlib, ReportLab
Technical Consultant – Deutsche Bank, 01/2009 - 12/2009 (full time), 01/2010 - 12/2010 (reduced effort)
Consulting for a global process at Deutsche Bank. Activities included development of the data model (Oracle), import of data from various legacy systems using Python and SQLAlchemy (ETL tasks), and the implementation of a reporting system. In the later stages of the project, consultancy regarding Oracle queries was provided for the rest of the development team (resident Oracle expert).
Platform: Linux, Mac OS X
Technologies: Oracle, Python, SQLAlchemy, Java
Senior Software Engineer – DEPFA Bank, 06/2006 - 12/2008
Improvement of the development environment which 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.
Technologies: Version control systems, C++, Python, Sybase.
Senior Software Engineer – DEPFA Bank, 03/2006 - 06/2006
Migration of a legal reporting application from Oracle to Sybase. A significant code base of a legal reporting system interfacing the Summit trading system with the SAMBA legal reporting software written in Oracle/OCI and OTL/OCI was converted to Sybase. This project was performed and successfully completed on a very tight schedule due to regulatory requirements.
Platform: Solaris, Mac OS X
Technologies: C++, OTL, ODBC, Sybase, Solaris.
Senior Software Engineer – WestLB, 10/2004 - 12/2004
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.
Senior Software Engineer – CERN, 05/2004 - 01/2009
Core designer for the COOL project – Conditions Objects for LHC – 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 X
Technologies: C++, Oracle, MySQL, Sqlite, Python.
Senior Software Engineer – Deutsche Klinik für Diagnostik, 07/2002 - 04/2004
Design and implementation of a neonate screening software for the “Foundation for early diagnosis of kidney diseases” and deployment of the software in 20 paediatric practices. The screening data is collected centrally and analysed for a quality assurance report. In addition to the software development task, the role included statistical analysis of medical data collected with both the existing and the predecessor screening project.
Platform: Linux, Mac OS X, Windows, Apache Tomcat
Technologies: MySQL, MS Access, Delphi, Java, Servlets, XML, XSLT.
Senior Software Engineer – Universität Essen-Dortmund, 05/2002 - 02/2003
Design and implementation of KUPFER, an e-learning model project for interactive preparation for written exams initiated at the civil engineering faculty of the University of Essen-Dortmund. The application allows students near the end of their preparation phase for an exam to evaluate their knowledge by performing tests online and receiving immediate feedback. Test categories included simple text based solutions like keyword matching and multiple choice but also graphical problems, for example the shading of certain areas in a map or placing graphical objects on a construction plan. Students would draw their answer on a canvas and their drawing would be automatically evaluated.
Platform: Apache Tomcat
Software Engineer – Aareal Bank, 02/2002 - 12/2005
Design and implementation of legal reporting software for Aareal Bank. The software pre-processes Summit XML output for the SAMBA legal reporting software. In a nightly batch run the application processes the bank’s complete trade portfolio to produce input data for the legal reporting software which would in turn generate legal reports for the German Bundesbank. In addition, the results allowed to preview the liquidity.
Technologies: C++, Oracle, XML.
PhD Student – Universität Mainz / CERN, 04/1998-12/2001
PhD Thesis. Development of a C++ application for statistical analysis of several terabytes of data. In the course of a typical high energy physics data analysis project, the application to compute the results is often run several times per week on the full data set or even more frequently on subsets. Run times would typically be of the order of several hours, and therefore the application’s performance was a critical part of its requirements. In order to bring the run time down to this level of several hours, the application had to run on a computing cluster and in order to leverage all available hardware, it needed to support both Linux and DEC Alpha platforms.
Platform: DEC Alpha, Linux, Mac OS X
Technologies: C++, GNU toolchain, Root Libraries
Diploma Student – Universität Mainz / CERN, 11/1996-03/1998
Diploma Thesis. Development of a C and Fortran application for online processing of NA 48 data in a software trigger. The “Level 3 Software Trigger” was developed as a software system to process the detector data after the second hardware trigger and filter the input data. The application processed approximately 100 terabytes of data in 1998 on a cluster of 42 dual core Linux machines in real time.
Platform: DEC Alpha, SPARC, Linux
Technologies: C, Fortran, GNU toolchain, Distributed Computing, High Performance Computing
Studies: Experimental Particle Physics at the Johannes Gutenberg-Universität Mainz,Germany and the European Organization for Nuclear Research, CERN
Degree: Dr. rer. nat./Ph.D., 2001
Ph.D. Thesis: “Die Zerfallsasymmetrie des radiativen Hyperonzerfalls Ξ0→Λγ” (“The decay asymmetry of the radiative hyperon decay Ξ0→Λγ”), ISBN-13: 978-3826597930
Diploma Thesis: “Entwicklung einer dritten Software-Triggerstufe für das NA48-Experiment” (“Development of a third software trigger stage for the NA48 experiment”)
Other: 11th grade at Lake Hamilton High School, Hot Springs, Arkansas, USA. During that time recognition in “All A’s Honor Roll” and Certificates of Award in “Junior English”, “Trigonometry”, and “Physics”
- German (native)
- English (native level)
- French (intermediate)
- Spanish (basic)