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 und ich bin 36 Jahre alt. Ich wohne in Großburgwedel und arbeite dort bei Rossmann als Softwareentwickler. Mit dieser Homepage möchte ich zeigen woran ich sowohl beruflich als auch privat 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.

Trotz meines intensiven, privaten Entwicklungsaufwands befinde ich mich in einem guten Gleichgewicht aus viel Sport auf sehr hohem Niveau und regelmäßigen ausgedehnten Spaziergängen/Wanderungen mit unserem Hund oder was schaffen und entspannen im Garten. Mein Lieblingssport ist Badminton, den ich seit 27 Jahren leidenschaftlich ausübe und wer mich kennt oder wen es interessiert, der kann auf turniere.de meine damalige Spiele Statistik ansehen.

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 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 zwei sehr anschaulichen Artikeln niedergeschrieben.

Softwareentwicklung

Mein Kerngebiet, mit dem ich mein Brot verdiene. Ich sehe die Softwareentwicklung als eine Art Handwerk, da man etwas erschaffen kann was vorher nicht da war und das viele einfach benutzen können. Ich bin zwar sonst nicht handwerklich begabt, was ich allerdings auf mangelndem Interesse und nicht auf Unfähigkeit zurückführe, doch in der virtuellen Welt schein es genau mein Ding zu sein.

Dabei fühle ich mich beim Entwickeln eines komplexen, stylischen Oberflächenelements manchmal nicht so gut, wie beim Entwickeln einer technischen Architektur, eines effizienten Algorithmus oder auch eine optimierten Datenbankabfrage, obwohl das Oberflächenelement mir einen visuellen Feedback gibt und man den Vorschritt, genau wie ein Maler der ein Gemälde malt, betrachten kann und es einem ein gutes Gefühl gibt wenn es schön anzusehen ist. Denn wie ein Architekt der ein schier unmögliches Gebäude mit einer sehr komplexen Statik entwirft, ist womöglich darauf stolzer 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.

Leider ist mir mein Hobby Physik nie als fachliches Thema in meinem Beruf begegnet, jedoch mit Themen wie Quantencomputer und Künstlicher Intelligenz ist die Fachlichkeit eigentlich vollkommen irrelevant geworden und ohne physikalisches Verständnis brauch man sich gar nicht erst mit diesen Themen auseinandersetzen. So ist für mich die berufliche Wahl als Softwareentwickler genau die richtige gewesen, da ich, als leicht autistische Person, diese Welt vollkommen kontrollieren kann, da sie aus Mustern und Strukturen besteht deren Gesetze klar definiert sind.

Wer mehr über meine beruflichen Fähigkeiten wissen möchte, kann sich hier mein Lebenslauf ansehen und darunter eine Auflistung meiner Technologie-Fähigkeiten.

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
,
Apache
,
Spring Boot
,
PostgreSQL
,
Java
,
REST
,
TypeScript
,
SCSS
,
Angular
,
Hibernate
,
D3 Data-Driven Documents
,
IntelliJ IDEA
,
Maven
,
Git
,
Jenkins
,
Jira
,
Linux Server
,
PWA
,
Deeplearning4J

Krypto-Trading

Ich habe mir mal wieder ein Hobby zu einem Projekt gemacht und zwar trade ich schon seit Jahren Crypto-Währungen und eines Tages habe ich gesehen, dass die Trading-Plattform Binance eine API zur Verfügung stellt.

So habe ich mir meine Übersichten selber bauen können und habe angefangen meine Entscheidungen auszuwerten und in Frage zu stellen. Dann habe ich mir überlegt das meine Entscheidungen möglicherweise viel besser wären, wenn sie nach klaren Regeln ablaufen. So habe ich mir ein eigenes Regelwerk geschrieben in dem man eine Kurve in beliebig viele Teilsegmente aufsplitten kann und für jedes Segment eine eintretende Veränderung erwarten kann. Dazu kann man die Kurvenpunkte beliebig zusammenfassen und die Kurve somit glatter machen, oder man kann den Gleitenden Durchschnitt von 1, 2, 3 und 4 Tagen benutzen um zu schauen ob die Kurve sie durchbricht und um wieviel % sie es tut. Zusätzlich kann man beliebig viele Regeln definieren und sie miteinander verUNDen und verODERn und ineinander verschachteln und vieles, vieles mehr. Hier ein kleiner Ausschnitt aus so einer Regel.

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? So habe ich ein Kurvendiagramm entwickelt in dem ich die (Ver)Kauf-Empfehlungen einzeichne und den daraus folgenden Gewinn/Verlust errechne. Zudem kann ich innerhalb der Kurve Punkte miteinander vergleichen und Durchschnitts Lienen einzeichnen um die Regeln schneller zu optimieren, anstatt immer einfach nur zu testen. Hier ein Bild der Kurve und den eingezeichneten (Ver)Kauf-Empfehlungen.

Preiskurve

Aktuell entwickele ich eine Künstliche Intelligenz, die anhand des %-Gewinn-Feedbacks meiner getesteten Regeln lernt, bessere Regeln zu erschaffen als das ein Mensch kann. Dies ist natürlich ein Mamut-Projekt das noch sehr viel Zeit braucht und bei dem ich auch noch nicht sagen kann ob es ein Erfolg wird, aber Spaß macht es!

Habe ich euer Interesse geweckt?

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