Profilbild von Anonymes Profil, Java Backend Entwickler
verfügbar

Letztes Update: 26.03.2024

Java Backend Entwickler

Abschluss: Bachelor of Engineering, Universität Amravati, Indien
Stunden-/Tagessatz: anzeigen
Sprachkenntnisse: deutsch (gut) | englisch (verhandlungssicher)

Schlagwörter

Java APIs Banking SOAP Backend AngularJS Apache Kafka Microservices Javascript Amazon Web Services + 33 weitere Schlagwörter anzeigen

Dateianlagen

20240325-GloreSoft-Java-Backend-Rahul-DE_260324.pdf

Skills

IIch bin ein Softwareentwickler mit mehr als 10 Jahren Erfahrung in den Bereichen Telekommunikation, Bankwesen und mobiler Sicherheit.

Ich habe komplexe Backend-Systeme entwickelt und an groß angelegten monolithischen Anwendungen mit Oracle-Datenbank gearbeitet. Darüber hinaus habe ich Erfahrung mit Microservice-Architekturen und habe auf dieser Basis einen Community-Dienst entwickelt. Zu meinen Fachkenntnissen gehören die
Entwicklung von Rest-APIs und SOAP-Diensten, die Kommunikation mit externen Schnittstellen über Kafka sowie die Migration von Schnittstellen von SOAP auf REST. Des Weiteren habe ich an der Entwicklung von Simulatoren gearbeitet, um externe Schnittstellen in der lokalen Umgebung über BDD zu testen.

Darüber hinaus habe ich ein Frontend mit Angular für ein Online-Schwarzbrett entwickelt, das die Kommunikation mit gewünschten Parteien über E-Mail und SMS vereinfacht. Außerdem habe ich eine Rest- API auf der Grundlage von Open Banking-Spezifikationen entwickelt.

Ich habe aktiv an Code-Reviews nach den Clean Coding-Prinzipien teilgenommen. Für Code-Reviews wurden Tools wie Fisheye + Crucible, GitHub und Tools wie SonarQube für die Code-Qualitätsprüfung verwendet. In meiner bisherigen Laufbahn habe ich in Teams gearbeitet, die die agile Methode (SCRUM) anwenden.

Meine Kompetenzen beinhalten: 
Java : 10 Jahre Erfahrung
Spring : 7 Jahre Erfahrung
Spring Boot : 6 Jahre Erfahrung
REST :  7 Jahre Erfahrung
Hibernate / JPA : 2 Jahre Erfahrung
Oracle, SQL : 4 Jahre Erfahrung
TypeScript (Angular, React) : 1 Jahr Erfahrung
Junits / Mockito : 3 Jahre Erfahrung

Praktische Erfahrungen in Kafka, SOAP, Redux, Javascript, Bootstrap, Gradle, Maven, Jenkins, Jmeter, Microservices, Node JS, Helm, Grafana, Prometheus, Docker, Kubernetes, AWS (EKS, ECS), Google Cloud, Azure, Tomcat runden das Profil ab. 

Projekthistorie

01/2024 - bis jetzt
Migration der „Verwaltungssystem für Arbeitsaufträge“ - Anwendung auf AWS, React (GloreSoft - Internes Projekt)

Dieses System war notwendig, um den Überblick über das verfügbare Budget und die Gültigkeit der einzelnen Arbeitsaufträge zu behalten. Diese Anwendung läuft bereits auf einem Linux-Server. Die Aufgabe besteht darin, die Anwendung als Software as a Service (SaaS) bereitzustellen.

