Christof Nasahl

Softwarearchitektur und -entwicklung

Klarweinstrasse 8c · 81247 München · 0179 - 1369 635 · christof@nasahl.de

In Ihren Softwareprojekten bin ich vielseitig einsetzbar:

  • Software-Architekt: Stellen Sie sich vor, ich bin wie der Baumeister für Software. Ich organisiere Ideen, mache Pläne und baue eine solide Struktur, die nicht nur gut aussieht, sondern auch super funktioniert. Egal, ob es um grundlegende oder spezielle Anforderungen geht, ich finde den besten Weg, um alles reibungslos laufen zu lassen.

  • Softwareentwickler: Denken Sie an mich als den kreativen Handwerker des Codes. Ich spreche verschiedene „Sprachen“ (wie Java, Kotlin oder TypeScript) und kenne mich mit unterschiedlichen „Werkzeugen“ (Frameworks) aus. Wenn es darum geht, Ihre Ideen in digitale Realität zu verwandeln, bin ich Ihr Mann.

  • Testautomatisierer: Tests sind für mich wie Detektivarbeit – ich finde heraus, ob alles so funktioniert, wie es sollte. Mit meiner Erfahrung sorge ich dafür, dass Ihre Software nicht nur gut, sondern auch robust ist. Das bedeutet, sie bleibt stabil, auch wenn es mal turbulent zugeht.

Bereit für eine entspannte Zusammenarbeit in Ihrem nächsten Softwareabenteuer? 


Freiberufliche Projekte (2000 - heute)

Softwareentwickler

Check24: Mitarbeit in der Sparte 'Tages- und Festgeld'

Implementierung der Basissoftware und Anbindung einzelner Banken an das Check24 Portal 'Geldalagecenter'.

Planung und Umsetzung einzelner Self-Services

Technologien: Java 17, Spring Boot, REST, SOAP, RabbitMQ, Gradle, GIT, Docker, Playwright
Entwicklungsprozess: Kanban/Scrum

November 2023 - heute

Softwarearchitekt und -entwickler (Teilzeit, ~ 10%)

essendi it GmbH: Neuentwicklung einer Finanzsoftware

Design und Implementierung eines Hin- und Rückkanals für die Kommunkation von Banken/Schufa zu assoziierten Anwaltskanzleien.

Die Umsetzung erfolgt im Wesentliche eigenständig von der Requirementaufnahme über den Systementwurf bis zur Implementierung unter Einhaltung klarer Abnahmekriterien.
In der ersten Phase des Projekts war ich für das Projekt alleine zuständig. Danach arbeiteten wir zu zweit.

Technologien: Java 11, Spring, Spring Boot, Webservices, Apache CXF, Maven, Docker, AWS (EC2, ...)
Entwicklungsprozess: Kanban/Scrum; Continuous Integration mit Bamboo

Juli 2020 - heute

Softwareentwickler

Otto: Weiterentwicklung der Otto Onlineplattform.

Weiterentwicklung der personalisierten Werbeflächen im Otto Webshop.

Fullstack-Entwicklung. Die Arbeit erfolgt Kanban-getrieben in einem Team von ~ 15 Personen.

Technologien: Microservices, Kotlin, Spring, Spring Boot, Gradle, MongoDB, html, js, node, scss,
AWS (EC2, Lambda, ParameterStore, S3, Cloudwatch, SNS, SQS, Dynamo)
Entwicklungsprozess: Kanban; Continuous Integration mit AWS Code Pipeline und Github Actions

   Mai 2023 - Oktober 2023

Softwareentwickler

TUI: Neuentwicklung eines Backends zur Verarbeitung von Suchanfragen

Entwicklung und Betrieb der Komponente 'Suchanfragen für Hotelbuchungen' innerhalb der Microservice-basierten Gesamtlandschaft.

Entwicklung: Java 17, Spring, Spring Boot, Gradle, Kafka, Kinesis, Cucumber, Swagger
DevOps: Docker, Kubernetes, Terraform, Continuous Integration mit Gitlab CI, DataDog
AWS Cloud: EC2, Lambda, ParameterStore, S3, Cloudwatch, SNS, SQS, DynamoDB, Redis, Aurora, Athena
Entwicklungsprozess: Scrum

März 2022 - März 2023

Softwareentwickler

Otto: Weiterentwicklung der Otto Onlineplattform.

