Dirk Kirsten, Developer in Konstanz, Baden-Württemberg, Germany
Dirk is available for hire
Hire Dirk

Dirk Kirsten

Verified Expert  in Engineering

Software Developer

Konstanz, Baden-Württemberg, Germany

Toptal member since September 23, 2013

Bio

Dirk engineers data-driven applications with a proven ability to develop efficient and scalable solutions on time and within budget. He has extensive experience and interest in building applications using modern web technologies and is interested mainly in building everything from front-to-back.

Portfolio

FORCAM GmbH
Java, Spring, Hibernate, Vaadin, Vue, JavaScript, REST
Senacor Technologies
Java, REST, GWT, Spring, Hibernate, SQL
BaseX GmbH
JavaScript, XML, RESTXQ, SOAP, XQuery

Experience

Availability

Part-time

Preferred Environment

Git, IntelliJ IDEA, Linux, Vue, Java, JavaScript, TypeScript, Flutter, Dart, BaseX

The most amazing...

...thing I've implemented is a matrix factorization algorithm for recommender systems with a low RMSE.

Work Experience

Senior Software Engineer

2020 - PRESENT
FORCAM GmbH
  • Developed solutions around a leading IIoT (Industrial Internet of Things) platform.
  • Specialized in cloud infrastructure and helped in delivering an outstanding cloud experience for our customers.
  • Delivered full-stack applications using Spring, Hibernate, Vaadin, and modern testing technologies.
  • Deployed applications using Docker, Kubernetes, and Helm.
Technologies: Java, Spring, Hibernate, Vaadin, Vue, JavaScript, REST

Senior Developer

2017 - 2019
Senacor Technologies
  • Developed solutions for our customers, usually sizeable German banking institutions.
  • Architected and developed solutions on the client and server-side, including full-stack, using Spring, Hibernate, JavaFX, and GWT.
  • Supported and assisted the customer in realizing their needs and building architectures fitting their requirements.
Technologies: Java, REST, GWT, Spring, Hibernate, SQL

Software Engineer

2012 - 2017
BaseX GmbH
  • Led full-stack development tasks for a SPA with AngularJS. Responsible for all client-side code, unit tests, and end-to-end tests.
  • Planned, architected, and implemented an application and reviewing platform using OData, XForms, BetterForms, RESTXQ, and XQuery.
  • Developed a plugin for TinyMCE to support image addition from a third-party application using JavaScript.
  • Planned and implemented a code-sharing solution for XML and XQuery using AngularJS, RESTXQ, and XQuery.
  • Created an AngularJS application for a nomination and application process.
Technologies: JavaScript, XML, RESTXQ, SOAP, XQuery

Research and Teaching Assistant

2010 - 2012
University of Konstanz
  • Assisted in the "Introduction to Computer Systems" course.
  • Set up a mobile ad-hoc network using a universal software radio peripheral (USRP).
  • Created back-end support and administration scripts for test setups of mobile networks.
  • Conducted security research on the cryptography of GSM.
  • Conducted initial research, configuration, and set up of a web archiving solution using the Wayback Machine.
Technologies: Shell Scripting, JavaScript, Python

Software Engineer

2007 - 2010
IBM
  • Developed e-learning modules for Lotus Notes using JavaScript.
  • Implemented web 2.0 style banking solution prototypes using ICEfaces, Java, Servlets, and Spring.
  • Exploited distributed RAM for parallel joins on MapReduce using Hadoop.
  • Implemented HiperSockets as a data link layer for the Reliable Datagram Socket (RDS) protocol as a Linux kernel module for System Z.
  • Worked on network performance measurement between virtual machines on System Z for various datagram and streaming protocols using Linux on System Z.
Technologies: Java, JavaScript, Vim Text Editor, Linux

Rights Management Tool

I planned and developed a rights management solution for a large publishing house to reduce costs for acquiring reproduction rights and managing licenses. It is a complex single-page application built on AngularJS.

BaseX

http://basex.org
BaseX is an XML database and XQuery 3.0 processor implemented in Java.

Acted as a core developer and performed testing and bug fixing for the BaseX core product. I developed a replicated and distributed version of BaseX for improved performance and fault tolerance. I also added modular functionality, like a random module or a templating system based on Mustache.

Lindau Nobel Laureate Meetings

http://www.lindau-nobel.org/
I architected and implemented a solution called NAPERS for the application and reviewing process of young researchers for the Lindau Nobel Laureate Meetings.

It uses external data storage, which we connect to using OData. The platform itself is programmed in XQuery using RestXQ; the client-side is done using AngularJS (JavaScript). I did the implementation, testing (JUnit, Selenium), and architecture of the system.

OpenAtrium

This project is an internal communication platform, including a wiki, shoutboxes, forum, polls, task management, and calendar, based on OpenAtrium (PHP5, MySQL, LAMP). It is implemented for a German non-profit-organization called Studieren Ohne Grenzen (studying without borders). I set up and enhanced the platform and migrated content from an older legacy solution. I also improved the login functionality to work with proprietary pre-existing user profiles.
2010 - 2014

Master's Degree in Information Engineering

University of Constance - Konstanz, Germany

2007 - 2010

Bachelor's Degree in Applied Computer Science

University of Cooperative Education Stuttgart - Stuttgart, Germany

FEBRUARY 2010 - PRESENT

LPIC-1

Linux Professional Institute

Libraries/APIs

RESTXQ, Vue, Node.js, jQuery

Tools

IntelliJ IDEA, Vim Text Editor, WebStorm, Git, Mongoose

Languages

JavaScript, XPath, XQuery, SQL, XML, Java, TypeScript, Dart, C++, C, Python, PHP

Frameworks

AngularJS, Spring, Hibernate, Vaadin, Flutter, Express.js, GWT

Paradigms

Functional Programming, Scrum, Concurrent Programming, REST

Storage

BaseX, MongoDB, MariaDB, IBM Db2, CouchDB

Platforms

Linux

Other

Shell Scripting, SOAP

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring