­Curriculum Vitae
 

Dennis Schafroth

Elmegade 28, 3. tv.

2200 København N, Denmark

Skype: schafdog

 Personal

I was born June 8th 1967 in Denmark, but have Swiss citizenship. I like to cook spicy food and occasionally enjoy it with good microbrew or wine. Some of my hobbies are beer brewing, photographing, biking and living out a long time dream for classic two-seater cabriolets by having bought my first car ever, a 2003 Mazda MX-5, in 2015.

I run my own servers for mail, web and DB (mysql, postgresql) on a High-Availability cluster using Ansible and Docker on Debian Linux nodes. I prefer Mac OS X for desktop. I am working on an open-source project, csync2, which does file synchronization between the nodes. Experimenting with cluster file systems such as Gluster FS and Ceph.

I have followed iPhone SDK since the beginning, had one app in App Store and have recently done work in Swift on iOS and Linux.

 Education

Master in Science, Engineering, Informatics, Technical University of Denmark, 1995. Thesis: “Search Strategies in Enumerative Methods” with software written in C++.

 Summery

22+ years experience in designing and development of mostly backend systems in Java, C++ and C, some experience in mobile and embedded development, customer interaction, technical project management and team lead role.

 Methodologies

Object-oriented Analysis/Design, Enterprise Design/Integration Patterns, Agile methods and Unified Modeling Language.

 Programming Languages and Frameworks

Java (Servlets, Web Services, Spring, JAXB, Hibernate, Tapestry), C, C++, Swift, Python, Go, Unix shell scripting, Ruby (on Rails), Perl, JavaScript.

 Protocols and Standards

TCP/UDP, IP, HTTP/S, XML, Z39.50, SRU, HTML, JMS, SOAP, RMI, CGI, SMTP, IMAP, SNMP, LDAP, MPEG-2, DVB standards.

 Databases and Indexing

SQL in general, C API towards MySQL/MariaDB, PostgreSQL, SQLite and Oracle,  database design and basic administration. Distributed Solr and interest in NoSQL databases.

 Platforms

Unix (OS X / Linux / Solaris), Windows.

 Languages

