Automatisierung zu Ende denken

Vollständiger Software-Lebenszyklus
  • Anforderungsanalyse & Konzeption

  • Business- und Datenmodellierung

  • Softwarearchitektur

  • Fullstack Development

  • Qualitätssicherung

  • DevOps

  • Teamwork: Training on the Job

Alle Dienstleistungen

Vorausschauende Planung

Am Anfang steht Ihre Vision des fertigen Produkts. Um die Folgekosten bei Entwicklung, Wartung und Betrieb der Software nachhaltig gering zu halten, sollten jedoch bereits zu Beginn die grundsätzlichen Fragen für alle folgenden Phasen geklärt werden. Werden die größten Herausforderungen frühzeitig identifiziert, können sie addressiert und gelöst werden, ohne unnötige Verzögerungen des Projekts zu verursachen.

Mit über 20 Jahren Erfahrung in der Entwicklung von Individualsoftware finden Sie in mir einen zuverlässigen Partner, um die entscheidenden Fragen bereits zu Beginn im Blick zu haben und die Folgekosten für den langfristigen Betrieb auf ein Minimum zu reduzieren.

Kundenstimmen

Herr Daniel Hons ist ein sehr talentierter, begabter und fleißiger Softwareentwickler. Er hat hervorragende Kenntnisse in Go, DevOps, Qualitätsicherung und CI/CD-Pipelines. Er lösst komplexe Sachverhalte schnell und ordentlich. Er ist ein guter Software-Architekt und hiflt wo er nur kann. Er ist freundlich und zuvorkommend. Es macht Freude mit ihm zu arbeiten.

-- Benjamin Pirlich, Head of Product - Data Center Software - Steiger, NorthernData AG

Herr Hons besticht in unseren Projekten durch seine Motivation bei der effizienten Umsetzung der Aufgabenstellungen und ist dabei stets bedacht, für alle Problemstellungen möglichst zuverlässige und wartbare Implementierungen anzubieten

-- Dipl.-Ing. Klaus Zöggeler, Digital Research & Development Leader, INNIO Jenbacher GmbH & Co OG

Kompetent, erfahren und mit großem Effekt half uns Herr Hons in Sachen Systemarchitektur, Produktqualität und Prozessoptimierung. Besondere Alleinstellungsmerkmale waren sein Scharfsinn im Kontext komplexer Systeme, die umfassende Beachtung von Rahmenparametern, sowie die Entwicklung wirklich maßgeschneiderter Lösungen. Ein Informatiker par Excellence.

-- Philipp Kanaan, Team Lead Software Development, NorthernData AG

Daniel Hons kenne ich jetzt seit zwei Jahren. In unserem Institut programmieren viele wissenschaftliche Mitarbeiter, Herr Hons ist meines Erachtens definitiv einer der besten Programmierer, die mir je begegnet sind! Er ist hochintelligent, kreativ, hat eine sehr schnelle Auffassungsgabe und analysiert komplexe Probleme vollumfängliche. Er vermittelt Wissen anschaulich, systematisch und leicht verständlich. Bei Problemen ist er ein zuverlässiger Ansprechpartner und löst diese nach aktuellem Stand der Technik.

-- Dipl.-Ing. Hans-Georg Glöckler, Systemadministrator am Institut für Neuroinformatik an der Universität Ulm

Herr Hons hat unsere Erwartungen in dieses Projekt im vollsten Umfang erfüllt. Er hat die Anforderung effizient und in sehr hoher Qualität umgesetzt.

-- Guy Gorek, Team-Lead - andagon GmbH

Herr Hons hat in unserem Projekt maßgeblich dazu beigetragen, dass diese interdisziplinäre Arbeit erfolgreich absolviert werden konnte. Seine Aufgaben ging Herr Hons stets hoch motiviert an und er zeigte eine große Begeisterungsfähigkeit gerade in Bezug auf das Anwenden bekannter Methoden aus dem Studium in der Praxis und die damit verbundene Zusammenarbeit mit Kollegen aus verschiedenen Disziplinen. Eine hohe Eigenständigkeit sowie eine jederzeit zügige Umsetzung der aufgetretenen Aufgaben kamen ebenfalls hinzu, so dass ich Herrn Hons uneingeschränkt für weitere Aufgaben ähnlicher Natur empfehlen kann.