Weiterentwicklung der Bestellstrecke und Merkzettel beim neuen Relaunch der Onlinehandelsplattform.

Mitarbeit am Neuaufbau eines Microservices, der bestimmte Teilaufgaben eines bereits bestehenden Services übernimmt. Die Arbeit erfolgt Story-getrieben in einem Team von ~ 5 Personen.

Technologien: Microservices, Scala, Spring, Spring Boot, Gradle, MongoDB, html, js, node, scss,
AWS (EC2, Lambda, ParameterStore, S3, Cloudwatch, SNS, SQS, Dynamo)
Entwicklungsprozess: Scrum; Continuous Integration mit Jenkins

   September 2020 - Februar 2022

Softwarearchitekt und -entwickler

Loyalty Partner Solutions: Neuentwicklung eines Testframeworks und Projektmitarbeit

Der Kunde entwickelt und betreibt die Miles&More Anwendung für die Lufthansa. Es handelt sich dabei um einen Application Server basierend auf Weblogic 12, Oracle und Java 8.

Am Anfang wurde ich für einen Zeitraum von zwei Monaten beauftragt einen Prototypen für eine neue Systemtest-Landschaft zu entwickeln. Die urspünglichen Anforderungen waren einen Entwurf für den Austausch der bisherigen Testsysteme aufzuzeigen und eine UI Testingkomponente auf Basis des Automatisierungstools Seleniums zu entwerfen.

Aufgrund der erfolgreichen Umsetzung wurde die Tätigkeit um weitere 15 Monate verlängert. Ziel war es nun alle Anforderungen an das Testtool mit einer stabilen Produktreife umzusetzen und die Inbetriebnahme zu unterstützen

Die vollständigen Anforderungen an das Testtool waren:

  • Erstellung der Framework-Architektur direkt in Java unter Berücksichtigung der Anforderungen aus den aktuellen System- und Integrationstests
  • Integration einer zusätzlichen Komponente zur Unterstützung von UI Tests auf Basis von Selenium
  • Anbindung aller Serviceschnittstellen und interner Interfaces der Miles&More Anwendung: SOAP, REST, direkter Zugriff auf EJBs, direkte DB-Zugriffe, das UI Frontend
  • Bereitstellung einer Funktionalität für die Traceablity von Requirements auf Basis von User Stories
  • Bereitstellung einer Funktionalität für das Reporting zum Kunden
  • Schulung und Begleitung des QA Teams bei bei der Umsetzung spezifischer Stories
Gegen Ende meiner Projektbeteiligung wurden mit diesem Tool bereits Tests von >5 Mannjahren umgesetzt.

Projektmitarbeit: In den letzten Monaten war ich verstärkt in der Weiterentwicklung der Miles&More Anwendung beschäftigt. Dabei ging es um die Umsetzung neuer User Stories und ein allgemeines Bugfixing.

Aufgrund der corona-bedingten Probleme bei der Lufthansa wurde die Weiterentwicklung des Projekts im April 2020 ausgesetzt und damit meine Mitarbeit beendet.

Verwendete Technologien:
Miles&More: JEE 7; Spring 4, Spring Boot, Hibernate, Java 8, Weblogic, PrimeFaces, aspectJ, DBUnit
Testframework: Java 8, JUnit 5, Kotlin, Mockito, Lombok, Selenium, Selenide
Separates Tool für die Build-Unterstützung: JavaFX, Java 11

Allgemeine Prozesse und Tools:
Scrum, Eclipse, IntelliJ, Maven, SVN, GIT, Jenkins, SonarCube, Borland Caliber, SoapUI

   Dezember 2018 – April 2020

Senior Entwickler

AVL DiTEST: Entwicklung eines Fahrzeug Diagnosesystems

Entwicklung eines Fahrzeug-Diagnosesystems für Jaguar/Landrover.
Verwendete Technologien und Tools: Java 8, Eclipse/RCP, Eclipse/EMF, JUnit, Mockito, React, Maven, Subversion, Git, Bitbucket
Entwicklungsprozess: TDD; Scrum; Continuous Integration mit Jenkins

Aufgaben:

  • Im Rahmen der Softwaremodularisierung Design und Implementierung eines Frameworks, das aktuell als Basis für die Fahrzeugkommunikation der meisten Produkte des Unternehmens eingesetzt wird
  • Neuentwicklung einer UI Test Suite für verschiedene Unternehmenprojekte auf Basis von Selenium
