Profilbild von Muhammed Dairabani .Net c# Entwickler aus Herford

Muhammed Dairabani

teilweise verfügbar

Letztes Update: 06.02.2024

.Net c# Entwickler

Abschluss: Naturwissenschaftliche Informatik (M. Sc.)
Stunden-/Tagessatz: anzeigen
Sprachkenntnisse: arabisch (Muttersprache) | deutsch (Muttersprache) | englisch (Grundkenntnisse)

Dateianlagen

Muhammed-Dairabani-CV_120523.pdf
Sitecore6_120523.pdf
SAP-Zertifikat_120523.pdf

Skills

  • C#, SQL, JavaScript
  • MSSQL, PostgreSQL, Oracle
  • Git, TFS
  • .Net Frameworks, .Net Core, ASP.net, ASP.net Core, EF, Sitecore, Consul, Webhook, Ajax,jQuery, Winforms
  • Visual Studio
  • Azure DevOps
  • Scrum und Kanban
  • MVC, SOA, Microservices, RESTful Service
  • HTML, CSS, Blazor
  • NUNit, MSTest
  • REST, SOAP
  • Azure

Projekthistorie

02/2023 - 05/2023
Software Engineer
The.NextGen (Sonstiges, 50-250 Mitarbeiter)

Für die Verbesserung und die Erleichterung eines Gehaltsprozess im Unternehmen soll eine interne Webapplikation erstellt werden. Für dieses Projekt soll ein Microservice als Schnittstelle fungieren, die mit der Datenbank MSSQL eine Verbindung aufbaut. Für die Entwicklung einer Interaktive Web UI wurde der Feature Blazor von Microsoft verwendet. Für die Anmeldung eines Nutzers soll eine Anbindung mit Azure AD erfolgen. Der Gehaltsprozess durchläuft mehrere Schritte, an der bestimmte Rollen mitagieren müssen. Deshalb soll ein Konzept für Rechte und Rollen erstellt und abgebildet werden. Denn bestimmte Nutzer dürfen nicht alle Mitarbeiter und Information sehen. Außerdem dürfen ausschließlich bestimmte Felder editiert werden. Die Rollen und Rechte wurden entsprechen in der Datenbank abgebildet. Für die einzelnen Schritte wurde eine Progress Seite erstellt, auf der der User bei jedem einzelnen Schritt begleitet wird. Hinzu werden für die Bonus Berechnung Excel Files eingelesen. Bei bestimmten Schritten werden User benachrichtigt werden. Dafür wurde Send Mail aus MSSQL verwendet. Angewendete Tools/ Technologien: C#, ASP.NET 6,MS-SQL, Rest-APi, Visual Studio 2022, TFS, Microservice, Kanban Board, Azure DevOps

05/2019 - 01/2023
Softwareentwickler
techem (Energie, Wasser und Umwelt, 1000-5000 Mitarbeiter)