Danish (native), English and German.

 

 Work Experience

 

 Topdanmark, Ballerup, Denmark (Aug '15 – )

Senior Integration Architect

Implementing a new Integration strategy and platform using Mule ESB, ActiveMQ and Hazelcast and SQLServer.

Implementing 24/7 services for Capturing documents/data, Archiving and Journalising documents between other services running on mainframe and de-central platforms.

Designing and implementing REST APIs (XML and JSON)

Java development in extending Mule components and maintaining older software.

Creating Jenkins job for Continuous Integration and Delivery

DevOps for the new platform in such as building script for automatic deployment on development machines and integration and staging environments. Releasing and monitoring on production

 AutoRemind, Copenhagen, Denmark (Feb '15 – May '15)

Senior Software Developer

Implementing administration tool using web front end (HTML+AngularJS) and Backend (Java+MySQL) for Reminder System.

Extend Windows and Mac OS X installer.

 SAST-MFA, Barcelona, Spain (May '14 – Aug '14)

Software Developer/Architect

Working for a start-up with the vision to make flight traveling pleasant again, currently offering automated check-in, later seat upgrades, Lounges passes and similar services. The platform is built in Python with a MySQL database.

Maintained the servers and produced script for deployment of software.

Stopped due to lack of funding for salaries.

 Index Data, Denmark (Nov '09 – Apr '14)

Software Developer/Architect

Data Harvester implemented in Java for harvesting using OAI-PMH, HTTP, transforming XML using XSLT chains and indexed into a Solr index in both master/slave setup and distributed. Creating Debian packages scripts

Supporting, extending an open source meta searcher (pazpar2) written in C, searching multiple Z39.50, SRU and Solr targets, which are all widely used within the Library sector.

Supporting and extending an open source code library (yaz) implementing search protocols (Z39.50, SRU), widely used in Library industry and at universities, HTTP protocol stack and other common used code, used in Index Data's software.

Implementing modules for MetaProxy written in C++.

Configure and maintaining Continuous Integration (Jenkins) for the software.

Extending the Company Screen Scraping / Automation Engine.

 

 MobilePeople, Denmark (Feb '07 – July '09)

Senior Software Developer & Team Manager

Maintaining and developing on Mobile Search back-end solution written in Java. The system supports Java, SMS and WAP Clients, using technologies such as Java Servlets, Spring Frameworks, Hibernate, MySQL and Resin servlet container.  

Product & Team Manager for the Service Delivery Platform, which also is responsible for our Reporting System.

Technical Lead in a project for a European Local Directory Customer operating in 5 countries.

Due to my role and experience, I was mentor for some of the younger Colleagues.

 Copenhagen Airports, Denmark (Aug '04 – Feb '07)

IT Consultant, Traffic Systems

I designed and developed 24/7 back-end systems in C++ and Java.

I implemented a system to receive Air Traffic Control (ATC) messages, correlating the information with Copenhagen Airports schedule and resource information retrieved from Oracle Database and other systems. The system delivers the combined information to a Ground Radar system and back to the ATC Tower system. It is based on Java Messaging System (SwiftMQ), and is implemented using techniques as JAX-WS, XML, SOAP, Hibernate and Spring based on an Enterprise strategy of loosely coupling and redundancy.

Another project was a Flight Information Systems for internal use, also in Java. It was a three-tier system with focus of decoupling the clients from the servers in respect to scalability and stability, extensible using a plugin architecture.

Of other activities, I was involved in R&D projects for IT Architecture Group in such as investigating into a possible Enterprise Service Bus for CPH and new tools selection.

 Danish Broadcasting Corp. (DR), Denmark (Jun '02 – Jul '03)

Technical Architect, Interactive TV

I managed a group of developers on a project to implement an Interactive TV Infrastructure and Set-top-box software using technologies like J2EE, XML, MHP and Oracle. I designed the system architecture, negotiated technical aspect with Network operators and vendors. The visible end-result for TV viewers was an Interactive TV service to be broadcasted in synchronization with regular broadcast on 3 different satellite- and cable networks, targeting the Danish Population with a Digital TV Receiver.

 Visionik A/S, Denmark (Dec '01 – Jun '02)

Senior Software Engineer

I researched into Multimedia Home Platform for purpose of designing generic Java/MHP components and tools for rapid service implementation. I did low-level testing of new MHP implementations and set-top boxes from external vendors/partners.

 AGENCY.COM Interactive TV, USA (Mar '01 – Dec '01)

Senior Software Engineer

I was stationed abroad for 9 months to build an Infrastructure for Interactive TV development and demonstration. During this period I also did technical research of the North American market for Interactive TV, trained local staff, and performing the technical part of sales pitches. I was team leader for a team of three building an interactive application in HTML 4 and Java Script for Cablevision, New York, on a Sony set-top-box.

 AGENCY.COM Copenhagen, Denmark (Oct '98 – Feb '01)

Senior Software Engineer

Note: Visionik A/S merged with AGENCY.COM in 1999.

Implemented in C++ a Management and Monitoring System for Interactive TV Services in Digital TV Head-Ends for 24/7 production. It included redundancy protocols and systems. I also trained customers, did deployments and acceptance testing throughout all of Scandinavia.

 Visionik A/S, Denmark (Jan '97 – Oct '98)

Senior Software Engineer

Designed and implemented database-driven web sites on Windows with MS SQL and Unix with Informix.

 DSC Communication A/S, Denmark (Oct '95 – Jan '97)

Software Engineer

Developed Tele Network Management software for Fiber Optics using C++ and CORBA on a Windows platform.

 MÆRSK DATA A/S (Aug '95 – Oct '95)

Software Engineer

Developed Tools for OS/2 and Mainframe connectivity.

 

 Personality Type

According to Myers-Briggs Type Indicator, I am an Introversion, Sensing, Thinking, Perception type:

ISTPs excel at analyzing situations to reach the heart of a problem so that they can swiftly implement a functional repair, making them ideally suited to the field of engineering. Naturally quiet people, they are interested in understanding how systems operate, focusing on efficient operation and structure. But contrary to their seemingly detached nature, ISTPs are often capable of humorously insightful observations about the world around them. ISTPs abhor waste (be it in time, effort, or resources) but are highly adaptable, making them open to new information and approaches. They enjoy exploring new things, and can become bored with repetitiveness and routine.”

 References