07.10.2025 aktualisiert

**** ******** ****
100 % verfügbar

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

Siegen, Deutschland
Deutschland +2
Dipl.-Informatiker
Siegen, Deutschland
Deutschland +2
Dipl.-Informatiker

Profilanlagen

CV_DE_Zahir_Amiri.pdf
CV_EN_Zahir_Amiri.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, OpenApi, SOAP, GraphQL, 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, OAuth2, JWT, JUnit, Mockito, Lombok, Awaitility, Jasypt, Log4J/2, Slf4J, Docx4j, Apache POI, iText, JAXB, Apache XMLBean, ebXML, Jcraft/Jschm, QuickFIX/J, SpringDoc, SwaggerUI, AngularJS & Angular, Angular Material, StompJs, SocketJs, NestJs

Entwicklungsumgebungen:
IntelliJ IDEA, MS Visual Studio Code, Eclipse, IBM RAD und RSA, PyDev, JRebel, Soap UI, Postman, REST Client, Cygwin

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

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

Qualitätssicherung:
Unit Test, FindBugs, JMeter, SeleniumQ, Ready API, Pact, Protractor, Yasmin, SonarQube

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

Sprachen

DeutschMutterspracheEnglischverhandlungssicherPersischMuttersprache

Projekthistorie

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 21, Spring Boot 3.5, Spring-Integration (EIP), Spring-Security, Hibernate, JPA, Rest Webservices, JWT, oAuth2 (Google), Jasypt, ModelMapper, STOMP, WebSocket, SpringDoc, SwaggerUI, OpenAPI, slf4j, log4j2 (Asynchronous logging), Junit, Lombok, Mockito, Awaitility, MySQL DB, H2 DB, Shell Script, JavaScript, TypeScript, Angular 20, Angular Material, StompJs, SocketJs, Service Workers & PWAs, Yasmin, XML, Json, HTML, CSS, NodeJS, NPM, Tomcat, IntelliJ IDEA, MS Visual Studio Code, SonarQube Server, Apache HTTP Server, Tomcat, Docker, Linux, Git, Bitbucket, Scrum, Jira, Maven

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

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)

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)

Kontaktanfrage

Einloggen & anfragen.

Das Kontaktformular ist nur für eingeloggte Nutzer verfügbar.

RegistrierenAnmelden