Projekt „OSP“ 05.2019 – 04.2021: Für die Verbesserung der Erreichbarkeit der Techem-Kunden soll die Route des Technikers genauer berechnet werden. Die Route umfasst ebenfalls die Staus auf dem Weg zum Kunden. Für dieses Projekt soll ein Microservice als SOAP-Schnittstelle mit einer Datenbank programmiert werden. Die Datenbankauswahl fiel auf PostregSQL. Für die Schnittstelle verwendeten wir ASP.Net mit der Programmiersprache C#. Als Framework Version haben wir das .Net Framework 6.7 verwendet. Grund für diese Version ist, dass Techem ein eigenes Framework für die Verbindung mit der DB implementiert hat, das auf dieser Version basiert. Nachdem der Microservice Online ging, war die Performance der Datenbank PostgresSQL mittelmäßig, woraufhin wir uns entschieden mit Oracle DB zu arbeiten. Für die Versionskontrolle wurde TFS von Microsoft verwendet. Diese hilft uns bei der Versionierung, weil wir als Entwicklungsumgebung sowohl Visual Studio 2017 und 2019 benutzt haben und somit kein zusätzliches Programm notwendig ist. Hierbei war meine Aufgabe eine Datenbankstruktur zu erstellen, die sowohl die Kundeninformation als auch Aufträge persistierte. Hinzu sollen neue und geänderte Aufträge an einen Drittanbieter gesandt werden, der diese Information empfängt und anschließend die Route für den heutigen Tag berechnet. Die Umsetzung basiert auf einer ereignisgesteuerten Architektur. Die berechnete Route habe ich über Soap Service entgegengenommen und anschließend persistiert. Nach dem Persistieren werden diese Daten an unsere Mastersysteme weitergeleitet. Die Data-Interchange Format war in dem Fall XML. Die Daten sollen zudem gemonitort werden. Hierfür soll von mir ein SQL-Befehl geschrieben werden und dieser bei spezifischen Applikationen für das Monitoring verwendet werden. Das Vorgehensmodell der Anwendung war Scrum. Außerdem bestand meine Aufgabe darin, dass die Produkte als Pipelines in Azure DevOps implementiert werden, um die Lieferung unserer Produkte zu gewährleisten. Um die Unittest zu gewährleisten habe ich als erste Entwickler bei Techem Bielefeld MSTest verwendet. Mit dem Team einigten wir uns später auf NUnits. Techem stellte uns für 3 Tage eine Online-Kurs für UnitTest. Angewendete Tools/ Technologien: C#, .Net Framework, ASP.NET 6, PostgresSQL und Oracle, SOAP, Visual Studio 2017, Visual Studio 2019, TFS, Microservice, Scrum, Azure DevOps, XML, MSTest, NUnit Projekt „AccountDB“ 04.2020 – 01.2023: Bei dem Projekt „AccountDB“ handelt es sich um eine interne REST-API, die die Kernfunktionalitäten des Kundenportals übernehmen soll. Einer dieser Kernfunktionalitäten war der Mieterwechsel. Die Architektur beinhaltete mehrere REST-API, deshalb wurde REST-API Modular von mir implementiert. Alle Entwickler benötigten nur ein Plugin mit einer Interface-Klasse zu implementieren, so dass der Modulare Service diesen Plugin einfach laden konnten. Hierfür wurde ebenfalls eine Datenstruktur mit Oracle Datenbank erstellt. Die Zusammenarbeit erfolgte mit den Frontendentwickler. Die REST-API hat eine Beschreibung erhalten, sodass der Frontendentwickler damit arbeiten konnte. Dies wurde gewährleistet mit dem Framework Swagger. Swagger ist eine Sammlung von HTML, JavaScript und CSS, die ein dynamisches und gut lesbares Dokument erstellt. Das Daten-Interchange-Format für diesen RESTFul Service ist JSON. Außerdem muss der RESTFul Service sowohl mit dem Pagination als auch mit dem Filter zurechtkommen. Ebenfalls darf die Perfomance bei den riesigen Datenmengen nicht in Vergessenheit geraten. Wie in dem Projekt OSP soll mit C# und ASP.Net entwickelt werden. Als Entwicklungsumgebung wurde Visual Studio 2017 & 2019 verwendet. In der letzten Zeit sogar Visual Studio 2022. Die Versionskontrolle ist bei diesem Projekt ebenfalls TFS. Damit der Installateure des RESTFul Services einen Überblick über die Plugins, Datenbanknamen, Logger usw. hat, habe ich eine Overview Seite erstellt, die nach dem Start erscheint. Dies wurde mit HTML und CSS implementiert. Hinzu erstellte ich eine Seite, auf der alle Change Logs aufgerufen werden. Im Hintergrund implementierte ich einen Connector, der eine Verbindung mit HQLM herstellt. Der Connector liest alle Tickets aus HQLM und stellt diese als Timeline auf der Webseite dar. Für die sicherere Kommunikation mit den RESTFul Services zwischen den Systemen, implementierte ich den API-Key. Alle Anfrage an den RESTFul Service dürfen ausschließlich mit dem API-Key beantwortet werden. Ebenfalls gehört zu meinen Aufgaben den RESTFul Service mit der Networkplattform Consul zu verbinden. Consul ermöglicht unteranderem den RESTFul Service zu überwachen und Load Balancing zu gewährleisten. Für kleine Nebenprojekte versuchte ich weiter mit .Net Core und ASP.Net Core weiterzuentwickeln. Die kleinere Nebenprojekte sollen dazu dienen, Projekte mit .Net Framework abzulösen. Das Vorgehensmodell dieses Projektes „AccountDB“ war Scrum. Parallel wurde als Taskforce das Projekt mit Kanban vorgegangen. Die Unittest gestalteten sich schwieriger umzusetzen in diesem Projekt, da das techem Framework für die DB-Verbindung kein Interface enthielten. Aufgrund des fehlenden Interface musste ich den Modulare RESTFul Service mit eine Wrapper Klasse, die ein Interface beinhaltet, erweitern. Somit konnten wir dann die NUnits bauen. Um eine elegante Lösung für dieses Problem zu finden, wollte ich meine Kenntnisse in EF nutzen und die eigenen Frameworks von techem mit EF auszutauschen. So eine Umstellung erwies sich später als schwierig, da zum einen die Erfahrung bei den Mitentwicklern fehlte und zum anderen viele Microservices umgestellt werden. Die Lösung soll daher verschoben werden. Die einzelnen Services dieses Projekts wurden mit AzureDevOps gebildet und geliefert. Zu dem wollte ich über WebHook eine Webseite mit Blazor erstellen, die alle Lieferung unseres Programms und den Status per Knopf gewährleisten soll. Eine Art neue Schnittstelle für Azure DevOps. Nebenbei habe ich mich in Azure Cloud eingearbeitet, um in der Zukunft unsere Projekte auf Cloud umzustellen. Angewendete Tools/ Technologien: C#, .Net Core, ASP.NET Core, Oracle, Visual Studio 2017,2019 & 20022, TFS, ASP.NET, Swagger, RESTFul Service, Scrum, Azure Cloud, EF, JSON, Azure DevOps, HTML, CSS3, Blazor, Consul, Webhook

