freiberufler IT-Consultant - DevOps auf freelance.de

IT-Consultant - DevOps

zuletzt online vor wenigen Tagen
  • auf Anfrage
  • 50825 Köln
  • auf Anfrage
  • de  |  en
  • 18.02.2024

Kurzvorstellung

Meine Schwerpunkte liegen in der Beratung von Entwicklerteams im Bereich DevOps, agiles Vorgehen, Continous Delivery und Konfigurationsmanagement mittels Ansible/Git (und verwandten Technologien) für IAC-basierte Betriebskonzepte/Infrastrukturen.

Qualifikationen

  • Ansible
  • CleanCode
  • DevOps
  • DevOps (allg.)
  • Docker
  • Java (allg.)
  • Kubernetes
  • Linux
  • Projektleitung / Teamleitung (IT)
  • Testautomatisierung

Projekt‐ & Berufserfahrung

DevOps-Engineer
Kundenname anonymisiert, Remote
8/2022 – 12/2023 (1 Jahr, 5 Monate)
Versicherungen
Tätigkeitszeitraum

8/2022 – 12/2023

Tätigkeitsbeschreibung

Aufgabe: Betrieb und Weiterentwicklung der Entwicklungsplattform auf Kubernetes/AWS

Technologien: AWS, Kubernetes, Helm, ArgoCD, Ansible, Cloudformation, Python, Bash, Git, Gitlab, Jenkins, Keycloak

Zusammenfassung:

Meine Rolle im Projekt war es, das bestehende DevOps-Team zu Unterstützen, das kürzlich auf Kubernetes migriert hatte. Dazu gehörte das erweitern des Systems auf mehrere Umgebungen, Optimieren der genutzten Ressourcen, Altlasten auszubauen und das Entwickeln von Infrastrukturtests. Ausbildung des Teams an den genutzten Technologien und regelmäßige Know-How-Transfers gehörten ebenfalls zum Aufgabenfeld.

Eine weitere Aufgabe war die Unterstützung der Java-Entwickler als Ansprechpartner beim Betrieb des Jenkins und der Beseitigung von Problemen während der Releasephasen.

Aufgaben:

* Erstellung von Ansible-Modulen zur Skalierung von Testumgebungen des Produkts
* Erstellung von Build-Pipelines für zentral genutzte Build-Container
* Begleitung und Vorbereitung mehrerer Kubernetes Migrationen auf aktuellere Versionen
* Erstellung von Tooling-Scripten in Bash und Python zum leichteren Umgang mit der Betriebsplattform
* Vereinheitlichung der Helm-Deployments als Vorbereitung auf eine zentrale Automatisierungslösung wie Ansible oder Terraform
* Erstellung mehrerer identischer Testumgebungen zur Vorbereitung kritischer Updates im Vorfeld
* Erstellung von Infrastrukturtests zur Sicherstellung der Betriebstabilität im Vorfeld von anstehenden Updates
* Befreiung der Plattform von Altlasten
* Unterstützung und Lösung von Problemen der Entwicklerteams im Zusammenhang mit Jenkins/Build-Pipelines

Eingesetzte Qualifikationen

Amazon Web Services (AWS), Ansible, Bash (Shell), Continuous Delivery (CDE), DevOps (allg.), Docker, Git, Jenkins, Kubernetes, Python

Lead-Architekt / Team-Lead DevOps-Team
Kundenname anonymisiert, Remote
5/2021 – 5/2022 (1 Jahr, 1 Monat)
Versicherungen
Tätigkeitszeitraum

5/2021 – 5/2022

Tätigkeitsbeschreibung

Aufgabe: Aufbau einer Multi-Cloud-Kubernetes-Platform auf der grünen Wiese

Technologien: Kubernetes, Terraform, Ansible, ZScaler, Helm, Azure Cloud, GitLab, Docker, GitLab-CI, ActiveDirectory

Zusammenfassung:

Die Aufgabe im Projekt war als Lead-Architekt auf der grünen Wiese mittels Azure-Cloud Komponenten ein System zu schaffen, auf dem Mitarbeiter remote arbeiten können und für das Kubernetes als Grundlage diente. Die Umgebung sollte möglichst sicher sein, vollautomatisiert aufsetzbar und frei skalierbar innerhalb der Umgebung als auch was die Anzahl der Umgebungen angeht. Ebenso sollte ein VPN-Zugang eingeführt werden. Dieses Ziel wurde erreicht. Ebenso wurde ein DevOps-Team aufgebaut und agiles Vorgehen nach Scrum eingeführt.

Aufgaben:

