TB

Thomas Berndorfer

verfügbar

Letztes Update: 16.02.2024

Backend-Entwickler mit Schwerpunkt PHP und umfassenden DevOps-Kenntnissen

Firma: ecocode GmbH
Abschluss: Angewandte Informatik
Stunden-/Tagessatz: anzeigen
Sprachkenntnisse: deutsch (Muttersprache) | englisch (verhandlungssicher)

Dateianlagen

CV-George-Peter-ecocode-development_041023.pdf
CV-George-Peter-ENG-ecocode-development_041023.pdf

Skills

Backend Developer mit Schwerpunkt PHP/Symfony-Entwicklung und guten DevOps-Kenntnissen

Programmiersprachen:
Sehr gut:​​​​​ PHP / Symfony
Gut: Typecript, Node.js

DevOps:
Ansible, Kubernetes, Docker, vmware, redhat, Amazon Cloud (ACD)

Zusätzlich:
Viel Erfahrung mit Datenbanken (MySql / MariaDB, Mongo, Postgres,...)

Projekthistorie

12/2020 - 12/2020
Enwicklung von Shopware 6 Plug-ins
ecocode GmbH (Internet und Informationstechnologie, < 10 Mitarbeiter)

Verschiede Shopware Plug-ins (PHP / Symfony)

11/2020 - 12/2020
Neuausrichtung der internen Entwicklungs-Infrastruktur
ecocode GmbH (Internet und Informationstechnologie, < 10 Mitarbeiter)

  • PHP Services- und Systemmigration zu Kubernetes und CI/ CD in Gitlab
  • Setup zum Provisioning von Servern inklusive Monitoring, Backups, Logging und Benachrichtigungen (Ansible, Kubernetes)

04/2020 - 10/2020
Aufbau eines Messenger-Systems für die Deutsche Pflegeindustrie
CliniGo GmbH (Pharma und Medizintechnik, 10-50 Mitarbeiter)

  • Aufbau eines Messenger-Systems für die Pflegeindustrie (PHP / Symfony, Algolia, JavaScript)
  • Offline-Online Funktionalitäten (Fax zu Digital)

11/2019 - 11/2019
Weiterentwicklung des Online-Shopsystems
Bett1.de (Konsumgüter und Handel, 50-250 Mitarbeiter)

Zusammenfassung

bett1.de ist ein Online-Shop für Matratzen auf Magento-Basis. Code-Änderungen werden mit git verfolgt, Abhängigkeiten mit composer und yarn verwaltet. Außerdem gibt es einen Build-Prozess, um CSS + Javascripts für die Produktion zu minimieren. Es verwendet einen Microservice auf Basis des symfony-Frameworks, der Paketverfolgungsinformationen extrahiert und normalisiert und diese als API dient, um Statistiken zu sammeln und erweiterte Benutzerinformationen anzuzeigen. Es läuft als Docker-Container und wird mit Docker-swarm bereitgestellt. Während meiner Zeit bei bett1.de mussten wir das System von einem einzigen Server-Setup auf eine neue verteilte Infrastruktur migrieren. Auch das Caching mit Lack und die Verwendung von Cloudflare als CDN sorgt für hohe Performance.

Haupttechnologie(n) verwendet:

PHP / Symfony, Magento 1, MySql Datenbank / Maria DB, Elasticsearch, Varnish

 

Technologie Details

Sprachen:

  • PHP: Webshop, microservices

  • Javascript: Frontend

Generell:

  • Läuft dockerized
     

Verwendete  Software:

Mariadb, Cloudflare, Nginx,  Elasticsearch, Kibana, Logstash, Filebeat, Redis, Docker, Docker-Swarm, Varnish


11/2019 - 11/2019
Entwicklung eines Packetnachverfolgungs-Mikroservices
Bett1.de (Konsumgüter und Handel, 50-250 Mitarbeiter)

Zusammenfassung

Es verwendet einen Microservice auf Basis des symfony-Frameworks, der Paketverfolgungsinformationen extrahiert und normalisiert und diese als API dient, um Statistiken zu sammeln und erweiterte Benutzerinformationen anzuzeigen. 

