All projects

This page contains all my projects, commercial and hobby.

Project Update of my web site
Term 12/2020 - 12/2020
Role Designer, developer, tester
Description Improve design, refactor CSS, use Bootstrap 5
Tech stack Jekyll, JavaScript, HTML5, CSS3, Bootstrap, GitHub pages
URL https://jdinkla.github.io
Project Software service for car operating system
Term 11/2020 - 06/2021
Company Car manufacturer
Sector Automotive
Role Developer and consultant
Description
  • Creating an integration service (MVP) in a car operating system
  • Test driven C++ 17 development
  • Multi-Company project setup: working together with employees from three companies
  • Agile consulting: e.g. improve TDD, pair programming, clean coding, tech debt management
  • Microservices, Agile, TDD, Pair programming, REST
Tech stack C++ 17, Docker, Bash, CMake, Boost
Project Agile software development in the automotive industry
Term 05/2020 - 11/2020
Company Automotive supplier
Sector Automotive
Role Consultant
Description
  • Help the customer becoming agile in the regulated automotive industry
  • Find opportunities to make V model development more agile
  • Agile consulting: e.g. improve fast feedback pipelines, improve management of tech debt
Tech stack Jenkins, Python, Makefile, C
Project Mobile application for drivers
Term 03/2020 - 03/2020
Company Ride sharing company
Sector Ride sharing
Role Full stack developer, frontend, backend and devops
Description
  • Introduce lightweight architecture decision records (ADRs)
  • Introduce management of tech debt
  • Microservices, Agile, TDD, Pair programming, REST
Tech stack Android, Kotlin, Android Studio, Gradle, Firebase, Bitrise, CircleCI, git
Project IoT system for material handling equipment (MHE)
Term 03/2019 - 02/2020
Company Material handling equipment (MHE)
Sector Material handling equipment (MHE)
Role Full stack developer, frontend, backend and devops
Description
  • Two MVPs for managing trucks connected to the internet of things (IoT)
  • Event driven IoT application
  • Teaching React to customer developers
  • Microservices, Agile, TDD, Pair programming, REST
Tech stack
  • Backend: Go, Echo, Protocol buffers, gRPC, Cobra
  • Frontend: TypeScript, React, Redux, webpack, npm, HTML5, CSS, ESLint, Enzyme, React Testing Library, Cypress, Puppeteer
  • Cloud: Amazon Web Services (Lambda, S3, Dynamo, Aurora Serverless, SNS, SQS, Fargate, EC2, Cloudfront), Terraform
  • IoT: MQTT, Lua
  • DevOps: IntelliJ, localstack, docker(-compose), git, pre-commit, Splunk, Concourse
Project Recommendation systems
Term 05/2018 - 02/2019
Company Retail company
Sector Retail
Role Full stack developer, frontend, backend and devops
Description
  • Development and operation of web services for recommendations for customers
  • Migration to AWS, serverless computing architecture using lambda functions
  • Migration to Java 11 and Spring Boot 2
  • Microservices, Agile, TDD, Pair programming, REST
Tech stack
  • Backend: Java 8, Java 11, Spring Boot, Gradle, MongoDB, Spring WebFlux, Kotlin, Kotlin coroutines
  • Frontend: JavaScript, ES6, npm, HTML5, CSS, ESLint, Karma, Jasmine, Mocha
  • Cloud: Amazon Web Services (S3, EC2, Lambda functions, Cloudwatch), Terraform
  • DevOps: GoCD, Kibana, Prometheus, Grafana, Docker
Project Migrating Ray Tracer to Kotlin
Term 02/2018 - 11/2020
Role Designer, developer, tester
Description Refactor the Java and Groovy code to Kotlin
Tech stack Kotlin, Java, Groovy, Gradle
URL https://github.com/jdinkla/from-the-ground-up-ray-tracer
Project Web application for salespersons
Term 02/2017 - 04/2018
Company Global automobile manufacturer
Sector Retail
Role Full stack developer, frontend, backend and devops
Description
  • Development of backend and frontend of software for selling cars
  • Mobile first, agile, test driven, pair programming
  • International, distributed software development team
  • Microservices, Agile, TDD, Pair programming, REST