* Erstellung der Setup-Scripte für die Umgebungen in Terraform und Ansible mit Komponenten wie Netzwerk, VMs, Kubernetes, Gitlab, Storage und sämtliche Kubernetes-Ressourcen
* Design einer Umgebungs-Konfiguration zum leichten Klonen und skalieren der Umgebungen mittels der Automatisierung
* Einführung von ZScaler ZPA als VPN Lösung inkl. ActiveDirectory Anbindung
* Erstellung von Design/Architektur-Dokumenten für die Compliance/Lösungsarchitekten des Kunden
* Leitung des DevOps Teams
* Einführung agiler Methoden nach Scrum

Eingesetzte Qualifikationen

DevOps, Docker, Kubernetes

DevOps-Engineer / Java-Backend-Entwickler
Kundenname anonymisiert, Berlin/Remote
11/2019 – 11/2020 (1 Jahr, 1 Monat)
Banken
Tätigkeitszeitraum

11/2019 – 11/2020

Tätigkeitsbeschreibung

Aufgabe: Mitarbeit in der Entwicklung einer Formularanwendung für die Digitalisierung des Kreditgeschäfts des Kunden

Technologien: Java, TDD, Spring-Boot, Hibernate, Maven, Selenium, TestContainer, GitLab-CI, RabbitMq, Docker, GitLab, Git, SCRUM, IntelliJ, Kind, Python

Meine Aufgaben waren geteilt in

* 50% DevOps-Aufgaben für die Gesamtorganisation
* 50% Java-Backend-Entwicklung in meinem Team.

Bei Vorgehen nach SCRUM Mitwirkung in folgenden Aufgabengebieten:

Java-Backend:

* Weiterentwicklung der Backend-Anwendung zur formulargestützten Kreditvergabe
* Teilnahme an 3-wöchigen Entwicklungssprints
* Umsetzung von User-Stories im Backend
* Entwicklung von REST-Services für den Zugriff auf die Persistenzschicht (CRUD)
* Entwicklung von Tests unter Einhaltung Code-Quality-Standards

DevOps:

* Konzernweiter Aufbau eines Standardisierten Build-Prozesses in GitLab-CI
* Entwicklung von Tooling für Build und Deployment sowie "Semantic Versioning" für GitLab
* Zusammenarbeit und Koordination von Anforderungen mit dem externen Hosting-Dienstleister
* Entwicklung von Grafana-Dashboards für Application-Performance-Monitoring
* Schulung der Mitarbeiter in GitLab-CI-Themen sowie der Build-Prozesse
* Umsetzung von Review Apps
* Entwicklung eines CI-gestützen Zyklus für lokale Entwicklungsdatenbanken
* Umsetzung einer Selenium-Integration in GitLab mit Testcontainern
* Unterstützung bei Kubernetes-Updates und einer Helm3-Migration

Eingesetzte Qualifikationen

Continuous Delivery (CDE), DevOps, Java (allg.), Qualitätsmanagement / QS / QA (IT), Release Management, SCRUM, Spring

DevOps-Engineer (AWS) / Softwareentwickler
Kundenname anonymisiert, Köln
4/2018 – 6/2019 (1 Jahr, 3 Monate)
Versicherungen
Tätigkeitszeitraum

4/2018 – 6/2019

Tätigkeitsbeschreibung

Aufgabe: Mitarbeit im Projekt Cloud-Readyness, zur Vorbereitung der Migration von internen Anwendung in die Amazon-Cloud unter Berücksichtigung der Compliance Richtlinien des BSI

Technologien: Java, Python, AWS, Ansible, CloudFormation, Linux, Docker, BlackDuck, GitLab, Git, Pass, Java, SpringBoot, SCRUM, Jenkins, BSI-Kataloge, Confluence, IntelliJ, MiniKube

Bei Vorgehen nach SCRUM Mitwirkung in folgenden Aufgabengebieten:

* Automatisierung des Kubernetes-Cluster-Aufbaus
* Erstellung eines Prototypen für den Cloud-Betrieb mittels Java, SpringBoot und JBehave
* Umsetzung des Deployments in Kubernetes
* Entwicklung diverser HELM-Charts
* Entwicklung diverser Build-Pipelines für GitLab (Build, Deployment, Staging, BlackDuck-Scan, Basis-Docker-Images)
* Erstellung von AWS-Ressourcen über Ansible und Cloudformation
* Refactoring/Modularisierung/Verbesserung des vorhandenen Ansible-Stacks
* Coaching des Teams in GIT, Python und Ansible
* Inbetriebnahme einer ersten produktiven Anwendung in Zusammenarbeit mit dem Entwicklerteam
* Auswahl eines Enterprise Monitoring-Tools
* Bearbeitung von BSI-Bausteinen und Dokumentation in Confluence
* Erstellung von Betriebshandbüchern
* Teilnahme an SCRUM-Meetings
* Lightningtalks zum Wissenstransfer

Eingesetzte Qualifikationen