01/2016 - 04/2019
Softwareentwickler
Wrede GmbH (Sonstiges, 10-50 Mitarbeiter)

Meine Aufgabe bei Wrede bestand darin, dass ich Wrede Lösungen weiterentwickelte. Für die Produktion erstellten wir ein SAP B1 Add-On, um die Oberfläche der SAP-Fenster besser darzustellen. Hinzu sollen die Fortschritte der einzelnen Aufträge dem User angezeigt werden. Für den Lagerbestand wurde ebenfalls bessere Darstellung implementiert, sodass der User auf Anhieb den Lagerbestand sehen konnte. Die Addons automatisierten zusätzlich Prozesse im Alltag, sodass Routineabläufe zügig und ohne menschlichen Eingriff erfolgen konnten. Ebenfalls gehört zu meinen Aufgaben eine eigene Zeiterfassungslösung in SAP B1 zu integrieren. Dies wurde ebenfalls als Add-on SAP B1 implementiert. Außerdem wurde eine Intranetseite erstellt, so dass sich die Mitarbeiter am Terminal über einen Scanner anmelden und abmelden konnten. Ebenfalls konnten sich die Mitarbeiter ihre Information über Überstunden und Urlaubstagen über das Terminal anschauen. Auf der Intranetseite konnte ebenfalls der Fortschritt der Aufträge auf einem großen Bildschirm dargestellt werden. Neue erstellte Materialien und entnommene Materialien konnten an SAP weiterübermittelt werden. Für unsere CRM-Lösung implementierte ich ein Addon, welcher Newsletter an Kunden über eine Drittanbieter REST-API verschicken konnte. Das Verschicken der Nachrichten erfolgte mit einem Zustimmungsverfahren. Außerdem erweiterte ich ein bestehendes Inventurprogramm von Wrede. Dieses habe ich entsprechend für Kunden erweitert bzw. verbessert. Zu meinen Aufgaben gehörte ebenfalls, bestehende Codes zu optimieren und Cleancode und Bugfixing zu betreiben. Unser Inventurfeature konnte ich so weit optimieren, dass die Bearbeitung der Inventur von mehreren Stunden auf eine Stunde reduziert werden konnte. Für die Entwicklung der Prozesse wurde mit der Programmiersprache C# basierend auf .Net Framework verwendet. Für die Erweiterung und neue Darstellung von SAP-Fenstern wurde WinForms von Microsoft verwendet. WinForms erleichterte mit SAP Tools die grafische Benutzeroberflächen. Als Entwicklungsumgebung wurde Visual Studio 2014 & 2017 verwendet. Hinzu wurde für SAP das SAP Framework SAP B1 SDK in Anspruch genommen, um die SAP-Logik zu gewährleisten. Die SAP B1 Datenstruktur wurde in MSSQL Server 2014 und 2016 aufgebaut. Als Objekt-Datenbank Mapper wurde eine eigene OR-Mapper Lösung erstellt. Da die eigene Lösung Mapper nicht die entsprechende Performance gewährleisten konnte und SAP uns EF erlaubte, sind wir auf EF und später mit .Net Core auf EF Core umgestiegen. Für die Entwicklung der Webseiten auf Terminal wurde HTML5 und CSS verwendet. Die Seiten kommunizierten mit dem Server über Ajax. Für die DOM-Navigation und -Manipulation wurden jQuery bzw. JavaScript verwendet. Angewendete Tools/ Technologien: C#, .Net Framework, .Net Core, Visual Studio 2014 & 2017, MS SQLServer, SAP B1, SAP B1 SDK, HTML, JavaScript, ASP.Net und ASP.Net core, Ajax, jQuery,WinForms

