Profilbild von Anonymes Profil, Sr. Java Enterprise Softwareingenieur / Architekt (Java, JEE, Spring, EAI & EIP, Microservices, ...)
verfügbar

Letztes Update: 28.08.2023

Sr. Java Enterprise Softwareingenieur / Architekt (Java, JEE, Spring, EAI & EIP, Microservices, ...)

Firma: Amiri IT-Consulting
Abschluss: Dipl.-Informatiker
Stunden-/Tagessatz: anzeigen
Sprachkenntnisse: deutsch (Muttersprache) | englisch (verhandlungssicher) | persisch (Muttersprache)

Dateianlagen

CV-DE-Zahir-Amiri_280823.pdf
CV-EN-Zahir-Amiri_280823.pdf

Skills

Branchen:
Einzelhandel, IT−Dienstleistung, Forschung, Web-Designer, Entwickler, Trainer, digitale Kartenverarbeitung, Mobile Endgeräte, Sozialversicherung, Krankenversicherung, Banking, Dokumentenverwaltungssystem (DMS), Reisegesellschaft, Logistik, Telekommunikation, Medienbranche (Radio & TV), Verlag

Vorgehensmodelle:
SCRUM, XP, Rational Unified Process (RUP), Wasserfall

Methoden:
Objektorientierte Analyse, Design und Entwicklung, UML, Design Patterns, Software Architekturen, CDI, SOA, EAI, EIP, REST, SOAP, WebSocket, STOMP, Mikroservices, Multi−Tier−Architektur, ER−Diagramme, Petri−Netze, Publish/Subscribe

Programmiersprachen:
Java, Python, Jython, C/C++, Basic, Pascal, JavaScript, TypeScript, Shell Script, XML, XSD, XSLT, XPATH, Json, HTML, CSS, SQL, ESQL, PL/SQL, HQL, SWIFT, FIX

Frameworks:
Java SE, Java EE, Spring Framework, Spring Cloud, MVC, Security, Integration, Spring Boot, Data JPA, JPA, QueryDSL, Hibernate, EclipseLink, JCA, JTA, Flyway, JBoss Seam, Swing, JSF, Richfaces, Icefaces, JCache (JSR-107), Feign, Hysterix, JAX-WS, JAX-RS, Apache CXF, Jersey, Jackson, Apache Camel, Google Analytics APIs v3, OAuth2, JWT, JUnit, Mockito, Log4J/2, Slf4J, Docx4j, Apache POI, iText, JAXB, Apache XMLBean, ebXML, Jcraft/Jschm, AngularJS & Angular, QuickFIX/J, StompJs, SocketJs

Entwicklungsumgebungen:
IntelliJ IDEA, Eclipse, IBM RAD und RSA, PyDev, JRebel, Soap UI, REST Client, Cygwin

Server:
IBM WebSphere AS, WebLogic, JBoss AS, GlassFish AS, Apache Tomcat, Jetty, IBM WebSphere Message Broker, MQ, Oracle AQ, ActiveMQ, RabbitMQ, ESB, Cloud Foundation, Amazon Cloud, AWS SQS

Datenbanken:
IBM DB2, Oracle DB, JavaDB, H2, HSQL, MySQL Percona, SQLite, DBVisualizer, Toad, Oracle SQL Developer, WinSQL

Qualitätssicherung:
Unit Test, FindBugs, JMeter, SeleniumQ

VCS, Tracking und Build:
Git, GitHub, BitBucket, GitFlow, SVN, TortoiseSVN, CVS, MKS, Rational Clear Case / Quest, Apache Ant, Apache Maven, HP Quality Center, Trac, Luntbuild, Hudson, JIRA, Jankins, Bamboo

Betriebssysteme:
Linux, Unix, Docker, Docker-Compose, Kubernetes, VMWare, MS Windows, Android

Netzwerk:
TCP/IP, LAN, WAN, WLAN, GPRS, CSD, GPS, Bluetooth, NFC

Projekthistorie

10/2021 - bis jetzt
Senior Software-Engineer / Architekt, Tech-Lead
Deutsche Post AG (Konsumgüter und Handel, >10.000 Mitarbeiter)