DevOps (allg.), Release Management, SCRUM, Qualitätsmanagement / QS / QA (IT), Testautomatisierung, Java (allg.)

DevOps-Engineer
Kundenname anonymisiert, Köln
3/2016 – 3/2018 (2 Jahre, 1 Monat)
Versicherungen
Tätigkeitszeitraum

3/2016 – 3/2018

Tätigkeitsbeschreibung

Aufgabe: Erstellung einer Always-Online-Plattform für die Vertriebssysteme einer Versicherung zur Verwendung durch die Aussendienstmitarbeiter und den Endkunden.

Technologien: Python, Jenkins, Ansible, Tomcat, SpringBoot, VM-Ware (ESXi), Linux, Foreman, Java, OpenAM

* Umsetzung der Deploymentautomatisierung von ca. 50 Vertriebsanwendungen auf der Java-Plattform
* Entwicklung der Rollouts durch einheitliche Rollen für Tomcat/Springboot
* Abstimmung mit der Entwicklungsabteilung bzgl. Konfiguration der Anwendungen
* Erstellung eines mehrstufigen Stagings für die Inbetriebnahme von Anwendungen
* Automatisiertes Aufsetzen von Build-Pipelines in Jenkins
* Erweiterung von Ansible um benötigte Filter in Python
* Automatische Tests der Rollouts
* Automatisierung des Rollouts von OpenAM und RSA
* Automatische Provisionierung von Foreman/Jenkins via Ansible
* Orchestrierung und Konfiguration von ca. 1200 VMs
* Dokumentation der Arbeiten und Vorgehensweisen zur Übergabe an interne Mitarbeiter

Eingesetzte Qualifikationen

OpenSuse, DevOps (allg.), Kanban (Softwareentwicklung), ApplicationServer, Java (allg.), Prozessoptimierung, Rollout

DevOps-Engineer
Kundenname anonymisiert, Köln
1/2016 – 2/2016 (2 Monate)
Banken
Tätigkeitszeitraum

1/2016 – 2/2016

Tätigkeitsbeschreibung

Aufgabe: Refaktorisierung/Neuaufsatz einer bestehenden Rollout-/Setup-Automatisierung mit Ansible
Technologien: Java, TeamCity, Ansible, Spring, Tomcat, SpringBoot, Linux

* Analyse der vorhandenen Automatisierungsstrategie in Ansible
* Refaktorisierung und Anpassung der Skripte an die Anforderungen des Kunden
* Dokumentation der Arbeiten
* Übergabe zur Inbetriebnahme/Weiterentwicklung an interner Mitarbeiter

Eingesetzte Qualifikationen

Linux (Kernel), Apache Tomcat, Java (allg.), Spring, Rollout, Inbetriebnahme (allg.)

Entwickler
Kundenname anonymisiert, Düsseldorf
10/2015 – 12/2015 (3 Monate)
Konsumgüterindustrie
Tätigkeitszeitraum

10/2015 – 12/2015

Tätigkeitsbeschreibung

Aufgabe: Unterstützung der Inbetriebnahme einer Clientsoftware zur Sortimentierung mit Fokus auf die Schnittstellenintegration zu SAP
Technologien: Java, Jenkins, Maven, Eclipse, DB2, Scrum

* Erstellung einer Integrationssoftware für automatisierte Batch-Verarbeitung von Schnittstellendaten aus einer Warenwirtschaft mit Sortierung nach Erstellungdatum und fachlicher Abhängigkeit der Schnittstellen untereinander
* Einbindung in den Buildprozess (CI) zur Erstellung täglicher Testdatensätze für die Inbetriebnahme einer Clientsoftware
* Korrektur der Testdatensätze/Absprache im Vorgehen bei der Qualitätssicherung der Daten/Tests
* Unterstützung der anderen Kollegen im Projekt
* Vorgehen nach Scrum

Eingesetzte Qualifikationen

DB2, SCRUM, Qualitätsmanagement / QS / QA (IT), Eclipse, Java (allg.), Inbetriebnahme (allg.)

Auszeit
Auszeit/Urlaub/Weiterbildung, Frechen
7/2015 – 9/2015 (3 Monate)
Dienstleistungsbranche
Tätigkeitszeitraum

7/2015 – 9/2015

Tätigkeitsbeschreibung

* Selbstgewählte Auszeit für einen erweiterten Sommerurlaub
* Einarbeitung/Weiterbildung Docker+API und Cloud-Technologien sowie AngularJS
* Erstellung eines Prototypen für eine AngularJS-Frontend für ein Festpreisprojekt

Eingesetzte Qualifikationen

Cloud Computing, AngularJS

DevOps, Berater
Kundenname anonymisiert, Bonn
11/2014 – 6/2015 (8 Monate)
Soziale Einrichtungen
Tätigkeitszeitraum

11/2014 – 6/2015

Tätigkeitsbeschreibung