Aufgaben: 
  • Bereitstellung einer Spring Boot-Anwendung auf einem Amazon Elastic Kubernetes Service (EKS)-Cluster.
  • Erstellung von Docker-Images und Übergabe an das AWS ECR-Repository.
  • Er automatisierte den Deployment-Prozess durch die Entwicklung der CI/CD-Pipeline über Github und die Bereitstellung der Anwendung auf AWS.
  • Implementierung eines Ingress Controllers zur Verwaltung von Anfragen durch URL-Pfadzuweisung.
  • Monitoring von Microservices anhand von Grafana und Prometheus.
  • Verwendung des Keycloak-Frameworks für die Anwendungssicherheit.
  • Durchführung eines Proof of Concept mit React Library
  • Analyse der bestehenden Anwendung, ihrer Komponenten, Dienste, Routen und des Statusmanagements.
  • Entscheidung über die React-Projektstruktur und den Programmierstil.
  • Entscheidung über die Komponenten, die Zustandsverwaltung und die Routen, die im neuen Projekt verwendet werden.
  • Einrichten des neuen React-Projekts gemäß dem Design, Installieren aller Abhängigkeiten oder Pakete.
  • Implementierung der Header-Komponente, die größtenteils in allen Ansichten wiederverwendet werden soll.
  • Integration der Header-Komponente in das Admin Dashboard.
Technologien: Java 17, Spring-Boot, Microservices, Keycloak, REST, React, Redux, Angular 14, Node JS, Helm, RxJS, Docker, Kubernetes, AWS EKS, AWS ECR, CI/CD, Grafana, Prometheus, Swagger und MySQL



04/2021 - 12/2023
Backend Entwicklung für eine Prepaid Anwendung (Telefonica-O2)

Einsatzort: München, Deutschland, Projektsprache: Deutsch / Englisch

Die Prepaid-Anwendung ist die Middleware- und Kundenbetreuungslösung für alle Prepaid-Kunden von Telefónica O2 sowie für Markenpartner und Dienstleister. Die Hauptfunktionen dieser Anwendung sind die Erstellung eines neuen Sim-Antrags, der Ersatz einer Sim-Karte, die Buchung von Kunden-Paketen, Tarifänderungen und Aufladungen per SMS. Diese Anwendung wird von Kundenbetreuern, Webportalen und Geschäften genutzt.

Aufgaben: 
  • Integration neuer Schnittstellen auf Basis von REST, Verständnis des Swagger-Dokuments und Generierung von Klassen mit Hilfe der Swagger-Datei. Dazu kommt das Testen von externen Schnittstellen mit Hilfe von Simulatoren.
  • Verifikation der Drittanbieter Schnittstellen Dokumente und Implementierung von Schnittstellen nach Anforderungen
  • Anpassung neuer Funktionen für bestehende SOAP-Schnittstellen und Migration von Schnittstellen von SOAP auf REST.
  • Entwicklung neuer Funktionen auf der Grundlage der REST-Schnittstelle und die Entwicklung eines unabhängigen einsatzfähigen und skalierbaren Dienstes.
  • Entwicklung eines auf Microservice basierte individuell einsetzbaren Community Service in Spring Boot und REST-API.
  • Dieser Community Service wird von ALDI TALK Kunden für die Erstellung einer Community und die Bereitstellung spezieller Angebote für Kunden in der Community genutzt.
  • Abstimmung von Änderungen an Schnittstellen mit SOAP WSDL und Swagger (Open API 3.0) und Implementierung der Änderungen.
  • Abruf von Kafka-Ereignissen von externen Systemen unter Verwendung von AVRO-Schema und Mtls-basierter Authentifizierung sowie Integrationstests durch Erstellung von Ereignissen, die denen des externen Systems ähneln, und deren Abruf.
  • Optimierung und Verbesserung des SIM-Karten-Ersatzverfahrens durch die Verwendung der Kafka-Schnittstelle.
  • Implementierung von Datenbank-Indizierungsstrategien und Techniken zur Abfrageoptimierung, was zu einer 30 % Verringerung der Antwortzeiten bei SQL-Abfragen führte und die Gesamtleistung der Anwendung erheblich verbesserte.
  • Erstellung von Simulatoren und Teststubs für externe Schnittstellen und Integrationstests mittels JGiven Framework.
  • Einsatz des Codesicherheitstools Kiuwan, für die Erkennung von Sicherheitsschwachstellen im Quellcode und für die Durchsetzung von Codierungsrichtlinien.
  • Code-Qualitätssicherung mit Hilfe von SonarQube
  • Testen der Drittanbieter-Schnittstelle in einer höheren Testumgebung.
  • Für den Kundenbetreuer wird eine GUI verwendet und die Entwicklung von Funktionen wie OTP-Authentifizierung für die GUI.
  • Fehlersuche und -behebung von Fehlern und deren Testung.
  • Außerdem habe ich Kollegen am Offshore-Standort betreut und die Projektplanung unterstützt.

