freiberufler Software-Ingenieur und Berater auf freelance.de

Software-Ingenieur und Berater

zuletzt online vor wenigen Stunden
  • auf Anfrage
  • 25337 Elmshorn
  • Nähe des Wohnortes
  • sr  |  de  |  en
  • 13.11.2024

Kurzvorstellung

Erfahrener Software-Ingenieur und Berater
Schwerpunkte: Design & Entwicklung (Java-Plattform u.a.) von Data-Produkten, verteilten und skalierbaren Backend-Systemen, DevOps
Java 9+, Scala/Akka, Docker/Kubernetes, Postgres, Kafka, Hadoop u.v.m.

Qualifikationen

  • Continuous Delivery
  • Continuous Integration
  • DevOps
  • It-Beratung
  • Java (allg.)3 J.
  • Kubernetes2 J.
  • Node.Js
  • Scala2 J.
  • Software Design1 J.
  • Softwareentwicklung (allg.)

Projekt‐ & Berufserfahrung

Scala Backend Developer
Hermes Germany, Hamburg
8/2020 – 10/2020 (3 Monate)
Logistikdienstleister
Tätigkeitszeitraum

8/2020 – 10/2020

Tätigkeitsbeschreibung

Entwicklung eines datengetriebenen verteilten Backends und Verbesserung des Loggings mit der Einführung von Alerting. Gemeinsam mit einem weiteren Scala-Backend-Entwickler bestand meine Aufgabe darin, mehrere Backend-Komponenten basierend auf Scala und Akka anzupassen und zu implementieren, während komplexe Datenabhängigkeiten vereinfacht und reduziert wurden. Dabei wurden Daten aus einer externen Oracle-Datenbank mithilfe von Spark-Jobs transformiert und in die projektinterne Cassandra-Datenbank sowie Elasticsearch-Indizes geladen. Evaluation von Databricks. Das interne Datenmodell basiert auf Event-Sourcing, und Kafka-Streams wurden für die interne Kommunikation zwischen den Backend-Komponenten verwendet. Zusätzlich habe ich die Logging-Funktion verbessert und vereinheitlicht, um eine zentrale Logging-Konfiguration zu nutzen. Außerdem habe ich Kibana Alerting eingerichtet, um Laufzeitfehler und Warnungen mit entsprechender Dringlichkeit zu erkennen und Entwickler über diese Alarme via Slack-Kanäle zu benachrichtigen. Verwendete Bibliotheken wie Cats, Cats Effect, Avro, etc.

Eingesetzte Qualifikationen

Apache Kafka, Apache Spark, Elasticsearch, Oracle Database, Scala, Server-Monitoring

DevOps Engineer - Cloud Realtime Environment
OTTO, remote / Hamburg
7/2020 – 11/2020 (5 Monate)
Handel
Tätigkeitszeitraum

7/2020 – 11/2020

Tätigkeitsbeschreibung

Entwicklung und Betrieb mehrerer AWS Cluster für das DyCA Team (Dynamic Campaign Advertising) um auf otto.de Homepage eine effiziente und stabile Performance bei der Ausspielung von personalisierten Banners und Teasers gewährleisten zu können. Ich habe ein kleines Team unterstützt, eine fremde closed-source Software (HCL Unica Interact) für die real-time Personalisierung der Werbungen auf der otto.de Homepage möglichst stabil und performant aufzusetzen und zu betreiben. Dafür war es notwendig, die sehr manuelle und fehleranfällige technische und fachliche Deployments möglichst zu vermeiden, genauso die Beobachtbarkeit (Observability) der Run-time Performance einer closed-source Software zu ermöglichen, damit iterativ die Performance und Stabilität der Marketing-Plattform ermöglicht und technisch erklärbar wird. Abgesehen von der intensiven Arbeit mit den AWS Services und Features (EC2 mit Auto Scaling Groups und optimierten AMIs, RDS for Oracle, Lambda, CloudWatch, ELB), HAProxy und mehreren Komponenten aus dem Unica Interact Marketing Suite, habe ich mich um die Sammlung und technische Auswertung der Metriken (auch über JMX Exporter) von allen relevanten Komponenten in ein zentrales Monitoring (mit Prometheus und Grafana) gekümmert, dass von mir eingerichtet wurde. Außerdem konnte ich die entscheidende Performance-Optimierung erreichen mit der Feststellung, dass sog. External Callouts (Plugin System in der Unica Interact) entwickelt werden müssen, damit eine zufriedenstellende Performance (über 99,5% der technisch und fachlich korrekten Interact API Request) und Stabilität erreicht wird. Diese habe ich entwickelt und zusammen mit Kollegen getestet.
Aufgaben: DevOps mit Software-Entwicklung, Deployment, Troubleshooting, Koordination und Testing.