Ziele des Projekts: Das System PC-Frankierung umfasst mehrere Services zur Erzeugung und zum Verkauf von digitalen Frankiervermerken, stellt das Bezahlsystem zur Verfügung und prozessiert die Abwicklung der Aufladung von Frankiermaschinen. Zudem stellt das System mehrere Clients und Services mit unterschiedlichen Schnittstellen zur Integration von Fremdsystemen wie eBay, Amazon und dem online Shop der Deutschen Post zur Verfügung.
Das System wurde im Jahre 2010 auf Basis der JEE Technologie und dem Konzept der 3-Schicht-Architektur entworfen und entwickelt. Seitdem wird das System in einem RedHat JBoss Cluster betrieben. Die Anwendung stellt heute noch eine typische Legacy-System dar, die in Form von RPM Paketen in die Produktion ausgerollt wird.

Zu den wesentlichen Zielen der PC-Frankierung gehören:
  • Bereitstellung von digitalen Briefmarken über unterschiedliche Schnittstellen
  • Benutzer und Partnerverwaltung
  • Integration des eigenen Shopbackends in Partnerportale
  • Bereitstellung eines Service Management Systems (SMS)
  • Fachliche Administration der Anwendung

Zuständig für: Als Teamleiter und Architekt war ich u. a. verantwortlich für:
  • Technische Leitung und Organisation des Entwicklungsteam
  • Analyse, Design, Entwicklung und Integration
  • Migration, Framework Upgrades und Optimierungen
  • Anforderungsanalyse, -Design, -Bewertungen und -Schätzungen
  • Qualitätsmanagement, Code Reviews und Dokumentation
  • Coachen, Einführen und unterstützende Begleitung der Entwickler
  • Technische Kundenbetreuung und Kommunikation
  • Betrieb der Test- und Abnahmeumgebung (Linux, Docker, VM)

Besondere Erweiterungen und Anpassungen der Architektur unter meiner Verantwortung:
  • Aktualisierung des Spring Frameworks auf die aktuelleste Version (5.x.x)
  • Ersetzung der EJB-Layer durch Spring Beans und Konzepte
  • Einführung der REST Api als Alternative für den SOAP Api
  • Integration von Braintree als Ersatz für PayPal

Technologien: Java 8, 11, JEE, EJBs, Spring Framework: MVC, Data, Security, JTA, Hibernate, MicroServices, CXF, REST, Soap, JMS, Scheduled Job, BasicAuth, Apache FOP, PayPal Braintree, Apache Struts, JSPs, APEX, AngularJS, JavaScript, Shell Script, NodeJs, NPM, HTML, XML, XSL, XSLT, Oracle DB, AQ, SQL, Stored Proc, JUnit 4, WireMock, Docker, Docker-Compose, IntelliJ, Oracle SQL Developer, Jetty, JBoss 7.x.x, Postman, Newman, SOAP UI, Maven, GitLab, SonarQube, CI/CD, OSLC, WASP, DevOps, Confluence, Jira, Scrum, Kanban, Linux, VirtualBox

Projektgröße: 10 Person / Ort: Remote (Hamburg, Siegen, Darmstadt)

06/2019 - bis jetzt
CardGame
Private (Sonstiges, < 10 Mitarbeiter)

Ziele des Projekts: Spiele Plattformen gibt es heute viele, die das Spielen von online Kartenspielen anbieten. Jedoch konnte ich nach langen Recherchen feststellen, dass für spezielle Regionen und ihre Kartenspiele keinen Plattform existiert bzw. konnte ich keinen finden, der bestimmte Spiele anbietet.

So ist die Idee entstanden, einen Plattform für das online Kartenspielen zu entwickeln, die einige Kartenspiele für spezifischen Regionen ermöglicht.

Über das Plattform können registrierte Benutzer miteinander einen gewählten Kartenspiel spielen und das Plattform stellt die notwendigen Voraussetzungen und die Rahmenbedingungen für das online miteinander Spielen breit.
 