09/2013 - 12/2015
Softwareentwickler
Reoslto (Sonstiges, 10-50 Mitarbeiter)

Mein Einstieg in den Arbeitsmarkt war das Projekt Sitecore. Für einen Kunden, der international unterwegs war, haben wir als Team eine Shoppingseite erstellt. Dafür nutzten wir das CMS Sitecore. Als Entwickler entwickelten wir Templates und der Redakteur konnte die Templates mit Inhalten befüllen und anschließend veröffentlichen. Meine Aufgabe bestand darin, dass ich die News-Seite mit Terminen erstellte. Hinzu habe ich bei der Darstellung der Produkte ebenfalls mitbewirkt, so dass der User über die Produkte filtern konnte. Die Seiten haben wir für die Kunden in den USA und Europa implementiert. Für die Umsetzung wurde das Framework Sitecore verwendet. Sitecore SDK wurde in C# geschrieben. Die Seiten wurden dann mit HTML und JavaScript gerendert. Die Herausforderung in dem Projekt war es, dass alle Seiten auf diversen Browser funktionsfähig sein sollten und auf allen Endgeräten optimale Darstellung bietet (Responsive Design). Für das Speichern der Inhalte der Seiten und Templates benötigt Sitecore eine DB. Sitecore forderte als DB MSSQL. Meine größte Herausforderung in dem Projekt ist die Erstellung eines Eventkalenders, der mit jQuery und Ajax umgesetzt worden ist. Das Vorgehensmodell in dem Projekt war Wasserfall. Angewendete Tools/ Technologien: C#, .Net Framework, Visual Studio 2012, MS SQL-Server, Sitecore, Asp.Net, JavaScript, HTML, CSS, Responsive Design

Reisebereitschaft

In der Stadt Herford mit einem Radius von 50 km verfügbar
50 Km im Umkreis von Herford
Profilbild von Muhammed Dairabani .Net c# Entwickler aus Herford .Net c# Entwickler
Registrieren