Ab 2018: Teilweise Umstellung des Technologiestacks:
  • Migration der Codebasis von Subversion auf Git mit Bitbucket
  • Migration des Frontends auf Basis von React mit Typescript; Anbindung an das Backend mit SpringBoot, REST und Swagger
Juli 2016 – Nov. 2018

Senior Entwickler

Siemens: Entwicklung eines Gefahrenmeldesystems

Entwicklung eines Gefahrenmeldesystems für Gebäude.
Verwendete Technologien: Java/J2EE, Eclipse/RCP, Eclipse/EMF, JBoss, Hibernate, JUnit, Mockito, Maven, Subversion
Entwicklungsprozess: TDD; Scrum; Continuous Integration mit Jenkins

September 2011 - April 2016

Senior Entwickler

Rohde & Schwarz: Software Defined Radio

Entwicklung einer Systemarchitektur für militärische Funkgeräte
Verwendete Technologien: VisualStudio, C++, CrossCompiler, …

Juli 2009 - August 2011

Software Entwickler

Rohde & Schwarz: Entwicklung einer GUI Anwendung

Refactoring einer GUI Applikation zur Konfiguration von Messgeräten.
Verwendete Technologien: C++, STL, QT, Perl, Enterprise Architect, PC-Lint, ClearCase

Juli 2008 - Juni 2009

Software Entwickler und Architekt

Siemens/Nokia Siemens Networks: Mobilfunk

Mitarbeit bei einem internationalen Großprojekt im Mobilfunkbereich.
Verwendete Technologien: C++, CORBA, Java, Eclipse RCP, Unittests, Scrum

Januar 2000 - Juni 2008

Festanstellung bei Siemens (1990 - 1999)

Software Entwickler und Architekt

Siemens München: Mobilfunk

Mitarbeit an einem O&M Projekt für den Mobilfunk
Technologien: C++, OOA/OOD, Design Pattern, CORBA, SUN Solaris

März 1998 - Dezember 1999

Software Entwickler

Siemens Erlangen: Anlagentechnik

Entwicklung eines Frameworks für die Prozessautomatisierung von Warmwalzwerken
Technologien: C++, OOA/OOD, Design Pattern, CORBA, SUN Solaris

Oktober 1995 - Februar 1998

Vertrieb

Siemens Erlangen: Verkehrstechnik

Vertriebstätigkeit und Projektabwicklung für HeavyRails (d.h. Metros) in China

Dezember 1993 - September 1995

Vertrieb/Marketing

Siemens Beijing: Konzeptentwicklung

3. Station eines internen Traineeprogramms: Entwickeln eines Konzeptes für den Markteinstieg in die chinesische Papierindustrie; Vertriebstätigkeiten

April 1993 - November 1993

Marketing

Siemens Erlangen: Marketing

2. Station eines internen Traineeprogramms: Mitarbeit an strategischen Marketing-Projekten im Bereich Wasserwirtschaft

September 1992 - März 1993

Entwicklung

Siemens Fürth: Entwicklung einer KI Steuerung

1. Station eines internen Traineeprogramms: Weiterentwicklung des Neuronalen Netzes mit Einsatz in einem Walzwerk

Dezember 1991 - August 1992

Entwicklung

Siemens Fürth: Entwicklung einer KI Steuerung

Entwicklung eines Neuronalen Netzes für die Steuerung von Walzwerken.

November 1990 - Mai 1991

Ausbildung

Friedrich-Alexander Universität Erlangen

Diplom Informatiker
Studium der Informatik mit dem Schwerpunkt Theoretische Informatik; Nebenfach Sinologie

Gesamtnote: 1,7

November 1984 - November 1990

Fremdsprachen

Sehr gute Kenntnisse in Englisch; Kenntnisse in Chinesisch (Mandarin)


Skills

Methodik
Scrum   
Clean Code   
Testautomatisierung   

Technologien, Programmieransätze
Microservices   
Design Pattern   
AWS   
REST   
SOAP   

Programmiersprachen
Java 17   
Kotlin   
Scala   
Python   
Perl   
C++   
Javascript   
Html, CSS   
Windows/Unix Batch Scripts   