Zuständig für: Die Konzeption, den Design, die Implementierung und die Organisation des Projekts habe ich alleine realisiert bzw. führe diese weiter während meiner Freizeit durch. Zu den Schwerpunkten der Tätigkeiten bzw. Herausforderungen der Applikation gehören:

  • Datenbank: Der Entwurf und der Design eines relationalen Datenmodels für das Abbilden der registrierten Benutzer, die Spieleigenschaften und alle unternommen Aktionen als Spielprotokoll.

  • Spiellogik: Eine Komponenten basierte Service Layer für die Erfassung der Spielregeln und die Plattformdienste wie Benutzerverwaltung und Sicherheit.

  • Schnittstellen: Aus Performanzgründen sind zwei unterschiedliche Schnittstellentypen mit WebSockets und REST konzipiert. Benutzeranfragen werden über REST Protokoll an das Service Layer eingereicht und für das Notifizieren der involvierten Spieler werden WebSocket Verbindungen verwendet.

  • Benutzeroberfläche: Eine responsive SPA (single-page application) basierend auf das Angular Framework und NodeJs.


Technologien: Java 11, Spring Boot, Spring-Integration (EIP), Hibernate, JPA, Rest Webservices, JWT, STOMP, WebSocket, slf4j, log4j2, JUnit, Mockito, H2 DB, Shell Script, JavaScript, TypeScript, Angular 9, StompJs, SocketJs, Protractor, Yasmin, XML, Json, HTML, NodeJS, Tomcat, IntelliJ IDEA, Git, Maven, Linux

Projektgröße: 1 Person / Ort: Home-Office


01/2021 - 06/2022
Senior Software-Engineer / Architekt
Media-Saturn IT-Services GmbH (Konsumgüter und Handel, >10.000 Mitarbeiter)

Ziele des Projekts: Das DMC System ist eine webbasierte Softwarelösung zur Abwicklung von Umsatz- und Zahlungsbuchungen, die in den online Shops erstellt wurden. Es bildet dabei eine Schnittstelle zwischen dem Customer Order Management und dem SAP Finanzsystem.
Das System, bestehend aus einem Vaadin Frontend mit Java und Spring Backend, läuft als mehrere Spring Boot Anwendungen. Es ist bereits in Microservices aufgeteilt, aber der Hauptteil läuft weiterhin als einem Monolithen. Aus diesem Grund wird beabsichtigt, den Monolithen in geeigneten Microservices aufzubrechen, die sowohl in der Google Cloud als auch in den lokalen Umgebungen laufen sollen.

Zuständig für: Als Mitglied des DMC Scrum-Teams (DevOps Betrieb) war ich u. a. zuständig für die nachfolgenden Aufgaben:
  • Analyse, Design, Entwicklung, Migration, Upgrade und Optimierung
  • Integration von oAuth2 (FIFA Login)
  • Upgrade der Java Version von 8 auf 11
  • Migration der alten Java Date Bibliothek zu der neuen java.time
  • Upgrade der Spring Framework auf die letzte Version
  • Upgrade der MySQL DB Connector von 5.7 auf 8
Technologien: Java 8, 11, Spring Framework: Boot, MVC, Data, Security, Integration, Hibernate / JPA, EIP, MicroServices, Apache Kafka, CXF, REST, Soap, JMS, Quartz Job, oAuth2, SMAL, BasicAuth, JUnit 4 / 5, WireMock, Vaadin, Angular 10, NestJs, TypeScript, JavaScript, Html, GraphQL, MySQL, Postgres, H2DB, SQL, FlyWay, GCP, Kubernetes, Docker, IntelliJ, Eclipse, DBBeaver, Jetty, Tomcat, Postman, Maven, Gradle, Jenkins, GitHub, Kibana, Grafana, CI/CD, DevOps, Confluence, Jira, Scrum, Kanban, MS Teams, Linux, Win

Projektgröße: 15 Person / Ort: Remote (Ingolstadt)

09/2020 - 12/2020
DVS EASI
Gruner + Jahr GmbH (Medien und Verlage, >10.000 Mitarbeiter)