-- Dr. Steffen Grüter, Lehrstuhl C für Mathematik, RWTH Aachen


Technologien (Auswahl/Trends)

Hier finden Sie eine Auswahl an Softwarekomponenten, die in meinem Portfolio derzeit besonders stark vertreten sind. Bitte beachten Sie, dass diese Aufzählung nicht vollständig ist und das eine Erwähnung nicht automatisch eine Empfehlung bedeutet. Ich wähle Technologien grundsätzlich nach projektspezifischen Kriterien aus.

(Chat-) GPT

Belesener KI-basierter Assistent von OpenAI mit breiten Anwendungsmöglichkeiten

Kubernetes

Die Orchestrierung von Containern wird durch Kubernetes vereinfacht. Es entwickelt sich bei den großen Cloudanbietern derzeit zum Industriestandard.

Git

Das Versionieren von Quellcode ist Dank der von Linus Torvalds geschriebenen, freien Software Git wesentlich leichter und effizienter als zuvor.

Golang

Die Programmiersprache Go setzt sich insbesondere wegen ihrer Effizienz gerade im Microservice-Umfeld immer weiter durch. Ich finde: Zu Recht! Deswegen setze ich derzeit immer öfter auf Go.

ORY Stack

In GO geschriebene Lösungen für Identity und Access Management mit smarter Architektur. Teilweise noch im Alpha-Stadium

PostgreSQL

Etablierte, freie und sehr performante relationale Datenbank und in diesem Segment mein Mittel der Wahl. Wird durch PostgREST noch einmal deutlich aufgewertet.

Hugo

Unglaublich performanter und vielseitiger Generator für statische Seiten. Diese Seite wird mit Hugo erstellt.

gitstream.cm

Automatisierung von typischen Developer-Tasks bei der Verwendung von GitHub

Java

Nicht zuletzt Dank des Springframeworks und Spring Boot ist Java ein zuverlässiger Allrounder für Backends. Mit Technologien wie Thymeleaf und Vaadin lassen sich aber auch Frontends erstellen. Leider ist die JVM recht hungrig nach Arbeitsspeicher.

PostgREST

In Haskell geschriebene Anwendung, die eine PostgreSQL-Datenbank in eine dokumentierte und performante REST-API verwandelt. Kann den Entwicklungsaufwand drastisch verringern!

Docker

Docker ist mit seinen Teilprojekten wie Docker-Compose, Docker-Swarm und Docker-Machine DIE Plattform für Microservices und damit für mich DER Game-Changer des Jahrzehnts.

Spring Security

Perfekt für alles, was mit Authentisierung und Autorisierung, also mit Zugriffsverwaltung zu tun hat.

Shell / Bash

Ein absolutes Muss für die alltäglichen Kleinigkeiten im Zusammenhang mit Docker und CI/CD.

OAuth 2.0

Mit diesem Protokoll lassen sich Berechtigungen feingranular an Dritte delegieren. Oauth ist ebenfalls eine Grundlage für das SSO Protokoll OpenID Connect

Spring Boot

Nicht zuletzt durch Spring Boot wird Java zum großartigen Allrounder für Backends, auch in Microservice-Architekturen, wobei Java dort allgemein eher schwerfällig ist.

Spring Data

Augereifte, konsistente und äußerst komfortable API für Datenpersistierung aller Art. Von mir verwendet wurden (Spring Data) JPA, REST, Neo4J, Redis

Maven

Maven gab es schon, als ich mit Java begonnen habe. Nur wenige Werkzeuge haben sich so lange bewährt. Für mich die erste Wahl!

Jenkins

Pioniersoftware für die Automatisierung von Builds und Deployments.

Keycloak

Komplettes Usermanagement in einem Container. Keycloak unterstützt einige Protokolle aus dem Bereich User & Accessmanagement.

Flyway

Sehr gute Software zum Verwalten von Datenbankmigrationen. Die Integration in Spring Boot ist zuverlässig und kinderleicht.