Eingesetzte Qualifikationen

Amazon Web Services (AWS), Java (allg.), Server-Monitoring

Senior Software Engineer
BASF Digital Farming GmbH (xarvio™ Digital Farming, Köln und remote
10/2019 – 5/2020 (8 Monate)
Bauwirtschaft, Anlagen- und Schiffbau
Tätigkeitszeitraum

10/2019 – 5/2020

Tätigkeitsbeschreibung

Entwicklung der Digital Farming Plattform und diversen Microservices für Produkte xarvio™ Field Manager und Healthy Fields. In einem größerem Backend-Team (über 30 Software- und DevOps-Ingenieure) habe ich an der Entwicklung mit Java (9 und 11) und Spring Boot, Deployment in Kubernetes und Instandhaltung von über 50 Microservices gearbeitet, die eigene Daten überwiegend in Postgres speichern und miteinander über eigene REST APIs und RabbitMQ kommunizieren. Die REST APIs waren sowohl public als auch privat, die jeweils in OpenAPI spezifiziert wurden. Public API Dokumentation wurde über ReDoc generiert und statische Inhalte über Vuepress.js vervollständigt. Ich habe auch an der GraphQL API gearbeitet, die von xarvio™ mobilen Apps benutzt wurde. Einige Microservices haben S3 fürs speichern von größeren Dateien oder haben mit eigenen AWS Lambda Funktionen und externen Services (z.B. von John Deere oder Arable) kommuniziert. Die Microservices wurden in AWS deployed und mit Kubernetes orchestriert, wobei Deployments von einzelnen Microservices über Helm Charts definiert wurden. Das Testing mit Unit Tests, Integrationstests und Contract Tests über OpenAPI Dokumente und Postman (für die REST APIs) wurden kontinuierlich verbessert. Die CI/CD Pipelines wurden in Git, TeamCIty und Kotlin-basierten Skripten definiert und die Infrastruktur (in Dev und QA Umgebungen) mit ArgoCD deklarativ definiert und deployed. Application Monitoring wurde überwiegend mit in AWS laufenden ELK/Kibana und Grafana gemacht.
Kommunikation mit anderen Teams (Mobile, Web, Support und Produktentwicklung) war Teil der Arbeit.
Aufgaben: Software-Entwicklung mit DevOps, Code Reviews, Deployment, Koordination und Monitoring.

Eingesetzte Qualifikationen

Postgresql, DevOps (allg.), Docker, Java (allg.), Spring Framework, Advanced Message Queuing Protocol, Kubernetes

Data Engineer
EDEKA DIGITAL GmbH (EDDI), Hamburg
4/2019 – 7/2019 (4 Monate)
Handel
Tätigkeitszeitraum

4/2019 – 7/2019

Tätigkeitsbeschreibung

Entwicklung eines Services für die Übertragung von Google Analytics Daten in Apache Hive und Betreuung der bestehenden Data Pipelines für an den Kassen erhobenen Transaktionsdaten sowie DeutschlandCard Kunden-Ids.
Entwicklung einer Services als Proof-of-Concept, der aus dem gesicherten Intranet Google Analytics Daten von allen Web Properties des Kunden in Hive innerhalb eines MapR Clusters überträgt und Daten-Analysten zur Verfügung stellt.

Eingesetzte Qualifikationen

Apache Hadoop, Java (allg.), Google Analytics

Data Engineer
EOS Technology Solutions, Hamburg
2/2018 – 1/2019 (1 Jahr)
Dienstleistungsbranche
Tätigkeitszeitraum

2/2018 – 1/2019

Tätigkeitsbeschreibung

Design und Entwicklung einer Analytics Plattform für Machine Learning Apps, um Build/Train/Deploy Zyklus den Data Scientists möglichst zu vereinfachen.
Aufbau der Batch Prediction Prozesses auf Basis von Apache Hadoop Tools (NiFi, HDFS, Hive, HBase, Ranger, Ambari u.a.), Aufbau und Anpassung der Container Plattform mit OpenShift Origin (Kubernetes Distribution), Entwicklung von Microservices mit Scala/Akka und Entwickung von CI/CD Pipelines.

Eingesetzte Qualifikationen

Data Science, Apache Hadoop, Agile Methodologie, Software Design, Docker, Jenkins, Scala, Kubernetes, Openshift

Scala Software Engineer
eSailors Ltd., Hamburg
4/2017 – 12/2017 (9 Monate)
Dienstleistungsbranche
Tätigkeitszeitraum

4/2017 – 12/2017

Tätigkeitsbeschreibung

Software Entwicklung von diversen Microservices und einer Frontend-App mit Scala/Akka, Play, Kafka und Postgres und Cassandra als Backing Services. Automatisierung des Deployments mit Ansible und Jenkins. Evaluierung von Kubernetes für die Run-time Umgebung.

Eingesetzte Qualifikationen

Postgresql, Jenkins, Scala, Kubernetes

Software Engineer und Berater
Kreditech Holding SSL GmbH, Hamburg
10/2015 – 8/2016 (11 Monate)
Finanzwesen
Tätigkeitszeitraum

10/2015 – 8/2016

Tätigkeitsbeschreibung

Beratung bei der Umstellung der Infrastruktur von Heroku auf eigene Infrastruktur. Einführung von Docker und CI/CD Pipelines für einige Microservices. Beratung bei der Zerlegung eines Monolithen. Software Entwicklung mit Scala, Java und Node.js/JavaScript.

Eingesetzte Qualifikationen

Docker, Java (allg.), Node.Js, Scala, Cloud (allg.)

Software Engineer
Vattenfall Europe Sales GmbH, Hamburg
11/2014 – 6/2015 (8 Monate)
Versorgungswirtschaft
Tätigkeitszeitraum

11/2014 – 6/2015

Tätigkeitsbeschreibung

Improving Java web app development. Worked as an external software consultant and engineer embedded into an existing Scrum team whom I helped understand what’s important tasks and focus on it; write better code more efficiently and reliably; and work on continuous improvement. The app is customer-facing (Stripes, Struts, Hibernate, WebLogic) with interfaces (WS, DB) to external systems. Tasks: code/project analysis & feedback, development, code reviews, mentoring, pair programming, refactoring/rewriting, migration to the newer Java runtime, frameworks & libraries (Guava, Apache Commons, CXF, etc), incremental architecture redesign (gradually turning monolith into services), introducing app monitoring (ELK stack), improving documentation and communication, etc.

Eingesetzte Qualifikationen

Oracle WebLogic Server, Software Design, Objektorientierte Analyse und Design (OOAD), Java (allg.), Hibernate (Java), WSDL (Web Services Description Language), Technische Beratung

Ausbildung

Informatik
MSc EE
2001
Belgrad, Serbien

Über mich

Leidenschaftlicher Software-Ingenieur und -Berater; neugieriger Lehrling
Software-Design und -Entwicklung von komplexen/verteilten Backends, (Big) Data Produkten vorrangig auf der JVM (Scala, Kotlin, Java 8+, Clojure) mit DevOps-Ansatz
Systematisch, pragmatisch, praxis-orientierter Problemlöser

Weitere Kenntnisse

- Programming Languages and Frameworks
Java: Scala, Java 8+ - excellent; Kotlin - good, Clojure - basic
Python: Zope/Plone, wxPython, PyQt – good; Ruby: shell scripts, Rails - basic
C/C++: Qt, CppUnit, MFC, Win32, Setup API, NDIS/DriverStudio - very good
C#: .NET 2.0; web (ASP.NET) and client apps (net, DB, Office) - very good
General: OOA/OOD/OOP, GoF, functional, UML - excellent

- Web and Internet
Spring 5, Spring Boot 2, Play 2 – excellent; App Engine, Grails, Liferay, Zope - good
Search engines, Dropwizard – very good; ASP.NET, PHP – good (& abandoned)
Network: TCP/IP, HTTP, sockets - excellent; POP3/SMTP/IMAP – very good
httpd, nginx, Tomcat, WebLogic - very good
clean HTML, responsive design, JavaScript (vanilla) - very good

- Databases
MySQL, PostgreSQL – excellent; Oracle, DB2, MS SQL Server, PL/SQL – good
OO information systems, ORM (Hibernate 3) – excellent
Cassandra, HBase, Hive - excellent, MongoDB, Redis - good

- Misc
API design, implementation and consumption (REST & SOAP) - excellent
GNU/Linux - excellent; Git, Subversion - excellent; ELK, Graphite, Nagios, Zabbix - good
configuration mgmt, deployment (Docker, Kubernetes, Ansible, Chef, Vagrant) - very good

Persönliche Daten

Sprache
  • Serbisch (Muttersprache)
  • Deutsch (Fließend)
  • Englisch (Fließend)
  • Spanisch (Fließend)
  • Kroatisch (Fließend)
  • Italienisch (Gut)
Reisebereitschaft
Nähe des Wohnortes
Arbeitserlaubnis
  • Europäische Union
Home-Office
bevorzugt
Profilaufrufe
5701
Alter
49
Berufserfahrung
24 Jahre und 7 Monate (seit 04/2000)
Projektleitung
5 Jahre

Kontaktdaten

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

Jetzt Mitglied werden