Haupttechnologie(n) verwendet:

PHP / Symfony


03/2016 - 11/2019
Entwicklung einer kundenseitigen App & Mikroservices
Copytrack GmbH (Internet und Informationstechnologie, 10-50 Mitarbeiter)

Zusammenfassung

Die Web-App, die der wichtigste Interaktionspunkt mit dem Benutzer ist, basiert auf dem symfony Framework. Code-Änderungen werden mit git verfolgt, Abhängigkeiten mit composer und yarn verwaltet. Automatische Linteraufgaben und Tests tragen dazu bei, eine hohe Codequalität zu gewährleisten. Außerdem gibt es einen Build-Prozess, um CSS + Javascripts für die Produktion zu minimieren. Die Bereitstellung der App wird mit benutzerdefinierten capistrano (Ruby) Skripten verwaltet. Ein angemessener Teil der Anwendung wurde irgendwann von mir bearbeitet oder erstellt.

Neben der App sind mehrere Microservices beteiligt, die spezielle Aufgaben wie das Versenden von Briefen, das Speichern von Beweisen oder das Abrufen von Informationen über den Website-Besitzer übernehmen. Diese Dienstleistungen basieren ebenfalls auf Symfony und stellen eine API für die App und die Worker-Prozesse bereit. 

 

Haupttechnologie(n) verwendet:

PHP / Symfony, JS / Node.js, Ansible, Docker

 

Details zu Technologie

7 Server

Sprachen:

  • PHP: main app + microservices 

  • Javascript (Node.js): frontend /worker services/ Lambda-functions

  • Ruby: deployment scripts (capistrano)
     

7 different Microservices + 13 different Worker-Applications

Setup mit Firewall-Regeln, Backups, Monitoring (Prometheus + node-exporter + custom ), Aggregated Logging (ELK-Stack), Alerting, Provisioned mit Ansible

Verwendete AWS-Services:

API-Gateway, S3, Lambda, DynamoDB, SQS, SNS, Route53, CloudFormation, Step Functions, EC2


06/2019 - 10/2019
Enwicklung eines internen Staging-Systems
ecocode.de (Internet und Informationstechnologie, < 10 Mitarbeiter)

Zusammenfassung

Bei ecocode haben wir mehrere Kundenprojekte mit ihrem Code, der in Git verwaltet wird und den Anforderungen entspricht unseren Kunden Staging-Systeme zur Verfügung zu stellen, die Vorschauen ermöglichen. Wir haben uns entschieden, unsere Repositories von Bitbucket auf unser eigenes Gitlab zu migrieren, mit Portus als Docker-Registry-Frontend. Mit gitlabCI nutzen wir Pipelines, die automatisch jede Niederlassung aufbauen, einrichten und bedienen die auf ihrer dedizierten Domäne zusammengeführt werden muss. 

Für den Betrieb der Container und Pipelinebetreiber dieser Projekte wurde ein Kubernet-Cluster eingerichtet. Mit portus verwalten wir den Zugriff auf die Docker-Registry. Die gleichen Dockerimages werden auch für die lokale Entwicklung verwendet, um systembezogene Unterschiede so gering wie möglich zu halten. Das resultierende System ist in der Lage, automatisch Stagingumgebungen mit SSL, aktuellen Datenbanken und einem produktionsnahen Erlebnis zu erstellen.

Jedes Staging-System hat seinen eigenen Applikationsstapel mit allen benötigten Diensten - Datenbank, Redis usw., der isoliertes Testen und Überprüfen ermöglicht. Benutzerdefinierte Jobs ermöglichen es dem Entwickler, die Datenbanken zurückzusetzen, die standardmäßig zwischen den Code-Updates ständig wechseln. Kubernetes cert-manager wird verwendet, um ssl-Zertifikate von Staging-Systemen mit letsencrypt Wildcard-Zertifikaten auf dem neuesten Stand zu halten. Die Server wurden mit ansible ausgestattet. 

 

Haupttechnologie(n) verwendet:

Ansible, Docker, Kubernetes

 

Details zu Technologie

Ansible, Docker, Kubernetes, gitlabCI, AWS-Route53


