Michael Graf

F
u
l
l
s
t
a
c
k
D
e
v
e
l
o
p
e
r
Michael Graf
Wissen ist begrenzt und nur wer es teilt, kann es erweitern.
Michael Graf

Willkommen

Mein Name ist Michael Graf, ich bin 38 Jahre alt und wohne in Großburgwedel. Mit dieser Homepage möchte ich zeigen woran ich arbeite und was meine Fähigkeiten als Softwareentwickler sind. Zum anderen dient sie auch als Plattform für Artikel die ich über diverse Themen verfasst habe.

Ich bewege mich in zwei Welten die gegensätzlicher nicht sein könnten, die aber in Summe den perfekten Ausgleich schaffen und mich im Gleichgewicht halten. Da diese Homepage nur die eine "extreme" Seite von mir zeigt, möchte ich deshalb kurz die andere Seite erwähnen: Ich treibe seit meiner Kindheit sehr viel Sport und habe von Schwimmen, Fahrrad und Inliner fahren über Fußball, Volleyball, Tischtennis, Handball, Basketball so gut wie alles mal gespielt (vieles auch im Verein) aber mein Lieblingssport ist seit jeher Badminton, den ich seit 29 Jahren leidenschaftlich ausübe und wer mich aus dem Umfeld kennt oder wen es interessiert, der kann auf turniere.de meine Statistik ansehen. Zudem liebe ich Wanderurlaube und durch unseren Hund habe ich regelmäßige Bewegung bei Wind und Wetter und mag es auch einfach mal im Garten was zu schaffen oder dort zu entspannen. Dort habe mir das Jonglieren mit 5 Bällen beigebracht und ab und an begebe ich mich auf meine Slackline zum balancieren.

Aber jetzt zu der nerdigen Seite. Im Folgenden findet ihr in Themen aufgeteilte Kacheln in denen ich auf meine verschiedenen Projekte eingehe.

Künstliche Intelligenz (KI)

Mit dem Thema Intelligenz und im Speziellen mit Künstlichen Neuronalen Netzten (KNN) habe ich mich bereits vor einigen Jahren auf theoretischer Basis beschäftigt und habe Artikel darüber verfasst.


Seit kurzem habe ich begonnen Neuronale Netze auch zu entwickeln und sie über eine Oberfläche benutzbar gemacht. Bisher habe ich 2 Netze entwickelt. Die eine KI kann aus vielen Punkten in einem 2-Dimensionalem Raum eine Klassifizierung durchführen und alle Punkte nach 2 verschiedenen Klassen bewerten und sie entsprechend einfärben. Die andere KI erkennt handschriftlich gezeichnete Zahlen von 0 – 9 und bewertet die vom Benutzer gemalte Zahl entsprechend.

Quantencomputer

Hier verbinden sich meine beiden Lieblingsthemen miteinander Physik und Softwareentwicklung. Kein Wunder also, dass ich dem Quantencomputer voll und ganz verfallen bin. Genauso wie mit der Künstlichen Intelligenz habe ich mich vor langer Zeit (sogar als Facharbeit im Studium) auf theoretischer Basis damit beschäftigt.

Download Facharbeit

In meinen Artikeln erkläre ich die Funktionsweise, die physikalischen Phänomene die dafür notwendig sind und gehe auf einige Details ein, wie z.B. ein Quanten-Gatter um Rechenoperationen als Hardwarebauteil zu realisieren.


Auch hier hat mich dann natürlich der praktische Teil gereizt und ich habe den technischen Durchstich gewagt, so dass meine Homepage über eine REST-Schnittstelle ein von mir in Phyton mit dem Google Framework Cirq geschrieben Quantenalgorithmus benutzt um echte Zufallszahlen anzeigen zu lassen.

Astrophysik

Ich bin zwar beruflich Softwareentwickler, aber meine eigentliche Leidenschaft ist die Physik. Mit der beschäftige ich mich schon länger als mit der Informatik und bin dort für einen der sich nicht beruflich damit auseinandersetzt, zum Teil sehr tief im Detail. Mein Lieblingsbereich ist die Astrophysik da sie alle für mich relevanten Fragen beantworten kann und die die noch fehlen, in Zukunft sicherlich beantworten wird.

Dort stecke ich sogar so tief drin, das ich es gewagt habe zu den großen Fragen der heutigen Zeit (Dunkle Materie, Dunkle Energie, Schwarze Löcher und dem Ursprung unseres Universums) eigene Theorien zu entwickeln und habe sie in sehr anschaulichen Artikeln niedergeschrieben.

Softwareentwicklung

Mein Kerngebiet, mit dem ich mein Brot verdiene. Als Fullstack Developer fühle ich mich beim Entwickeln einer eleganten, stylischen Oberfläche genauso wohl, wie beim Designen einer technischen Architektur, beim Schreiben eines effizienten Algorithmus oder beim Erarbeiten einer optimierten Datenbankabfrage. Die Oberfläche gibt mir ein visuelles Feedback bei dem ich den Vorschritt, genau wie ein Maler der ein Gemälde malt, betrachten kann. Andererseits kann ein Backend ebenso befriedigend sein, denn es ist wie bei einem Architekten, der ein schier unmögliches Gebäude mit einer sehr komplexen Statik entwirft und darauf womöglich stolzer ist, als auf die Optik der Fassade oder das Lichtspiel im inneren.