Aufgabe: Umsetzung einer/s Deploymentautomatisierung/Konfigurationsmanagements für Redhat und JBoss/Tomcat
Technologien: Java, Magnolia, Ansible, Tower, Nexus, FlyWay, Jenkins, RedHat, JBoss, Tomcat, Python, AngularJs

* Umsetzung des definierten Entwicklungsprozesses (siehe unten) im Umfeld des Kunden
* Änderung sämtlicher intern und extern entwickelter Anwendungen auf Kompatibilität mit FlyWay (für SQL-Scripte) und dem Ansible-Template-Modul (für Konfigurationsdateien, siehe unten: Zulieferung externer Daten)
* Verknüpfung von Puppet für Infrastruktur-Konfiguration mit Ansible für automatischen Rollout
* Entwicklung von Ansible-Roles zur Konfiguration von Datenbankinhalten, Ausrollen von SQL-Scripten (mittels FlyWay), Ausrollen von Konfigurationen (Properties mittels Template-Modul), Konfiguration von JBoss und Tomcat, Rollout von Artefakten auf dem jeweiligen Application-Server
* Entwicklung von Ansible-Erweiterungen (als Python-Module) zum Laden versionierter Artefakte, Konfigurationen, SQL-Scripten, etc aus dem Nexus-Server und zum Laden von dynamischen Konfigurationsstrukturen auf den Zielservern
* Erzeugung/Versionierung von Inventories für Entwicklung, Integration, Test-For-Live und Live-Umgebungen innerhalb der GIT-Infrastruktur (zur Konfiguration der Deployments auf dem jeweiligen Zielserver)
* Aufsetzen und Konfigurieren von Tower (Weboberfläche für Ansible-Rollouts) und Einrichten der Benutzer und Umgebungen
* Schutz von Live-Passwörtern in Absprache mit dem Betrieb und dem Ansible-Vault-Mechanismus
* Aufsetzen eines Berechtigungskonzepts für den Rollout mit klaren Zuständigkeiten von Entwicklung, Betrieb und externen Dienstleistern für die verschiedenen Umgebungen
* Erzeugung von SSH-Key-Gruppen pro Umgebung zur Absicherung des Berechtigungskonzepts im Zusammenspiel mit Tower
* Dokumentation der Arbeiten und Übergabe an Betrieb und Entwickler
* Koordination externer Dienstleister (Entwicklung und Betrieb) in der Umsetzung und Migration auf den neuen Entwicklungsprozess
* Unterstützung eines internen Mitarbeiters in der Umsetzung der Infrastrukturinstallation und Konfiguration mittels Puppet

Eingesetzte Qualifikationen

Datenbankentwicklung, SQL, Testing (IT), Apache Tomcat, jboss, Software Architektur / Modellierung, Java (allg.), Python, Versionierung / Versionsverwaltung, Konfiguration, Migration, SSH (Secure Shell), AngularJS, IT-Beratung (allg.), Prozess- / Workflow, Prozessoptimierung, Rollout

Berater
Kundenname anonymisiert, Bonn
9/2014 – 10/2014 (2 Monate)
Soziale Einrichtungen
Tätigkeitszeitraum

9/2014 – 10/2014

Tätigkeitsbeschreibung

Aufgabe: Umsetzung eines ganzheitlichen definierten Entwicklunsgprozesses
Technologien: GIT, Jenkins, Nexus, Sonar, Confluence, GitFlow, JenkinsJobBuilder, GitoLite, Ansible, Flyway

* Definition und Dokumentation eines klaren Entwicklungsprozesses von der Zulieferung (interner und externer Entwickler/Dienstleister) über die Paketierung, Versionierung, Tests, Staging, Konfiguration der Pakete (pro Stage) bis zur Auslieferung auf Live-Umgebungen
* Definition zur Art der Zulieferung von paketbezogenen Daten wie SQL-Scripte und Konfigurationsdateien (als Vorbereitung für die Automatisierung)
* Definition der Auslieferung versionierter Artefakte in den Nexus-Server
* Beschreibung klarer Abgrenzungen zwischen Entwicklung, Betrieb und externen Dienstleisterbetrieb und Abbildung der Zuständigkeitsbereiche durch verknüpfte GIT-Repositories
* Umsetzung des GitFlow-Verfahrens bei der Entwicklung von Software und bei der Konfiguration von Paketen und zugehöriger Infrastruktur
* Definition von vereinheitlichten Build-Jobs für Jenkins und Unterstützung bei der automatischen Generierung mittels des JenkinsJobBuilders
* Definition und Sizing der Umgebungen für Entwicklung, Integration, Test-For-Live und Live
* Enge Zusammenarbeit mit dem Betrieb

Eingesetzte Qualifikationen