Tech stack
  • Backend: Clojure, Compojure/Ring, PostgreSQL, MongoDB, Mountebank, OpenSSL, LDAP
  • Frontend: React, Redux, JavaScript, ES6, ES 2016, Jest, Enzyme, npm, Webpack, HTML5, CSS, PostCSS
  • DevOps: GoCD, OpenShift, Kibana, Docker
Project Migration of my blog from Wordpress to Jekyll
Term 11/2016 - 11/2016
Role Designer, developer, tester
Description Export of all post from Wordpress, import into Jekyll
Tech stack Jekyll, Ruby, SQL, Node.js, JavaScript, HTML5, CSS3, Bootstrap, GitHub pages, Disqus
URL https://jdinkla.github.io
Project Web app for visualization of the history of family names
Term 09/2016 - 11/2016
Role Designer, developer, tester
Description
  • Web app created for the culture hackathon "Coding da Vinci Nord"
  • Visualization of historical data for research of family names (genealogy)
Tech stack Java 8, JavaScript, Node.js, Express, Mocha, MariaDB, Neo4J, Angular, D3.js, Underscore.js, Chai, HTML5, CSS3, Bootstrap, Docker, Amazon Web Services (AWS)
URL https://jdinkla.github.io/software-development/2016/11/10/web-app-fuer-die-visualisierung-der-verbreitung-von-familiennamen.html
Project Import and analysis of emails with Elasticsearch in a Spring Boot application
Term 05/2016 - 05/2016
Role Designer, developer, tester
Description
  • Spring Boot application with Spring MVC web Frontend
  • Import of Emails into Elastiksearch with Spring Data Elasticsearch
  • Analysis of emails with Java API, optional with Kibana
Tech stack Spring Boot, Spring MVC, Spring Data Elasticsearch, Elasticsearch, JavaMail API, Jackson JSON, Bootstrap, Plotly, Gradle, Spock, Docker, Groovy, HTML5, CSS3, Kibana
URL https://jdinkla.github.io/software-development/2015/05/25/using-elasticsearch-with-spring-boot.html
Project Web page and email campaign
Term 03/2016 - 04/2016
Role Designer, developer, tester
Description
  • Update of web page, generation of content with Groovy Server Pages (GSP)
  • Software for email campaign from Excel address data
Tech stack Groovy, JVM, GSP, HTML5, CSS3, JavaScript, Ant, Apache POI, XML, XML Schema, Bootstrap
URL https://jdinkla.github.io
Project Book "Die komplexe Perspektive - Einführung in die digitale Wirtschaft"
Term 08/2015 - 02/2016
Role Author
Description
  • Wrote and published a book
  • Big Data, Data Science, Artificial Intelligence
  • Economy as a complex system, Agent Based Modelling (ABM)
Tech stack Dart, NetLogo, Neo4J, Voldemort, CouchDB
URL https://jdinkla.github.io
Project Detection of neighbors with k-d trees, Apache Spark and Scala
Term 06/2015 - 06/2015
Role Designer, developer, tester
Description
  • Installation and configuration of a small virtual cluster with 3 nodes with Ubuntu Server 15.04
  • Configuration of Hadoop HDFS and Spark in cluster mode.
  • Implementation of k-d tree, transformations with Spark RDDs
  • Evaluation wit R
Tech stack Apache Hadoop, Apache Spark, Scala, SBT, ScalaTest, Kryo, VirtualBox, Ubuntu Server 15.04, Ganglia, R, rhdfs, ggplot2, ggmap
URL https://jdinkla.github.io/big-data/2015/07/02/kdtrees-with-apache-spark-and-scala.html
Project Evaluation of multi GPU computing
Term 03/2015 - 04/2015
Role Designer, developer, tester
Description Evaluation, example code and teaching material
Tech stack C++ 11, NVIDIA CUDA, OpenCL, C++ AMP, XCode, Eclipse NSight, Intel INDE
URL https://jdinkla.github.io/gpu-computing/2015/05/05/heat-diffusion-on-multiple-gpus.html
Project Design and Implementation of parallel algorithms with NVIDIA CUDA
Term 04/2012 - 12/2014
Company Manufacturer of laser imaging systems
Sector Software
Role Developer, consultant, tester, coach
Description
  • Tomographic Particle Image Velocimetry (PIV)
  • Design, implementation and optimization of image- and volume-processing algorithms
  • Processing huge data sets on GPUs
  • Processing compressed 3d volumes
  • Image processing, Point based algorithms
  • Parallel algorithms for 2D- and 3D correlations
  • Training and consulting