Ziele des Projekts: bestehen darin die bestehnden Mikroservices mit einer DevOps Ansatz gemäss Anforderungen weiterzuentwickeln, instandhalten und zu betreiben. Das Konzept der Enterprise Application Integration (EAI), die Daten zwischen unterschiedlichen Systemen transformiert und transportiert, bildet das Fundament der Mikroservices und als bestehnde Open Source Lösung hiefür wurde für das Framework Apache Camel entschieden.

Zuständig für: Als Mitglied des DVS EASI Scrum-Teams war ich u. a. zuständig für die nachfolgenden Aufgaben:
  • Analyse, Design, Qualitätssicherung, Optimierung und Weiterentwicklung der bestehenden Mikroservices.
  • Konfiguration von Bamboo-CI-Builds mit isoliertem Docker Container.
  • Konzeption und Design einer Mikroservice zum Ausführen von zeitgesteuerten Quartz Jobs in der neue Jobs deklarativ hinzufügt werden.

Technologien: Java 8, 11, Spring Boot, Apache Camel (EIP), Cloud, AWS SDK, AWS SQS, Rest Webservices, Quartz Job Scheduling, slf4j, JUnit, Mockito, Shell, XML, Json, Tomcat, Docker, Kubernetes, Splunk, Grafana, Jira, Bamboo, BitBucket, IntelliJ IDEA, Git, Maven, DevOps, Linux

Projektgröße: 8 Personen / Ort: Remote (Hamburg)

10/2019 - 02/2020
EDM
Zürcher Kantonalbank (ZKB) (Banken und Finanzdienstleistungen, >10.000 Mitarbeiter)

Ziele des Projekts: Das EDM (Extended Document Management) Projekt umfasst die Modernisierung und Erweiterung der bestehenden DMS Applikationen der ZKB. Hierbei wird die Migration und die Neuentwicklung von Microservices geplant, die später in einer Cloud Umgebung im Betrieb werden können. Für das Vorhaben entwickelte die ZKB basierend auf die Spring- und Angular-Technologien das SLX-Framework als Grundlage für die erforderlichen Microservices.

Das SLX-Framework definiert eine Architektur auf Basis von Java 11, MDA, JPA, JMX, Spring, etc., die parallel zu den allgemein notwendigen Funktionalitäten einen Rahmen bereitstellt, um die erforderlichen Applikationen effizient und standardisiert entwickeln und betreiben zu können.

Zuständig für: Als Mitglied des LIBSE Scrum-Teams war ich sowohl alleine als auch in Team unter anderem zuständig für die nachfolgenden Aufgaben:

  • edm-sign: Design und Neuentwicklung einer bestehenden Applikation (etwa 15 Jahre alt) zum digitale Signierung von archivierten Dokumenten mit synchroner (REST) und asynchroner (IBM MQ) Schnittstellen.

  • edm-objid-gen: Design und Neuentwicklung einer multithread-fähigen Bibliothek zum Generierung von eindeutigen Archivierung-IDs gemäß der Spezifikation.

  • edm-edos: Infrastruktur Setup und Integration für Angular Webkomponenten, die die bestehenden Benutzerschnittstellen für Online-Banking und Kundenberatung Applikationen ersetzen sollen.

  • Couching: Bei der Neuentwicklung von Microservices basierend auf das SLX-Framework, Spring und Angular Framework.

Das Projekte musste ich leider frühzeitig abbrechen aufgrund Auswanderung aus der Schweiz nach Deutschland. Daher war es mir nicht möglich das Projekt edm-dos bis Ende zu begleiten.

Technologien: Java 11, RedHat Open JDK, SLX-Framework, Spring Boot und Cloud, Rest Webservices, slf4j, log4j2, JUnit, Mockito, Oracle DB, IBM DB2, IBM MQ, SQL, Shell Script, JavaScript, TypeScript, Angular 8, Protractor, Yasmin, XML, Json, HTML, NodeJS, Tomcat, JBoss, IntelliJ IDEA, Git, JIRA, Jenkins, Splunk, Grafana, Maven, EIP, EAI, VDR Archiving System, DMS, DigiSig, Scrum, DevOps, Linux

Projektgröße: 100 Personen / Ort: Zürich