SQL, Java (allg.), Versionierung / Versionsverwaltung, Konfiguration, IT-Beratung (allg.), Prozess- / Workflow, Prozessoptimierung

Projektleiter, Software-Entwickler
Kundenname anonymisiert, Bonn
3/2014 – 8/2014 (6 Monate)
Soziale Einrichtungen
Tätigkeitszeitraum

3/2014 – 8/2014

Tätigkeitsbeschreibung

Aufgabe: Analyse, Entwurf und Umsetzung einer Onlinezahlungskomponente für Heidelpay und Paypal
Technologien: Java, Spring, Spring-MVC, Spring-Data, JUnit, Mockito, Maven, Git, Hibernate, JBoss, Postgresql, Restful-Webservices, ActiveMQ, Heidelpay-Payment-API, Paypal-Classic-API

* Teilnahme an Vorbesprechungen mit externen Dienstleistern
* Regelmäßige Teilnahme an SCRUM-Meetings
* Entwurf von Datenstrukturen für den Austausch von Zahlungsdaten durch mehrere Infrastrukturschichten (Backend bis Frontend)
* Koordination aller am Zahlungsprozess beteiligten Dienstleister und Abteilungen
* Implentation eines Proof-Of-Concepts in PHP (Clickdummy mit Anbindung an Testsysteme von Heidelpay und PayPal)
* Entwurf eines Moduls in Java und SpringMVC welches den Zahlungsprozess mit Heidelpay und Paypal nach den Wünschen des Kunden abdeckt. Implementation als RESTful-Webservice.
* Testgetriebene Implementation der Anwendung mit einem internen Mitarbeiter des Kunden
* Koordination der Integrationstests und Testläufe der Komponente mit Heidelpay, Paypal, dem externen Dienstleister, der Fachseite und der Buchhaltung
* Erfolgreiche End-To-End-Tests aller gewünschten Funktionen und Abnahme durch den Kunden
* Erstellung eines Entwickler- und Betriebshandbuches
* Übergabe der Komponente und zur Weiterentwicklung an den internen Mitarbeiter

Eingesetzte Qualifikationen

Datenbankentwicklung, PostgreSQL, Projektleitung / Teamleitung (IT), SCRUM, Testing (IT), jboss, Software Architektur / Modellierung, Software Design, Hibernate (Java), Java (allg.), JUnit, Softwareentwicklung (allg.), Spring, Hibernate (Framework), PHP, Webservices

Coach
Kundenname anonymisiert, Bonn
11/2013 – 2/2014 (4 Monate)
Soziale Einrichtungen
Tätigkeitszeitraum

11/2013 – 2/2014

Tätigkeitsbeschreibung

Aufgabe: Coaching der Softwareentwickler des Kunden
Technologien: Java, Spring, SpringMVC, SpringData, JUnit, Maven, Git, Hibernate, JBoss, RESTful-Webservices

* Coaching der Entwickler über die Grundprinzipien von GIT und dem GitFlow-Verfahren
* Einzelcoachings der Entwickler bei Entwurf und Entwicklung einer vom Kunden benötigten internen Anwendung
* Einführung in testgetriebenes Vorgehen bei der Entwicklung
* Erklärung und Unterstützung in der Umsetzung des Technologiestacks und bei der Entwicklung einer Datenbankstruktur, einer Persistenzschicht, eines CRUD-Layers, einer Service-Schicht sowie die Erzeugung von RESTful-Webservices auf Basis von SpringMVC und den oben angegebenen Technologien
* Erzeugung eines kundenspezifischen Maven-Archetypes als Basis für die Entwicklung weiterer interner Anwendungen
* Ständiger Ansprechpartner für Probleme in der Entwicklung

Eingesetzte Qualifikationen

jboss, Software Architektur / Modellierung, Software Design, Hibernate (Java), Java (allg.), JUnit, Softwareentwicklung (allg.), Spring, Hibernate (Framework), Webservices, Schulung / Training (IT), Schulung / Coaching (allg.)

Software-Entwickler
Kundenname anonymisiert, Bonn
11/2012 – 9/2013 (11 Monate)
Banken
Tätigkeitszeitraum

11/2012 – 9/2013

Tätigkeitsbeschreibung

Aufgabe: Neuentwicklung eines Vaadin-Frontends zur formulargestützten Kreditvergabe
Rolle: Entwickler
Technologien: Java, Vaadin, JEE, EJB, JBoss, Maven, GIT, PDFlib

* Erstellung eines Vaadin-Frameworks zur schnellen Erzeugung von sehr großen Formularen und zur Definition eines Konfigurationsstandards und Vermeidung von Unmengen redundantem Design-Code in Vaadin
* Analyse der JSP-Altanwendung
* Nachahmung/Entwicklung aller Formulare und Sichten in Vaadin unter Beibehaltung des JEE-Backends
* Erstellung eines Vaadin-to-PDF-Konverters auf Basis einer PDF-Bibliothek zur Implementation einer tonersparenden Druckfunktion
* Dokumentation des Vaadin-Formular-Frameworks
* Einarbeitung von/Übergabe an zwei interne Mitarbeiter
* Erstellung einer Entwickler- und Betriebsdokumentation