SQL

Als Standardabfragesprache für relationale Datenbanken natürlich alltäglich.

Docker Compose

Leichtgewichtigt und dennoch recht umfangreich, eignet sich Docker Compose besonders für Entwicklungsumgebungen und einfache Deployments.

Swift

App-Entwicklung für IOS ist für mich die aktuell neueste Technologie.

Nginx

Nützlicher Allrounder in der Microservice-Landschaft. Leichtgewichtig und performant als Webserver, Gateway oder Reverse-Proxy.

OpenID Connect

Dieses Protokoll für Single Sign On setzt sich immer weiter durch. Dies liegt nicht zuletzt an der breiten Unterstützung durch Facebook, Github und Google.

Bitbucket

Atlassians Plattform bietet neben dem Hosting von Quellcode auch die schlanke CI/CD Lösung bitbucket-pipelines. Vor allem kleinen Teams sind hier oft gut aufgehoben.

Thymeleaf

Die Template Engine Thymeleaf gehört zu den wenigen Frontend-Technolgien, mit denen ich wirklich gerne arbeite. Perfekte Integration in das Springframework, sowie recht gute Unterstützung für IntelliJ.

Neo4j

Wenn bei stark vernetzten Daten die relationalen Datenbanken an ihre Grenzen kommen, können Graphdatenbanken weiterhelfen. Mein Fokus liegt hier auf Neo4j mit seiner Abfragesprache Cypher.

Spring MVC

Für Webanwendungen in Java verwende ich fast immer Spring MVC.

Gradle

Gradle ist ein Build und Dependency Management System für Java und deutlich jünger als Maven.

Jackson

Java Library zum Serialisieren in und Deserialisieren von JSON

JWT

Standardisierte, auf JSON aufbauende Access-Tokens zum Austausch verifizierbarer Informationen in Form sogenannter Claims.

Docker Machine

Docker Befehle lassen sich nicht nur auf dem eigenen Rechner ausführen. Docker-Machine kann virtuelle Server anlegen, provisionieren und kapselt die Verbindung zum dort ausgeführten Docker Daemon.

Vaadin

Webframework für die Entwicklung von Rich Internet Applications. Business-Anwendungen lassen sich damit zwar gut umsetzen, allerdings wirkt Vaadin manchmal etwas schwergewichtig.

MySQL / MariaDB

Beliebte OpenSource Datenbank

C-Sharp

Insbesondere in der GUI-Testautomatisierung von mir oft verwendet. Derzeit kein Schwerpunkt. Ein großer Vorteil von C# (.NET) ist LINQ.

PHP

Nach mehreren Projekten bis 2017, wird PHP von mir derzeit nicht verwendet.

Docker Swarm

Vervollständigt Docker Compose zu einem Cluster Management System und ermöglicht so zum Beispiel die Verwaltung von Secrets, zum Beispiel Passwörtern.

Oracle SQL

Enterprise Datenbank.

ory/hydra

Open Source Implementierung von OAuth 2.0. Mit Hydra können Sie Ihr vorhandenes User-Management in Ihre Cloud-Anwendungen integrieren.

Apache Cassandra

Durch die masterfreie Replikation eignet sich Cassandra für Anwendungsfälle mit sehr vielen, insbesondere global verteilten Schreibvorgängen.

Subversion

Dieser etwa fünf Jahre ältere Vorgänger von Git begegnet mir heute eigentlich gar nicht mehr.

Redis

Relativ verbreiteter In-Memory Cache, der Key-Value Paare speichert.

C++

Programmiersprache eines Projekts zur Analyse und 3D-Darstellung von Christallstrukturen. Wird aktuell von mir nicht eingesetzt.

JavaScript

Für meine Smart Home Steuerung verwende ich JavaScript.

Delphi

Nach meinen ersten Gehversuchen mit Turbo Pascal bot sich Delphi (also Object Pascal) als Nachfolger an. Das stellte sich später als gute Entscheidung heraus, da Delphi auch an meiner späteren Schule gelehrt wurde.

Turbo Pascal

Erste Programmiersprache in meiner Kindheit