09/2017 - 06/2019
Blueadit
Swisscom (Schweiz) AG (Telekommunikation, >10.000 Mitarbeiter)

Ziele des Projekts: Die Blueadit Abteilung der Swisscom (Schweiz) AG stellt verschiedene Dienste im Bereich von Festnetz Telefonie, Mobile, Internet, E-Mail, TV und Telekommunikationsgeräte für die anderen Abteilungen der Swisscom zur Verfügung. Diese Applikationen werden durchgehend mit einem DevOps Ansatz betrieben, wodurch sich laufend neue Ziele und Anforderungen ergeben. Aufgrund der steigendem technischen Anforderungen sollten alle Applikation (etwa 50) in die Cloud Plattform migriert und die monolithischen Anwendungen in einer Microservice Architektur überführt werden.

Weitere Ziele waren die Neuentwicklung von zusätzliche Microservices mit einer web-basierten Benutzerschnittstelle, die Aktualisierung der verwendeten Biblio-theken und die Optimierung bestehender Anwendungsfälle.

Zuständig für: Als Mitglied des Blueadit Scrum-Teams war ich überwiegend alleine (75%) und in Einzelfällen auch in Team (25%) unter anderem zuständig für die nachfolgenden Aufgaben:

  • Migration der bestehenden Applikationen auf Spring Boot & Cloud Basis,

  • Realisierung neuer Microservices mit web-basiertem UI,

  • Re-Implementierung bestehender Microservices mit Anpassung der Architektur und Umsetzung neuer fachlichen Anforderungen,

  • Optimierung, Fehlerbehebung und Betrieb von Microservices (DevOps),

  • Beratung, Konzeption, Unterstützung und Realisierung von neuen technischen Anforderungen,

  • Analysieren, Releasen, Deployen, Monitoren von Microservices in der Cloud Test- und Produktionsumgebung.

Technologien: Java 1.8, Cloud Foundation, Spring Framework, Spring Boot, Spring Cloud, Spring Data JPA, Spring Security, Rest Webservices, Feign, Hysterix, Jackson, XML, Json, slf4j, log4j2, Junit, Mockito, Wiremock, Ready API, Soap UI, Pact, Mongo DB, Oracle DB, Oracle AQ, SQLDeveloper, SQL, PL/SQL, Shell Script, HTML, JavaScript, TypeScript, Angular 7, Angular Material, Protractor, Yasmin, NodeJS, CSS, Splunk, Grafana, JBoss Wildfly, Tomcat, IntelliJ IDEA, Git, Bitbucket, JIRA, Jenkins, Splunk, Grafana, Maven, Scrum, DevOps, Docker, Docker-Compose, VMWare, Linux

Projektgröße: 25 Personen / Ort: Zürich


08/2016 - 08/2017
PTTA (SWIFT & FIX)
SIX Group Services AG (Banken und Finanzdienstleistungen, >10.000 Mitarbeiter)

Ziele des Projekts: Durch die stetig steigenden regulatorischen Anforderungen und dem damit verbundenen Kostendruck hat sich SIX SIS dazu entschieden das aktuelle Leistungsportfolio auszubauen bzw. zu optimieren. Die Idee ist, eine zentrale Transaktionsplattform zu entwickeln, die die Abwicklungsoperationen des Kunden rationalisiert. Vor allem sollen durch dieses Vorhaben Interventionen während zukünftiger Abwicklungsprozesse beseitigt bzw. minimiert werden.

Das System PTTA (Post Trade Transaction Architecture) ist die technische Umsetzung der Ziele, welche eine einfache Integration neuer SIS-Dienste mit SECOM und untereinander ermöglichen soll. Zudem hat es das technische Ziel, eine flexible Integrationsplattform zu sein, das auf offenen Softwarestandards und bekannten Protokollen wie SWIFT und FIX basiert.