Frameworks
J2EE   
JPA, JDBC   
Spring Boot   
Spring Cloud   
Spring Data   
OAuth2/OpenID Connect   
Apache Kafka   
Apache CXF   
Java FX   
Angular   
React   
Junit, Mockito   
RabbitMQ   
Selenium   
Playwright   

Datenbanken
PostgreSQL   
Oracle   
Mongo DB   
Redis DB   
Dynamo DB   

DevOps
GIT   
Maven   
Gradle   
Jenkins   
Bamboo   
GitLab CI/CD   
Sonar   
Docker   
Kubernetes   
Terraform   

Standardsoftware
Word   
Excel   
PowerPoint   
Atlassian Confluence   
Jira   

IDE
IntelliJ   
Eclipse   
Visual Studio   

aktualisiert: 03.11.2023
Download im Excelformat

Interessen

Neben meiner beruflichen Arbeit beschäftige ich mich auch in meiner Freizeit mit neuen Entwicklungen und Technologiestacks im Umfeld von Java.
Meine Faszination gilt dabei eher Spring und MicroServices als konventionellen Application Servern.

Darüber hinaus beschäftigt mich die Frage, wie man gute Softwaresysteme entwickeln kann, d.h. Systeme, die einen optimalen Mix bzgl. Aufwand, Funktionalität, Zeit und Qualität bieten.

Ansonsten zieht es mich oft raus in die Natur: Lieber Skaten als Schach und Outdoor als Museum.



Impressum

Herausgeber und verantwortlich für den Inhalt:

Christof Nasahl

Klarweinstrasse 8c
81247 München

Telefon: + 49 179 1369 635
Web: www.nasahl.de
E-Mail: christof@nasahl.de

USt-IdNr.: DE 219749050

Disclaimer:

1. Inhalt der Webseite
Die Inhalte dieser Webseite wurden sorgfältig und nach aktuellem Kenntnisstand des Autors erstellt. Wir sind für diese nur im Rahmen der allgemeinen Gesetze verantwortlich, insbesondere für eigene Inhalte nach § 7 TMG, für fremde Inhalte gem. §§ 8 – 10 TMG. Als Diensteanbieter sind wir für fremde Inhalte frühestens ab Kenntniserlangung einer konkreten Rechtsverletzung verantwortlich. Wir behalten uns vor, die informatorischen Inhalte vollständig oder teilweise zu ändern oder löschen, soweit vertragliche Verpflichtungen unberührt bleiben.

2. Verweisung auf fremde Seiten
Inhalte fremder Webseiten, auf die wir direkt oder indirekt verweisen (durch „Hyperlinks“ oder „Deeplinks“), liegen außerhalb unseres Verantwortungsbereiches und machen wir uns nicht zu Eigen. Zum Zeitpunkt der Linksetzung waren für uns keine illegalen Inhalte auf den verlinkten Webseiten erkennbar. Da wir auf die aktuelle und zukünftige Gestaltung die Inhalte der verlinkten Webseiten keinerlei Einfluss haben, distanzieren wir uns ausdrücklich von allen Inhalten verlinkter Webseiten, die nach der Linksetzung verändert wurden. Für alle Inhalte und insbesondere für Schäden, die aus der Nutzung der in den verlinkten Webseiten aufrufbaren Informationen entstehen, haftet allein der Anbieter der Seite, auf welche verlinkt wurde. Erhalten wir von illegalen, rechtswidrigen oder fehlerhaften Inhalten auf Webseiten Kenntnis, die wir verlinken, werden wir die Verlinkung aufheben.

3. Urheberrechte
Alle auf dieser Webseite dargestellten Inhalte, also insbesondere Texte, Bilder, Fotos, grafische Darstellungen, Musiken, Marken, Warenzeichen, unterliegen den Normen des deutschen Urheberrechts. Die Verwendung, Vervielfältigung usw. unterliegt den Rechten der jeweiligen Urheber bzw. Rechteverwalter. Wenn Sie solche Werke verwenden wollen, werden wir auf Anfrage gerne den Kontakt zum jeweiligen Urheber/Rechteverwalter herstellen.

4. Allgemeine Gleichstellung
In den Texten wird meist nur eine Geschlechtsform gewählt um eine bessere Lesbarkeit zu gewährleisten. Davon unbeeinflusst beziehen sich die Angaben dieser Webseite auf alle Geschlechter.