Tech stack NVIDIA CUDA, C++, OpenMP, MS Visual Studio, Boost, Qt
Project Software for point-of-sale terminals
Term 01/2012 - 04/2012
Company Logistics
Sector Retail, E-commerce
Role Developer, consultant, tester, coach
Description
  • Software for point-of-sale terminals with bar code scanners
  • REST, Representational State Transfer
Tech stack Grails, Groovy, Spring MVC, Hibernate
Project Technical proofer of the book "OpenCL in Action"
Term 08/2011 - 09/2011
Company Manning Publications Co.
Sector Software
Role Technical proofer
Description
  • Review of the book
  • Check of correctness of program code
  • Check of consistency with the OpenCL specification
Tech stack OpenCL, C, C++, Java, Python
Project Parallel ray tracer with DSL for describing scenes
Term 01/2010 - 06/2015
Role Designer, developer, tester
Description
  • Continuation of the optimization of a ray tracer with parallel processing
  • Porting the C++ code to Java
  • Made the code more object oriented
  • Made the code thread-safe for parallel execution
  • Created a Groovy DSL for easy scene creation and manipulation
Tech stack Java, Groovy, Ant, Gradle
URL https://jdinkla.github.io/software-development/2015/07/08/ray-tracing-with-groovy-and-java.html
Project Design and Implementation of parallel algorithms with NVIDIA CUDA
Term 01/2010 - 09/2011
Company Manufacturer of laser imaging systems
Sector Software
Role Developer, consultant, tester, coach
Description
  • Particle Image Velocimetry (PIV), Tomographic PIV
  • Design, implementation and optimization of image- and volume-processing algorithms
  • Processing huge data sets on GPUs
  • Processing compressed 3d volumes
  • Image processing, Point based algorithms
  • Parallel algorithms for 2D- and 3D correlations
  • Training and consulting
Tech stack NVIDIA CUDA, C++, OpenMP, MS Visual Studio, Boost
Project Extension of a data warehouse of a bank
Term 07/2009 - 12/2009
Company Software and consulting company
Sector Banking
Role Designer, consultant, software developer, tester, coach
Description
  • Design, development and test of ETL processes
  • Optimization of SQL queries
Tech stack Oracle, PL/SQL, Java, Eclipse, Groovy, Velocity, XML, XSLT, XPath, Juxy, Xom
Project Performance optimization with parallel processing
Term 02/2009 - 12/2011
Role Designer, developer, tester
Description
  • Optimization of a ray tracer with parallel processing (SIMD, MIMD)
  • Architecture 1: Cell Broadband Engine (Playstation 3)
  • Architecture 2: NVIDIA CUDA (graphics board, GPU computing)
  • Architecture 3: ForkJoinPool of Java 7
  • Architecture 4: OpenMP
  • Design and implementation of parallel algorithms and data structures
  • Performance optimization
Tech stack C++, NVIDIA CUDA, GCC, OpenGL, Java, OpenMP
URL https://jdinkla.github.io/software-development/2015/03/03/examples-for-parallelism-ray-tracer.html
Project Optimization and extension of a data warehouse of a telecommunications company
Term 01/2009 - 07/2009
Company Telecommunications company
Sector Telecommunications
Role Analyst, designer, developer, consultant, coach
Description
  • Reorganization and optimization of the data warehouse, esp. of the ETL architecture and ETL processes
  • Analysis, design and implementation of ETL processes, e. g. Order lifecycle history
  • Coaching of employees, e. g. Ab Initio
Tech stack SAND, Ab Initio, Perl
Project Reorganization and optimization of a Data Warehouse of an Insurance
Term 09/2008 - 12/2008
Company Insurance
Sector Insurance
Role Analyst, architect, designer, consultant, coach
Description
  • Reorganization and optimization of the ETL architecture and of ETL processes
  • Coaching of employees in Oracle, DWH, optimization, test driven software development, TDD