Neben dem großflächigen, technischen Wissen das man erlernen muss, steigt man ebenso tief in verschiedene fachliche Themen ein, die man vollständig verstehen muss um einen Prozess zu automatisieren, zu unterstützen und zu verbessern. So lernt man viele Berufe in einem Detailierungsgrad kennen, als würde man ihn täglich selber ausüben. Das bringt eine große Vielfalt mit sich die überaus spannend sein kann und wertvoll ist.

Als persönliche Stärke sehe ich meine Auffassungsgabe sehr komplexe Zusammenhänge vollständig zu verstehen, zu vereinfachen und die wesentlichen Informationen auf den Punkt bringen zu können. Durch meine Empathie, bin ich in der Lage zu einem Thema, jeden genau dort abzuholen wo er steht. Zudem denke ich sehr wirtschaftlich und verstehe sowohl die Bedürfnisse der Geschäftsleitung und deren Unternehmens-Strategien, als auch die technischen Hindernisse in der IT und kann als Vermittler beide Welten in einem optimalen Kompromiss zusammenbringen.

Wer mehr über meine beruflichen Fähigkeiten wissen möchte, kann sich hier mein Lebenslauf ansehen. Darunter ist eine Auflistung der Technologien die ich beherrsche und die Verlinkung zu den Projekten, in denen ich sie eingesetzt habe.

Technologien, Methodiken und Tools

Folgende Technologien habe ich Laufe der Jahre in diversen Projekten eingesetzt. Beim Klick auf eine der Technologien, öffnet sich ein Dialog mit den Projekten, in denen ich diese Technologie benutzt habe. Klickt Ihr auf ein Projekt, gelangt ihr auf die IT-Projekte-Seite die chronologisch alle meine IT-Projekte mit Beschreibung und einem zeitlichen Diagramm darstellt.


Scrum
,
Spring Boot
,
PostgreSQL
,
Java
,
REST
,
TypeScript
,
SCSS
,
Angular
,
Hibernate
,
D3 Data-Driven Documents
,
Flyway
,
Testcontainers
,
Rabbit MQ
,
IntelliJ IDEA
,
Maven
,
Git
,
Gitlab CI/CD
,
Jira
,
Linux Server
,
PWA
,
Domain Driven Design
,
Microservices
,
Docker-Compose
,
KeyCloak
,
nginx

Krypto-Trading

Und wieder habe ich ein Hobby zum Projekt gemacht. Seit Jahren trade ich Krypto-Währungen und habe die API der Trading-Plattform Binance benutzt, um mir meine Übersichten selber zu bauen. So habe ich angefangen meine (Ver)Kauf-Entscheidungen auszuwerten und in Frage zu stellen. Dann habe ich mir überlegt, dass meine Entscheidungen möglicherweise viel besser wären, wenn sie nach klaren Regeln ablaufen. So habe ich mir ein komplexes Regelwerk geschrieben, um optimale Kauf-Zeitpunkte zu identifizieren und bin mit einem Gewinnabsicherungs-Modus auf die zukünftige Kurvenentwicklung mehr oder weniger vorbereitet.

Hier ein kleiner Ausschnitt aus einer bereits stark veralteten Regel. Aktuell läuft der Bot mit einem kombinierten Ansatz aus 5 verschiedenen Herangehensweisen recht zufriedenstellend.

Regeln für Handel

Zusätzlich brauchte ich ein Werkzeug um diese Regeln testen zu können, denn woher weiß ich, dass die eine Konfiguration besser ist, als eine andere? Also habe ich ein Kurvendiagramm entwickelt in dem ich die (Ver)Kauf-Entscheidungen einzeichne und den daraus folgenden Gewinn/Verlust errechne. Der Testalgorithmus geht Punkt für Punkt durch die Kurve und entscheidet zu jedem Moment so, als wäre der aktuelle Punkt grade jetzt. Also er verarbeitet selbstverständlich nicht die Zukunft beim Testen, das würde ja schließlich nichts bringen, denn die Lottozahlen weiß ich nach der Bekanntgabe auch.

Zudem können innerhalb der Kurve zwei Punkte miteinander verglichen und Durchschnitts Lienen gezeichnet werden, um die Regeln schnell und zielgerichtet zu optimieren. Auch hier ein stark veraltetes Bild der Kurve mit den eingezeichneten (Ver)Kauf-Entscheidungen.

Preiskurve

Den aktuellen Stand des Regelwerks und des Kurvendiagramms möchte ich bewusst nicht öffentlich machen, um meine Ideen zu schützen.

Habe ich euer Interesse geweckt?

Dann meldet euch unter info@mg-it.de.