Zuständig für: Als Mitglied des PTTA Scrum-Teams war ich zuständig für die Umsetzung der Stories und der Tasks gemäß den Projektanforderungen. Die Zuständigkeit umfasst die Analyse, den Design und die Implementation von:

  • Der Migration der bestehenden Applikation auf Spring Boot Basis

  • Business Logik (EIP Flows)

  • Diversen Applikationen auf Basis von Spring Boot: SECOM Simulator, Proxy & Router, BIC-UI (Angular JS 2), Log4j2-Inspector

  • Shell Script zum Management der Applikationen (Start, Stop, Status ...)

  • Konfigurations- und Deployment-Management

  • Initialisierung und Setup von neuen Projekten

  • Qualitätssicherung

  • Beratung: Spring Framework und Enterprise Entwicklung

Technologien: Java 1.8, Spring Framework, Spring Web MVC, Spring Integration, EIP, FIX und SWIFT Message Format, QuickFIX/J, Spring Data JPA, Spring Security, SSL, JWT, Hibernate JPA, Rest Webservices, Jackson, XSD, XML, XPATH, Json, slf4j, log4j2, Junit, Mockito, IBM WebSphere MQ, Boxfuse Flyway, Oracle DB, SQLDeveloper, SQL, PL/SQL, Shell Script, HTML, JavaScript, TypeScript, Angular JS, CSS, Tomcat, IntelliJ IDEA, Git, Bitbucket, JIRA, Bamboo (CI), Maven, Scrum, Linux

Projektgröße: 10 Personen / Ort: Zürich


08/2015 - 04/2016
MMZ SRF−Online
SRF - Schweizer Radio und Fernsehen (Medien und Verlage, 5000-10.000 Mitarbeiter)

Ziele des Projekts: Das Onlineangebot von Schweizer Radio und Fernsehen wird durch mehrere Backend Applikationen unterstützt, die sowohl die Auslieferungsprozesse als auch die Organisation der Metadaten zu den Audio- und Video-Inhalten umfassen. Diese Applikationen werden durchgehend mit einem DevOps-Ansatz betrieben, wodurch laufend Ziele realisiert werden zu

  • Erweiterung der Funktionalitäten und der Inhalte basierend auf neue Benutzer und Besucher Anforderungen,

  • Optimierung der Angebote und Funktionalitäten für die Auslieferung und Verwaltung der Metadaten,

  • Sicherung der Qualität der Applikationen und der Inhalte.

Zusammenfassend sind die Ziele des Projekts die Onlineangebote von SRF effektiv und zeitgerecht aktuell über unterschiedliche Nutzungskanäle (wie mobile Applikationen, SRF Website, iTunes usw.) zu unterstützen und für die Benutzer und Besucher zur Verfügung zu stellen.

Zuständig für: Als Entwickler und Mitglied des EAI Scrum-Teams war ich zuständig für die Umsetzung der Stories und Tasks gemäss den Anforderungen der Redakteure und Konsumenten. Die Realisierung der Anforderungen umfasst dabei die gesamte Auslieferungskette der Softwareentwicklung von der Analyse, dem Design und der Implementierung über die Qualitäts-sicherung bis hin zur der Auslieferung des Produkts bzw. der Funktionalitäten.

Technologien: Java 1.7, 1.8, Spring Framework, Spring Web MVC, Spring Integration, Spring Data JPA, QueryDsl, aspectj, Spring Security, JWT, Hibernate JPA, Rest Webservices, Jackson, XSLT, XSD, XML, XPATH, Json, slf4j, log4j, Junit, HTML, JavaScript, CSS, Mockito, Apache Camel, ActiveMQ, RabbitMQ, MySQL Percona, SQL, Shell Script, Tomcat, Jetty, IntelliJ IDEA, Git, GitHub, GitFlow, Jira, Maven, Jenkins, Scrum, Linux

Projektgröße: 20 Personen / Ort: Zürich


Reisebereitschaft

Verfügbar in den Ländern Deutschland, Österreich und Schweiz

Sonstige Angaben

Siehe Homepage: www.amirionline.com
GULP: http://www.gulp.de/Profil/zamiri.html
Profilbild von Anonymes Profil, Sr. Java Enterprise Softwareingenieur / Architekt (Java, JEE, Spring, EAI & EIP, Microservices, ...) Sr. Java Enterprise Softwareingenieur / Architekt (Java, JEE, Spring, EAI & EIP, Microservices, ...)
Registrieren