Tech stack Oracle database, PL/SQL, Pentaho Data Integration/Kettle, Oracle Warehouse Builder
Project Analytic Application for forecasting/prediction of sales
Term 05/2008 - 08/2008
Company International mail order and e-commerce company
Sector Mail order, E-commerce
Role Analyst, architect, designer, developer, coach, tester
Description
  • Analytical rich client application
  • Project leader
  • Teaching and coaching
Tech stack Java, Eclipse, SWT, JFace, Eclipse Data Binding, Ant, iBATIS, JFreeChart, JUnit, DbUnit, Apache POI, Hudson, Oracle
Project Java EE/JEE/J2EE Enterprise Application
Term 01/2008 - 04/2008
Company Software and consulting company
Sector Wholesale, E-commerce
Role Architect, designer, developer, consultant, tester
Description Re-Engineering, development and maintenance of an ERP application
Tech stack JEE, J2EE, Java EE, EJB, Java, JBoss, Struts, IBatis, MySQL, JSP, JSTL
Project Game similiar to Scrabble, contribution to Dynamic Languages Shootout 2008
Term 12/2007 - 12/2007
Role Architect, designer, software developer, tester
Description
  • Contribution to the "Dynamic Languages Shootout" for the OOP 2008 organized by JavaSpektrum
  • Result: 6th
  • Searching with Artificial Intelligence
  • Design and implementation of complex algorithms
  • Performance optimization of Java and Groovy programs
Tech stack Groovy, Grails, Java, OOA, OOD, JUnit, Spring MVC, Hibernate
URL https://jdinkla.github.io/games/2008/02/01/dynamic-languages-shootout-oop-2008.html
Project Groovy UML2 builder
Term 11/2007 - 11/2007
Role Designer, software developer, tester
Description Simplification of the usage of UML2 with Groovy
Tech stack Eclipse, Groovy, Java, Eclipse Modeling Framework (EMF), domain specific languages (DSL), UML, UML2, MDT-UML2
URL https://jdinkla.github.io/software-development/2007/11/29/using-uml2-with-groovy.html
Project Data Warehouse Project for a bank
Term 08/2007 - 11/2007
Company Software and consulting company
Sector Banking
Role Designer, consultant, software developer
Description
  • Design, development and test of ETL processes
  • Generation of test data
  • Development of reports
Tech stack Oracle, PL/SQL, Java, Eclipse, Groovy, Cognos 8
Project Groovy application for showing disc usage
Term 06/2007 - 06/2007
Role Designer, software developer, tester
Description Written during learning Groovy
Tech stack Groovy, Java, Swing, AWT, JFreeChart
URL https://jdinkla.github.io/software-development/2007/11/01/rapid-application-development-with-groovy.html
Project Groovy EMF Builder
Term 04/2007 - 06/2007
Role Designer, software developer, tester
Description Simplification of the usage of EMF with Groovy
Tech stack Eclipse, Groovy, Java, Eclipse Modeling Framework (EMF), domain specific languages (DSL)
URL https://jdinkla.github.io/software-development/2007/10/22/using-emf-with-groovy.html
Project Data Warehouse Project for Customers and Revenue
Term 02/2007 - 06/2007
Company International telecommunications company, Bucharest, Romania
Sector Telecommunications
Role System architect, lead ETL designer, consultant
Description
  • Standards for software development methodology, testing framework
  • Source system analysis of CDR records from Amdocs
  • Advice for hardware- and software configuration
  • Design of an ETL framework and ETL processes