Eingesetzte Qualifikationen

jboss, Software Architektur / Modellierung, Software Design, EJB (Enterprise JavaBeans), Java (allg.), Softwareentwicklung (allg.)

Berater
Kundenname anonymisiert, Bonn
9/2012 – 10/2012 (2 Monate)
Banken
Tätigkeitszeitraum

9/2012 – 10/2012

Tätigkeitsbeschreibung

Aufgabe: Definition eines standardisierten Softwareentwicklungsprozesses
Rolle: Berater
Technologien: Confluence, Prozess-Diagramm-Tool

* Analyse eines global eingekauften vollständigen Produktenwicklungsprozesses, von der Idee bis zur Produktabkündigung
* Reduktion auf ein für den Kunden passendes Verfahren
* Neudefinition der Inhalte der Meilensteine und Abbildung in ein internes Prozess-Diagramm-Tool zur Veröffentlichung im Intranet
* Darstellung/Diskussion der Meilensteine in wöchentlichen Meetings mit konkreten Umsetzungsanregungen

Eingesetzte Qualifikationen

Softwareentwicklung (allg.), IT-Beratung (allg.), Prozess- / Workflow, Prozessoptimierung

Software-Entwickler
Kundenname anonymisiert, Bonn
8/2012 – 8/2012 (1 Monat)
Banken
Tätigkeitszeitraum

8/2012 – 8/2012

Tätigkeitsbeschreibung

Aufgabe: Korrektur und Optimierung einer instabilen/langsamen Anwendung
Rolle: Entwickler
Technologien: Java, Webservices, JEE, JBoss, Maven, SVN

* Übernahme der Lieferung eines externen Dienstleisters
* Analyse des Quellcodes und Behebung von Fehlern in der Benutzung des JEE-Standards
* Refaktorisierung der Anwendung, Entfernung von Redundanzen und potentiellen Fehlerquellen => CleanCode
* Implementation eines sauberen Loggings von Laufzeit und möglicher Fehler bei einem Programmdurchlauf
* Verbesserung der Laufzeit von ursprünglich 8 Std auf knapp unter 15 Minuten.
* Übergabe der Software an einen internen Mitarbeiter
* Begleitung der Inbetriebnahme

Eingesetzte Qualifikationen

jboss, Software Analyse, Software Architektur / Modellierung, Software Design, Apache Subversion (SVN), Java (allg.), Softwareentwicklung (allg.), Webservices, Inbetriebnahme (allg.)

Software-Entwickler
Kundenname anonymisiert, Bonn
6/2012 – 7/2012 (2 Monate)
Banken
Tätigkeitszeitraum

6/2012 – 7/2012

Tätigkeitsbeschreibung

Aufgabe: Erstellung eines JSF-Portlets zur Verwaltung von Schlüssel- und Kofferanhängern
Rolle: Entwickler
Technologien: Java, JSF, JEE, JBoss, Liferay, Hibernate, Maven, SVN

* Entwicklung eines Frontends in JSF und Übergabe an einen internen Entwickler
* Übernahme der Backend-Entwicklung
* Analyse des vorliegenden Backends und Dokumentation der Datenstrukturen
* Überarbeitung der Persistenz-Schicht und Entfernung von langsamen und undurchsichtiger SQL-Statements
* Adaption des Frontends auf eine einfache CRUD-Implementierung
* Dokumentation der Arbeiten und Übergabe an einen internen Entwickler
* Begleitung der Inbetriebnahme

Eingesetzte Qualifikationen

SQL, jboss, Software Analyse, Software Architektur / Modellierung, Software Design, Apache Subversion (SVN), Hibernate (Java), J2EE (Java EE), Java (allg.), Softwareentwicklung (allg.), Hibernate (Framework), JSF (Java Server Faces), Inbetriebnahme (allg.)

Software-Entwickler
Kundenname anonymisiert, Bonn
4/2012 – 5/2012 (2 Monate)
Banken
Tätigkeitszeitraum

4/2012 – 5/2012

Tätigkeitsbeschreibung

Aufgabe: Erstellung einer Ticketbridge für die aktive Verbindung von zwei Assyst-Instanzen
Rolle: Entwickler
Technologien: JEE, JBoss, Maven, Webservices, JUnit, Assyst, SVN