03/2018 - 10/2019
Entwicklung eines leistungsstarker Webcrawler
Copytrack GmbH (Internet und Informationstechnologie, 10-50 Mitarbeiter)

Zusammenfassung

Ein wichtiger Bestandteil des Copytrack-Angebots ist sein Crawler, der nach Fakes der Kundenbilder im Web sucht. Er hat eine Mikroservice-Architektur und läuft auf einem Bare-Metal-Kubernetes-Cluster, das mit  Ansible und 23 verschiedenen Mikroservices mit 115 Instanzen ausgestattet ist. Er umfasst 57 Knoten und enthält derzeit 11 TB an gecrawlten Informationen in einem 6 Knoten Cassandra-Cluster. Die Mikroservices sind in Typescript geschrieben, mit Webpack kompiliert und für den Einsatz in AWS-ECR zu Docker-Images verpackt.


Haupttechnologie(n) verwendet:

Node.js, Typescript, Kubernetes, Ansible, Docker

 

Details zu Technologie

57 Servers:

  • Bare-Metal Kubernetes-Cluster

  • Redis (1)

  • RabbitMQ (1)

  • Prometheus + Grafana (94+ spezielle Leistungsparameter )

  • ELK - Stack

  • Cassandra (6 node cluster) (11.7 TB)

  • Elasticsearch (6 node cluster) (6GB)

 

23 verschiedene Mikroservices mit 115 laufenden Instanzen 

Sprachen:

  • Javascript (Node.js): Mikroservices 

  • Javascript (Node.js / TypeScript)

 

Verwendete AWS-Services:

API-Gateway, S3, Lambda, DynamoDB, SQS, SNS, Route53, ECR

 

Verwendete Software:

Nginx, Redis, Elasticsearch, Kibana, Logstash, Filebeat, Kubernetes, Docker, RabbitMQ, Mariadb


06/2019 - 09/2019
Entwicklung eines Staging System mit CI-Pipeline
Bett1.de (Konsumgüter und Handel, 50-250 Mitarbeiter)

Zusammenfassung

Das Staging-System verwendet für jede relevante Niederlassung eine CI-Pipeline mit gitlab-CI, die automatisch Zweigcontainer erstellt und eine dedizierte Umgebung für die Überprüfung mit dynamischer Domäne bereitstellt, die mit AWS-Route53 und ssl-Zertifikat verwaltet wird. Es nutzt gesampelte und anonymisierte Backups als Vorschau-Daten und läuft auf einer kubernetischen Umgebung.

Haupttechnologie(n) verwendet:

Ansible, Docker, Kubernetes

 

Technologie Details

Verwendete Software:

Ansible, Docker, Kubernetes, gitlabCI, AWS-Route53


01/2018 - 03/2018
Entwicklung eines TV Performance Insights Tool für die Anzeigenfeeds
Bett1.de (Konsumgüter und Handel, 50-250 Mitarbeiter)

Zusammenfassung

Eine von mir für Bett 1 entwickelte Software führt eine in Python geschriebene ETL-Pipeline durch, die Google-BigQuery nutzt, um Performance-Insights für TV-basierte Werbeeinblendungen zu erhalten. Die Daten liegen in verschiedenen Quellsystemen einschließlich Google-Cloud-Storage und werden während der Pipeline zusammengeführt. Die Daten werden dann vorverarbeitet und in einem Bericht in Google-DataStudio gesichert.

Haupttechnologie(n) verwendet:

Python, Google-DataStudio, Google-BigQuery

 

Technologie Details

Sprachen:

  • Python: Analysis pipeline based on luigi with Google-BigQuery

Verwendete Software:

Google-DataStudio, Google-BigQuery


Reisebereitschaft

Nur Remote verfügbar
Remote Arbeit wird bevorzugt, Einarbeitung vor Ort möglich
Profilbild von Thomas Berndorfer Backend-Entwickler mit Schwerpunkt PHP und umfassenden DevOps-Kenntnissen aus Berlin Backend-Entwickler mit Schwerpunkt PHP und umfassenden DevOps-Kenntnissen
Registrieren