Tech stack Oracle, Ab Initio, Informatica, Business Objects, Perl, Ruby, XML, Groovy, ERwin
Project Eclipse-Editor of Common Warehouse Metadata Model (CWM)
Term 01/2007 - 01/2007
Role Designer, software developer, tester
Description Eclipse plugin for experimenting with CWM
Tech stack Eclipse, Eclipse Modelling Framework (EMF), XSLT, Common Warehouse Metamodel (CWM), Meta Object Facility (MOF), UML, EMOF, Ecore, OMG Standards, Java, Eclipse plugin development (PDE), Metadata
URL https://jdinkla.github.io/software-development/2007/10/01/editor-for-the-common-warehouse-metamodel-cwm.html
Project Offer of a contract for work and services for a data warehouse project
Term 01/2007 - 02/2007
Company International telecommunications company, Bucharest, Romania
Sector Telecommunications
Role Author
Description
  • Consolidation and refinement of a draft to the final version of the contract
  • Creation of a project plan
  • Creation of the technical parts of the offer
Tech stack Oracle, Ab Initio, Informatica, Business Objects, MS Project, PowerDesigner
Project Offer for a project for migrating a data warehouses from DB2 for z/OS to DB2 for AIX
Term 11/2006 - 11/2006
Company Insurance Company, Germany
Sector Insurances
Role Technical designer, project planner
Description
  • As-is analysis, feasibility study, design of the migration
  • Coarse project planing and effort estimation
Tech stack IBM DB2, z/OS, AIX, Ascential DataStage, JCL
Project Data Warehouse Project, Creation of an extraction and DQA framework
Term 11/2006 - 12/2006
Company International telecommunications company, Istanbul, Turkey
Sector Telecommunications
Role Analyst, ETL designer, consultant
Description
  • Extraction and quality assurance framework
  • Extraction of data from productive systems with data quality assurance rules
  • Generic framework, generation of meta data from MS Excel files
Tech stack Ab Initio, Teradata, Oracle, Perl, MS Excel
Project Reply to an RfP for a contract of work and services for a data warehouse project
Term 09/2006 - 10/2006
Company International telecommunications company, Bucharest, Romania
Sector Telecommunications
Role Author, analyst, architect, designer
Description
  • As-is analysis, requirements engineering
  • Conceptual design of ETL processes and solutions
  • Design of the technical aspects of the project
  • Design of a migration from Informatica to Ab Initio, Oracle 9i to Teradata
  • Presentation and documentation
Tech stack Ab Initio, Informatica, Oracle, Teradata, Business Objects, MicroStrategy, PowerDesigner
Project European data warehouse project, Email-Service for mobile devices
Term 08/2006 - 08/2006
Company International telecommunications company, Germany
Sector Telecommunications
Role ETL designer, consultant
Description
  • Analysis of the requirements of business users
  • Analysis of concept and interfaces of middleware application
  • Coordination between designers, users and developers
  • Design of ETL processes
Tech stack Oracle, Ab Initio
Project Data warehouse project, revenue and forecasting system
Term 05/2006 - 07/2006
Company International telecommunications company, Tokyo, Japan
Sector Telecommunications
Role ETL designer, developer, consultant, coach
Description
  • Design and implementation of aggregations of CDR records
  • Alignment of two billing systems
  • Definition of standards for Ab Initio and shell scripts
  • Documentation, training, collaboration with quality assurance
Tech stack Teradata, Ab Initio, BTEQ/SQL, Perl, Shell-Skripte, MicroStrategy
Project Editor and viewer for family trees
Term 04/2005 - 04/2005
Role Designer, software developer, tester
Description
  • Private project, prototype
  • Written during learning Eclipse, EMF and GEF
Tech stack Eclipse, Eclipse Modeling Framework (EMF), Graphical Editor Framework (GEF), Java, Eclipse-Plugin-Entwicklung (PDE)
URL https://jdinkla.github.io/software-development/2005/05/10/eclipse-gef-editor.html
Project SQL Editor Prototype for Eclipse
Term 02/2005 - 04/2005
Role Designer, software developer, tester
Description Written during learning Eclipse
Tech stack Eclipse, SWT, Java, Eclipse plugin development (PDE)
URL https://jdinkla.github.io/software-development/2006/03/07/eclipse-sql-editor-plugin.html
Project Development of SAND/DNA for SAP BI
Term 01/2005 - 05/2006
Company SAND Technology
Sector Software development
Role Technical project lead, architect, designer, developer, tester
Description
  • Interface between SAP BW and SAND/DNA (Nearline Storage)
  • Technical project leader in an international team
  • Design and implementation of the SAP BW side in ABAP, middleware in Java