Technologien: Java 8, Spring, Spring Boot, REST, SOAP, Open API 3.0, JSON, XML, Java Swing, Oracle-Datenbank, Jenkins, Gradle, Kafka, SonarQube, JGiven (BDD Test Framework), WebLogic, Linux (Ubuntu 20.04).

02/2020 - 04/2021
Online Schwarzes Brett Service (Anka)

Bildungsinstitute, Wohnkomplexe und andere nutzen physische schwarte Bretter, E-Mails und Whatsapp, während sie mit ihrer vorgesehenen Zielgruppe kommunizieren bzw. diese benachrichtigen wollen. Diese Anwendung wurde entwickelt, um die Nachteile eines physischen schwarzen Bretts, von E-Mails und WhatsApp-ähnlichen Kommunikationskanälen zu überwinden. Mit dieser Anwendung können nur autorisierte Personen Nachrichten veröffentlichen und nur beabsichtigte Teilnehmer erhalten diese. Die Organisation hat die Wahl, die Anwendung selbst zu hosten oder den Dienst in der Cloud zu abonnieren.

Aufgaben: 
  • Als Frontend-Entwickler - Entwicklung einer Administrationsoberfläche, die aus verschiedenen Dashboards und Benutzerverwaltungsfunktionen besteht.
  • Integration von REST-Diensten, die mit Node JS entwickelt wurden, im Frontend.
  • Entwicklung wiederverwendbarer Komponenten zur Beschleunigung des Entwicklungsprozesses
  • Vereinfachung des Prozesses der Erstellung von Standardtabellen mit Angular-Material.
  • Entwicklung von Webanwendung mit responsivem Design unter Verwendung von Angular-Material und Flex-Layout)
Technologien: Angular 9, Angular material, Node JS, Google Cloud

12/2018 - 02/2020
RESTful Web Service API Entwicklung (HSBC)

Die HSBC Bank wollte ihre API unter Verwendung Open-Banking-Spezifikationen bereitstellen. Der Zweck war, Informationen mit anderen Banken und der Drittanwendung austauschen zu können. Die entwickelte API ist der RESTful-Web Service. Diese RESTful-API wurde von der HSBC UK und HSBC China eingesetzt.

Aufgaben:
  • Als Backend-Entwickler Entwicklung der RESTful Web Service API unter Verwendung von Spring Boot.
  • Entwicklung eines Paginierungsmechanismus in der RESTful-API unter Verwendung von Limit- und Offset-Parametern, der den Abruf großer Datensätze effektiv verwaltet, die Serverlast minimiert und die Gesamtleistung der Anwendung verbessert.
  • Entwicklung neuer Funktionen auf der Grundlage der REST-Schnittstelle und die Entwicklung eines unabhängigen einsatzfähigen und skalierbaren Dienstes.
  • Codegenerierung mithilfe einer Swagger-Datei und Implementierung.
  • Code-Qualitätssicherung mit Hilfe von SonarQube
  • Einsatz von JMeter für Lasttests von REST-APIs, wodurch die Antwortzeiten erheblich reduziert und die Skalierbarkeit und Zuverlässigkeit des gesamten Systems bei unterschiedlichen Belastungen verbessert wurden.
  • Unit Testing für bestimmte Module (an denen ich gearbeitet habe)
  • Die komplexen Datenmodelle eines Legacy-Systems verstehen und sie über einen Web-Service zur Verfügung stellen.
  • Arbeiten nach den Prinzipien der agilen SAFe-Methodik.