* Analyse eines Ticket-Transferprozesses zwischen dem Kunden und einem externen Dienstleister
* Umsetzung als JEE-Backend-Anwendung mit eigener Datenbank in einem testgetriebenen Entwicklungsprozess
* Kommunikation und Koordination von Integrationstests mit der Fachseite und dem externen Dienstleister
* Erstellung einer Entwickler- und Betriebsdokumentation
* Übergabe an einen internen Entwickler zur späteren Inbetriebnahme
* Eine erfolgreiche Anpassung und Inbetriebnahme der Software durch den internen Mitarbeiter wurde zu einem späteren Zeitpunkt durchgeführt

Eingesetzte Qualifikationen

Testing (IT), jboss, Software Analyse, Software Architektur / Modellierung, Software Design, Apache Subversion (SVN), EJB (Enterprise JavaBeans), J2EE (Java EE), Java (allg.), JUnit, Webservices, Kommunikation (allg.), Inbetriebnahme (allg.)

Software-Entwickler
Kundenname anonymisiert, Bonn
12/2011 – 2/2012 (3 Monate)
Banken
Tätigkeitszeitraum

12/2011 – 2/2012

Tätigkeitsbeschreibung

Aufgabe: Erstellung eines CSS-Themes für Vaadin auf Basis eines Designdokuments
Rolle: Entwickler
Technologien: HTML, CSS, Vaadin

* Übernahme eines vom Kunden eingekauften Designs für Backoffice-Anwendungen
* Erstellung der CSS-Regeln/-Sprites sowie Vaadin-Module für skalierbare Vaadin-Anwendungen im vorgegebenen Design
* Erstellung eines Showcases und Dokumentation zur Anwendung der Komponenten
* Übergabe an den Kunden

Eingesetzte Qualifikationen

Design (allg.), Java (allg.), Softwareentwicklung (allg.), CSS (Cascading Style Sheet), HTML

Software-Entwickler
Kundenname anonymisiert, Düsseldorf
6/2011 – 9/2011 (4 Monate)
Dienstleistungsbranche
Tätigkeitszeitraum

6/2011 – 9/2011

Tätigkeitsbeschreibung

Aufgabe: Weiterentwicklung eines Liferay-Portlets
Rolle: Entwickler
Technologien: Oracle DB, Oracle Weblogic, Liferay, Spring, Spring-Portlet-WebMVC, JPA2.0, Vaadin, Maven3, Hudson

* Betreuung und Steuerung eines 4-köpfigen Entwicklerteams
* Refaktorisierung/Fehlerbereiningung/Optimierung eines vorhandenen Spring-MVC-Portlets
* Erstellung einer JPA-basierten Datenbanksuche
* Erweiterung der Datenbankmodelle an die Bedürfnisse des Kunden
* Erstellung von Buildscripten in Maven für die Automatisierung des Build- und Releasemanagement
* Aufsetzen eines Hudson-Buildservers für Continuous Integration
* Portierung der Frontendtechnologie von JSP nach Vaadin
* Erstellung einer datenbankgestützten Lokalisierung des Portlets

Eingesetzte Qualifikationen

Datenbankentwicklung, Projektleitung / Teamleitung (IT), Release Management, J2EE (Java EE), Java (allg.), Softwareentwicklung (allg.), Spring, Migration, JSP (Java Server Pages), Schulung / Coaching (allg.)

Software-Entwickler
Deutsche Welle, Bonn
8/2007 – 5/2011 (3 Jahre, 10 Monate)
Medienbranche
Tätigkeitszeitraum

8/2007 – 5/2011

Tätigkeitsbeschreibung

Aufgabe: Aufarbeitung der Websuche von DW-WORLD.DE
Rolle: Entwickler
Technologien: JBoss, Seam, Lucene, ICEfaces, Maven2, JDBC, Confluence
Details:
* Übername einer vorhandenen JBoss-Seam-Implementierung einer Lucene-gestützten Websuche
* Refaktorisierung und Entfernen von Redundanzen sowie Optimierung des Codes auf Leserlichkeit und Wartbarkeit => CleanCode
* Aktualisierung auf die neusten Versionen der verwendeten Frameworks
* Integration in das Hudson-basierte Build&Deployment-System mittels Maven
* Erstellung einer Managementoberfläche in ICEfaces, in der sprachbezogene Such-Indizes gewartet, gebaut und modifiziert werden können
* Anbindung des Systems in ein Nagios-Monitoring
* Erstellung eines Betriebshandbuchs und einer Entwicklerdokumentation
* Begleitung der Inbetriebnahme
* Übergabe des Systems zur Weiterentwicklung an die Deutsche Welle

---------