Tech stack ABAP, data modeling, BAPI, AAK, Batch Input, process chains, Java, OOA, OOD, UML, Eclipse, JUnit, Ant, AspectJ/AJDT, XML, CruiseControl
Project Metadata driven ETL development with Eclipse
Term 12/2004 - 04/2005
Role Designer, software developer, tester
Description Generating DLL scripts and import/export-scripts from metadata
Tech stack Written during learning Eclipse and EMF
URL https://jdinkla.github.io/software-development/2006/04/02/eclipse-editor-for-data-warehousing-metadata-with-emf.html
Project Migration concept for the ETL tool Ab Initio
Term 11/2004 - 01/2005
Company International telecommunications company, Germany
Sector Telecommunications
Role Consultant, architect
Description
  • Creation of a migration concept for the ETL tool Ab Initio
  • Definition of standards, guidelines and processes
  • Migration of shell-, perl-, PL/SQL- and Informatica-scripts to Ab Initio
  • As-is analysis of the existing ETL tools, processes and development standards
  • Development of "best practices" for the migration
Tech stack Oracle, Informatica, PL/SQL, Ab Initio, Cognos
Project Data Mart for analysis of customer behaviour
Term 09/2004 - 03/2005
Company International internet trader, Germany
Sector E-commerce
Role Consultant, designer, developer
Description
  • Data Mart for analytical CRM
  • Develoment and optimization of ETL processes
Tech stack Eclipse, Perl, SQL and Java on Sun Solaris and Linux AMD64
Project Data warehouse for analytical CRM
Term 11/2002 - 08/2004
Company International internet provider, Germany
Sector Internet provider
Role Consultant, designer, developer, administrator and tester
Description
  • Design and implementation of a distributed ETL architecture
  • Development of ETL processes with Ab Initio
  • Huge data sets, e.g. historical data with more than 1 billion rows
  • Design and implementation of algorithms
  • "Find the closest store for every customer" (geometric)
  • "Determine the optimal schedule for the ETL processes" (combinatoric)
Tech stack Ab Initio, Eclipse, Perl, Java, Bash, C, Haskell, Sun Solaris, Business Objects, SAS, SPPS Clementine, Brio/Hyperion, ODBC, JDBC, MS SQL Server, Sybase, Excel, Uniserv, SPPS
Project Data warehouses and Business Intelligence
Term 09/2001 - 10/2002
Company Various companies
Sector Book retailer, consulting companies, finance service providers
Role Designer, developer, tester, consultant
Description
  • Development and maintenance of Business Intelligence systems
  • Relational OLAP (ROLAP) and multidimensional OLAP (MOLAP)
Tech stack Oracle Datenbank, Oracle Express, Oracle Designer, Oracle JDeveloper, PL/SQL, Oracle Warehouse Builder, Java, BI Beans, Oracle Application Server, Oracle Web Agent, Apache Web Server
Project Analytical software for telecommunications and energy
Term 10/2000 - 08/2001
Company DWH Decision Warehouse GmbH, Hamburg, German
Sector Telecommunications, Energy, Software development
Role Analyst, designer, developer, tester
Description
  • Business Inteligence system
  • Analysis of telecommunications data
Tech stack OLAP, data mining, active X, COM, Microsoft SQL Server, MS Visual Basic, interfaces to MS office
Project Fraud detection with Artificial Intelligence
Term 01/1999 - 09/2000
Company International telecommunications company
Sector Telecommunications
Role Research associate, consultant, architect
Description
  • As-is analysis and development of improvements
  • Fraud management and fraud detection
  • "Knowledge Discovery in Databases" data mining, data science
  • Fraud management systems, intrusion detection systems
Tech stack IBM DB2, IBM Intelligent Miner, SGI MineSet, Java, Perl, R, PostgreSQL
Project Reengineering system for software maintenance of PL/I programs
Term 03/1993 - 08/1993
Company Consulting company, Cologne, Germany
Sector Software development
Role Designer, developer, tester
Description Development of an analysis program for PL/I-Programs
Tech stack C, C++, Turbo Pascal, Smalltalk, Yacc, PL/I