Technologien: Java 8, Spring Boot, PCF (Pivotal Cloud Foundry), Maven, Jenkins, Jmeter, Mainframe.

11/2016 - 09/2018
Lean Berichtsanalyse (Giesecke + Devrient, Deutschland)

Giesecke und Devrient besaßen ein Smartcard-Betriebssystem. Der Testzyklus dieses Betriebssystems besteht aus der Testausführung, der Analyse der Protokolldateien und der Berichterstellung. Mithilfe dieses Werkzeugs konnte ich die Zeit für die Protokollanalyse und Berichterstattung um 60 % reduzieren. Die Analysezeit wurde durch den Vergleich des Ergebnisses der neuen Versionserstellung mit der früheren verkürzt. War der Fehler identisch, dann werden die Analysedetails so kopiert, wie sie sind. Vor diesem Projekt war viel manuelle Arbeit für die Erstellung der Berichte notwendig. Mit diesem Werkzeug wurden die Berichte automatisch generiert.
Aufgaben:
  • Arbeit an der Anforderungsanalyse, der Vorbereitung von Designdokumenten und der Entwicklung dieses Tools unter Verwendung von Spring, Hibernate und Java.
Technologien: Java 7, spring, Hibernate, RESTful Web Services, Tomcat, MySQL, Git, JIRA, Maven.

09/2014 - 10/2016
Flexibles Framework zur Automatisierung (Giesecke + Devrient, Deutschland)

Alle Smart Card-Betriebssysteme folgen mehreren Spezifikationen wie Global Platform, Java Card, ISO, NFC für die Entwicklung von Smart Card-Betriebssystemen. Um das Betriebssystem für jede Spezifikation zu testen, erstellte der Testentwickler Testfälle. Die Tests wurden manuell mithilfe von Befehlen in skriptbasierte Dateien erstellt. Dieses Projekt half dem Testentwickler, die Testfälle mit Java zu programmieren. Dieses Framework verkürzte die Entwicklungs- und Debugging-Zeit der Testfälle, da es die wiederverwendbaren Methoden zur Verfügung stellt, die intern die hexadezimalen Befehle an die Smart Card übermitteln.

Aufgaben:
  • Als Senior Java-Entwickler Arbeit an der Entwicklung und Verbesserung des Frameworks mit neuer Funktionalität.
  • Entwicklung eines gemeinsam genutzten Pakets für die sitzungsbasierte Smartcard-Authentifizierung unter Verwendung der sicheren Kanalprotokolle 02 und 03, die in der Global-Platform-Spezifikation spezifiziert sind.
  • Arbeit an der Integration von Smart Card-Testgeräten innerhalb dieses Projekts.

09/2013 - 08/2015
Werkzeug zur Automatisierung des Testausführungsprozesses (Giesecke + Devrient, Deutschland)

Dieses Werkzeug wird zur Automatisierung des Testausführungsprozesses verwendet. Der Server wird zum Scannen der Ausführungsanforderungen verwendet und der Client verbindet sich mit ihm und führt die Testprozeduren in einer Multithreading-Umgebung aus.

Aufgaben:
  • Entwicklungsarbeit unter Einsatz von Spring MVC, Hibernate und SQL.
  • Entwicklung eines Paket-Scanning-Moduls innerhalb dieses Projekts.
  • Mitarbeit an der Analyse der Projektanforderungen und der Aufwandsschätzung
  • Bereitstellung des Projekts und Vorführung bei den jeweiligen Teams

Reisebereitschaft

Verfügbar in den Ländern Deutschland
Profilbild von Anonymes Profil, Java Backend Entwickler Java Backend Entwickler
Registrieren