Aufgabe: Erstellung einer aktiven Datenbrücke zum Transport von redaktionellen Inhalten in das Web-CMS
Rolle: Entwickler, Projektleiter
Technologien: JBoss, Seam, Richfaces, Maven2, JDBC, JaxWS, JAXB, XML, Hibernate
Details:
* Erstellung einer JBoss-Seam-Applikation für den automatischen Import von XML-basierten Inhalten aus dem externen Redaktionssystem in das Web-CMS
* Aufbau als Maven-Projekt mit Integration ins Hudson-basierte Build&Deployment-System
* Verwendung von JAXB zum Einlesen und Parsen der XML-Zulieferungen und Konfigurationsdateien
* Generierung von XSD-Schemata zur Validierung der verwendeten Formate
* Erstellung eines asynchronen Job-(Re)queueing-System mittels Quartz
* Persistenz der gelesenen Inhalte über eine JaxWS-basierten Webservice in das Web-CMS
* Abwärtskompatibilität durch Implementierung einer JDBC-basierten Persistenzschicht
* Erstellung einer Weboberfläche in Richfaces zur Wartung der Anwendung
* Erstellung eines Betriebshandbuchs und einer Entwicklerdokumentation
* Begleitung der Inbetriebnahme
* Übergabe des Systems zur Weiterentwicklung an die Deutsche Welle

---------

Aufgabe: Konsolidierung Ausstrahlungsdaten nach Microsoft Access (Folgeprojekt)
Rolle: Entwickler
Technologien: Access, VBA
Details:
* Migration der Altdaten nach Access
* Bereinigung der Datenstrukturen von Fehlern, Doppelbelegungen und Umwidmungen
* Erstellung von konsolidierten/verbesserten Datenstrukturen und dazugehörige Exportformate für Legacy-Anwendungen (mittels SQL, um Altsysteme weiterhin anbinden zu können)
* Analyse der Arbeitsprozesse der täglichen Ausstrahlungsplanung
* Erstellung einer Arbeitsoberfläche in VBA
* Implementierung von Konvertierungsmöglichkeiten zwischen altem und neuem Datenformat
* Übergabe und Dokumentation der Anwendung an die Mitarbeiter zur Weiterentwicklung

---------

Aufgabe: Konsolidierung Ausstrahlungsdaten
Rolle: Entwickler
Technologien: Java, MySQL
Details:
* Analyse und Dokumentation der Datenbasis aus Textdateien
* Erstellung eines normalisierten Datenbankschemas mit mehr als 50 Tabellen
* Planung einer Pflegeoberfläche, sowie Teilumsetzung des Schemas in Hibernate
* Aus Ressourcenmangel wurde das Projekt eingestellt, die Ergebnisse der Vorarbeiten jedoch in das Folgeprojekt übernommen.

Eingesetzte Qualifikationen

Access, Datenbankentwicklung, JDBC (Java Database Connectivity), Microsoft Access, mySQL, SQL, jboss, Nagios, Hibernate (Java), Java (allg.), Softwareentwicklung (allg.), XML, Konfiguration, Migration

Ausbildung

Informatik
Diplom
2007
Bonn

Über mich

Zunächst die ersten Jahre als FullStack Java-Entwickler begonnen hat sich mein Schwerpunkt zunehmend
in den DevOps-Bereich verlagert mit einem starken Hang zur Automatisierung von Infrastruktur
und dem Rollout von Anwendungen im Linux-Bereich. Somit bin ich im Bereich Entwicklung und Betrieb
bewandert und kenne die jeweiligen belange und bin immer dabei diese in Einklang zu bringen.

Meine Stärken:

* Eigenständiges Arbeiten und starker Hang zum erfolgreichen Abschluss von Projekten in Zeit und Budget
* Starkes Interesse an guten und sauberen Lösungsarchitekturen und agilen Entwicklungsmethoden
* Selbständiges Erkennen von Problemen/Risiken und Kommunikation von Lösungsvorschlägen
* Aktiver Wissenstransfer im Team sowie persönliche Coachings von Mitarbeitern
* Spaß am erlernen neuer Technologien und Skills

Weitere Kenntnisse

OpenSource, AWS, Azure, Kubernetes, DevOps, Docker, Jenkins, Ansible, Python, Java, Spring, SpringData, REST, Webservices, Tomcat, Maven, Git, GitLab, Testautomatisierung, Vaadin, AngularJS, Bootstrap, Selenium, Agile Softwareentwicklung, SCRUM, Kanban, Analytisches Denken, Schnelle Auffassungsgabe, Informatikstudium

Persönliche Daten

Sprache
  • Deutsch (Muttersprache)
  • Englisch (Fließend)
Reisebereitschaft
auf Anfrage
Arbeitserlaubnis
  • Europäische Union
Home-Office
bevorzugt
Profilaufrufe
10254
Alter
45
Berufserfahrung
16 Jahre und 7 Monate (seit 08/2007)
Projektleitung
1 Jahr

Kontaktdaten

Nur registrierte PREMIUM-Mitglieder von freelance.de können Kontaktdaten einsehen.

Jetzt Mitglied werden