Senior .NET Softwareentwickler
Softwarearchitekt
Cloud Architekt

Mirco Töpfer

Telefon:                +49 177 3696531

E-Mail:                 mirco.toepfer@adcoso.de

MS Teams:           mirco.toepfer@adcoso.de

 

Erfahrener Clean-Code-Entwickler mit 20+ Jahren Erfahrung und einem hohen Anspruch an Softwarequalität.
Mein Know-how umfasst Technologien wie C#, Angular, Blazor, ASP.NET, .NET, Azure, AWS, Microservices, TDD, DDD, DevOps, CanBus, Modbus, 1Wire, Rest, GraphQL, WPF.

Kurzvorstellung


Als erfahrener Full Stack – Clean Code .NET Softwareentwickler und Architekt mit über 20 Jahren praktischer Erfahrung stehe ich Ihnen gerne als freiberuflicher Experte zur Verfügung. Meine umfangreiche Expertise erstreckt sich über die Entwicklung robuster Anwendungen, das Design von Cloud-Architekturen und die nahtlose Integration verschiedener Technologien.

Mit einer tiefgreifenden Erfahrung in der Entwicklung von Angular- und .NET-Anwendungen beherrsche ich sowohl die Frontend- als auch die Backend-Entwicklung. Mein Fokus liegt dabei auf der Erstellung hochwertiger Benutzeranwendungen sowie auf der Implementierung leistungsstarker Backend-Systeme basierend auf .NET. Ich lege stets Wert auf sauberen und gut strukturierten Code, um benutzerfreundliche Anwendungen zu gewährleisten.

Ein weiterer Schwerpunkt meiner Tätigkeit liegt in der Architektur von Cloud-Lösungen auf den Plattformen Microsoft Azure und AWS. Mit meiner Unterstützung können Sie skalierbare und sichere Anwendungen entwickeln, indem wir maßgeschneiderte Cloud-Infrastrukturen konzipieren und implementieren. Dabei greife ich auf bewährte Azure- und AWS-Dienste zurück, um sicherzustellen, dass Ihre Anforderungen optimal erfüllt werden.

Durch meine langjährige Erfahrung als Freiberufler verfüge ich über fundierte Kenntnisse in den Bereichen Softwaredesign, serviceorientierte Architektur (SOA) und Lösungsarchitektur. Ich arbeite nach bewährten Best Practices wie Test Driven Development (TDD), Domain Driven Development (DDD) und agilen Methoden wie Scrum oder SAFe, um effiziente und qualitativ hochwertige Lösungen zu liefern.

Ich zeichne mich durch meine Fähigkeit aus, mich schnell an neue Technologien und Tools anzupassen und komplexe technische Herausforderungen zu analysieren. Sowohl in unabhängigen als auch in kollaborativen Arbeitsumgebungen erbringe ich erstklassige Leistungen und strebe stets danach, die Erwartungen meiner Kunden zu übertreffen.

Neben meinen technischen Fähigkeiten verfüge ich über exzellente Kommunikationsfähigkeiten in Englisch und Deutsch. Diese ermöglichen mir eine effektive Interaktion mit Kunden und Teammitgliedern. Als professioneller, zuverlässiger und engagierter Experte strebe ich immer danach, meinen Kunden einen Mehrwert zu bieten.

Technologie Erfahrung


Azure Cloud

  • Azure Functions
  • Azure Web Application
  • Azure Active Directory
  • Azure SQL
  • Azure Cosmos DB
  • Azure Storage
  • Azure Service Bus
  • Azure API Gateway
  • Azure Machine Learning
  • Azure VM
  • Application Insights
  • Azure DevOps
  • Docker Container
  • EntraID
Frameworks und Testing

  • .NET
  • .NET Core
  • Pyton
  • Angular
  • XUnit
  • NUnit
  • SpecFlow
  • Cypress
  • TDD
  • Clean Code Development
Datenbanken

  • MS SQL
  • PostgreSQL
  • Oracle DB
  • MySQL
  • Entity Framework
  • Document DB
Amazon (AWS) Cloud

  • AWS S3
  • AWS API Gateway
  • AWS Lambda
  • AWS CloudWatch
  • AWS ECS
  • AWS Fargate
Versionsverwaltung

  • Azure DevOps
  • Git
  • GitLab
  • Jira
Agile Frameworks

  • Scrum
  • Kanban
  • SAFe
  • Extreme Programming
Feldbus und IoT

  • CAN Bus
  • Modbus
  • 1Wire
  • CanOpen
  • Windows IoT
Identitätsmanagement:

  • Identity Server
  • OpenIdConnect
  • OAuth2
  • AAD
  • EntraID
API-Technologie

  • OData
  • Graph QL Api
  • REST Api
  • RPC
Sprachverarbeitung/KI

  • ChatGPT
  • Azure Machine Learning
UI-Entwicklung

  • WPF
  • Prism
  • Angular
  • ASP
  • Blazor
  • JavaScript
Softwarearchitektur

  • Onion
  • Hexagonal
  • Ports and Adapters
  • Clean Architecture
 Weitere Technologien

  • Docker
  • Terraform
  • Elektotechnik

 

Projekterfahrung (Auszug)


 

.NET / Angular Softwareentwickler

Zeitraum:          07/2022 – offen
Kunde:              Porsche
Framework:       Scrum
Technologie:      Angular, .NET Core, T-SQL, XUnit, Kendo UI

Als externer Softwareentwickler leiste ich zusammen mit meinem Team wertvolle Unterstützung für das Entwicklungsteam meines Kunden. Unsere Hauptaufgabe besteht in der kontinuierlichen Weiterentwicklung der Porsche-internen Softwarelösung zur Steuerung und Optimierung der Produktionsprozesse. Die Anwendung, implementiert mithilfe des Angular-Frameworks, wird permanent den sich ändernden Anforderungen angepasst. Wir erweitern das Userinterface und optimieren sowie aktualisieren vorhandene Komponenten. Durch den Einsatz von Kendo UI für Angular können wir effektiv und gemäß aktuellem Standard ein ansprechendes Userinterface entwickeln.

Um die Qualität und Funktionalität der Anwendung sicherzustellen, setzen wir auf umfassende Teststrategien. XUnit ermöglicht uns die Implementierung von Unittests, um die einzelnen Komponenten auf ihre korrekte Funktionalität zu überprüfen. Ergänzend dazu nutzen wir Cypress UI Tests, um sicherzustellen, dass die Benutzeroberfläche reibungslos und benutzerfreundlich funktioniert.

Parallel dazu haben wir das notwendige API-Backend mittels .NET Core neu implementiert, um die veraltete .NET 4 API abzulösen. Dies ermöglicht uns den Einsatz einer modernen, leistungsstarken Plattform. Die Datenbankanbindung erfolgt über den SQL-Server, der eine zuverlässige und leistungsfähige Datenverwaltung gewährleistet.

Für die Zusammenarbeit im Entwicklungsteam setzen wir auf Tools wie GitLab, um eine effiziente Versionskontrolle und kollaborative Entwicklung zu gewährleisten. Zur Verwaltung der Projektaufgaben nutzen wir Jira, um einen strukturierten und transparenten Entwicklungsprozess sicherzustellen.

Die Gestaltung der Benutzeroberfläche erfolgt zusätzlich unter Verwendung von Bootstrap, um ein responsives und ästhetisches Design zu realisieren. Die Integration von Angular, Kendo UI, Bootstrap und den anderen genannten Technologien ermöglicht es uns, eine moderne, leistungsfähige und benutzerfreundliche Softwarelösung für die Steuerung und Optimierung der Produktionsprozesse bei Porsche bereitzustellen.

.NET Softwareentwickler

Zeitraum:          08/2023 – 03/2024
Kunde:              RWE
Framework:       Scrum
Technologie:     .NET 8, C#, Terraform, AWS ECS & Fargate, AWS Lambda, EntraID, RabbitMQ, Azure Devops, NUnit

Als externer Softwareentwickler leiste ich in einem internationalen Team wertvolle Unterstützung für die Weiterentwicklung der internen Steuerungssysteme für Energieanlagen, insbesondere im Bereich erneuerbare Energien wie Windkraftanlagen und Solaranlagen. Mein Aufgabenbereich umfasst die Nutzung modernster Technologien und Frameworks, darunter .NET 8 und C#, um innovative Lösungen für die effiziente Steuerung und Überwachung dieser Anlagen zu entwickeln.

Bei der Implementierung dieser Systeme setze ich auf bewährte Technologien wie Terraform, um die Infrastruktur effizient zu verwalten und skalierbare Umgebungen in der AWS Cloud zu erstellen. Dabei kommen spezifische AWS-Services wie ECS & Fargate für die Containerorchestrierung sowie AWS Lambda für serverlose Funktionen zum Einsatz. Die Integration von EntraID ermöglicht eine sichere Zugriffskontrolle und Authentifizierung in den entwickelten Anwendungen.

Um eine zuverlässige und effiziente Kommunikation zwischen den verschiedenen Komponenten sicherzustellen, wurde RabbitMQ als Message Broker in die Systemarchitektur integriert. Dies gewährleistet einen reibungslosen Informationsaustausch zwischen den Services und ermöglicht eine flexible Skalierbarkeit.

Die kontinuierliche Integration und Bereitstellung der entwickelten Softwarelösungen erfolgt mithilfe von Azure DevOps. Dadurch wird eine effektive Zusammenarbeit im Team ermöglicht, und der Entwicklungsprozess kann transparent und automatisiert gestaltet werden. Die Qualitätssicherung wird durch den Einsatz von NUnit als Testframework sichergestellt, um eine hohe Codequalität und Zuverlässigkeit der Anwendungen zu gewährleisten.

Insgesamt trage ich dazu bei, die Leistung und Zuverlässigkeit der Steuerungssysteme für Energieanlagen zu optimieren und gleichzeitig die Integration von erneuerbaren Energietechnologien wie Windkraftanlagen und Solaranlagen voranzutreiben.

Senior Softwareentwickler, Softwarearchitekt, Cloud Architekt

Zeitraum:          08/2019 – 06/2023
Kunde:              Software ONE
Framework:       Kanban
Technologie:      .NET Core, Azure Functions, Azure SQL, Azure WebApp, Azure Servicebus, Azure Storage, Angular, AWS Lambda, AWS API, OpenId, OAuth2, XUnit, SpecFlow, Kendo UI, Terraform, Pair-Programming

Als führender Entwickler und Architekt habe ich in direkter Abstimmung mit dem Product Owner die Entwicklung eines internen Systems zur Verarbeitung von Mitarbeiterdaten geplant und umgesetzt. Hierbei kamen mehr als 20 Microservices zum Einsatz, die als Azure Functions mittels .NET Core programmiert wurden. Jeder Service erfüllt eine spezielle Business-Aufgabe und verfügt über eine eigene Azure SQL-Datenbank, was einen insolierten Kontext gewährleistet. Die Services kommunizieren untereinander eventbasiert mittels Azure Service Bus. Sowohl für die interne als auch externe Kommunikation wurden REST- und GraphQL-Schnittstellen implementiert.

Das System ermöglicht eine ereignisbasierte Verteilung und Bereitstellung von Mitarbeiterdaten im gesamten Unternehmen. Änderungen an den Mitarbeiterdaten, sei es sofortige Aktualisierungen oder zeitliche Änderungen wie eine Positionsumstellung zum Stichtag, werden geplant und bereitgestellt.

Für die Verwaltung des Systems und die Bereitstellung anwendungsspezifischer Funktionen wurde ein umfangreiches Mitarbeiterportal mittels Angular entwickelt. Die Integration von Single Sign-on über Azure Active Directory erleichtert den Mitarbeitern die Nutzung erheblich.

Neben der Hauptaufgabe habe ich die Mitarbeiter des Unternehmens im Bereich Testgetriebene Entwicklung und Clean Code Development geschult. Dazu gehörte auch die aktive Begleitung von Open-Space-Events, um mein Wissen zu verteilen.

In Situationen, in denen schnell hochwertige Softwarelösungen entwickelt werden mussten, wurde auf meine Expertise zurückgegriffen. Ein Beispiel hierfür ist das von mir entwickelte Proxy-System, das eine zentrale API für den Datenaustausch mit verschiedenen Navision-Instanzen bereitstellt. Das System wird mittels AWS Lambda in AWS gehostet und ist durch eine VPC-Verbindung mit den On-Premise-Systemen verbunden.

Zusätzlich begleitete ich die Entwicklung einer internen Applikation zur Verwaltung von Mitarbeiterzielen in Zusammenarbeit mit einem polnischen Team. Dabei kamen .NET Core 7 und Angular für die Azure-Plattform zum Einsatz.

Die interne Kommunikation bei SoftwareOne erfolgt vollständig auf Englisch, um die internationale Zusammenarbeit zu unterstützen.

Softwareentwickler, Softwarearchitekt

Zeitraum:          12/2018 – 7/2019
Kunde:              Comparex
Framework:       Scaled Agile Framework (SAFe)
Technologie:      .NET Core, Identity Server, Azure Cosmos DB, Azure WebApp, Azure Functions, OpenId, OAuth2, XUnit, SpecFlow, Terraform, Pair-Programming

Als Freiberufler spielte ich eine maßgebliche Rolle in der Entwicklung einer Identitätsmanagementlösung für Single Sign-On, bei der der Identity Server im Mittelpunkt stand. In meiner Position als Entwickler und Architekt konzentrierte ich mich besonders auf die Umsetzung einer sicheren und benutzerfreundlichen Single-Sign-On-Lösung. Der Identity Server wurde dazu genutzt, eine robuste Authentifizierung und Autorisierung zu gewährleisten und Benutzer sowie Rollenmanagement für die verschiedenen Komponenten bereitzustellen.

Die Implementierung von Web-Applikationen sowie Backend-Services erfolgte mithilfe von Microsoft .NET, um die Funktionalitäten des Identity Servers bereitzustellen. Diese Komponenten wurden als Cloud-Lösung in Azure bereitgestellt. Zur Datenspeicherung wurde eine Cosmos DB angebunden, um eine skalierbare und hochverfügbare Datenbanklösung zu gewährleisten.

Die Entwicklung erfolgte im Rahmen des Scaled Agile Frameworks (SAFe), wobei agile Prinzipien und Praktiken angewendet wurden, um eine effiziente und kollaborative Arbeitsweise sicherzustellen. Die Verwendung von .NET Core, Identity Server, Azure Cosmos DB, Azure WebApp, Azure Functions, OpenId, OAuth2, XUnit, SpecFlow und Terraform ermöglichte eine moderne und skalierbare Lösung.

Während des Entwicklungsprozesses setzte ich auf bewährte Praktiken wie Pair-Programming, um die Qualität des Codes sicherzustellen und das Know-how im Team zu teilen. Die Anwendung wurde durch umfassende Unit-Tests mit XUnit sowie Integrationstests mit SpecFlow abgesichert, um eine hohe Qualität und Zuverlässigkeit der Identitätsmanagementlösung zu gewährleisten.

Softwareentwickler, Softwarearchitekt

Zeitraum:          11/2017 – 11/2018
Kunde:              Comparex
Framework:       Scrum
Technologie:      .NET, MS SQL Server, XUnit, Pair-Programming, WPF, Prism

Als externer Mitarbeiter unterstützte ich die Comparex bei Entwicklungsaufgaben im SAM2Go-Projekt, einer Inventarisierungslösung für Software. In einem Team aus externen und internen Mitarbeitern arbeitete ich an den Backend-Komponenten sowie an der Windows-Applikation. Die Backend-Systeme wurden mittels .NET als Web-App entwickelt und auf internen Servern im IIS gehostet. Die Windows-Applikation wurde ebenfalls unter Verwendung von .NET entwickelt. Alle Komponenten wurden mittels MSI Installer verpackt und bereitgestellt.

Im Entwicklungsprozess wurde hauptsächlich testgetrieben im Rahmen von Pair-Programming gearbeitet. Diese Praktik förderte einen intensiven Informationsaustausch im Team und gewährleistete eine hohe Codequalität. Durch die Anwendung von Scrum als agiles Framework wurde eine flexible und iterative Vorgehensweise ermöglicht, was besonders in einem sich dynamisch entwickelnden Projekt wie SAM2Go von Vorteil war.

Während des laufenden Projekts wurde die Entscheidung getroffen, die Softwarelösung in der Cloud bereitzustellen. Hierfür wurden die Datenbanken sowie Backend-Services entsprechend umgebaut, um in Azure gehostet werden zu können. Dies ermöglichte eine effiziente Skalierbarkeit und Verfügbarkeit der Lösung in der Cloud-Infrastruktur.

Softwareentwickler

Zeitraum:          08/2016 – 11/2017
Kunde:              ESA Grimma
Technologie:      .NET, CanBus, OneWire, Modbus, PHP, Feldbus Systeme

Als selbstständiger Softwareentwickler und Softwarearchitekt hatte ich die einzigartige Gelegenheit, ein hochmodernes Weichenheizungssystem mit integrierter Wetterdatenunterstützung für die ESA zu entwickeln. In enger Zusammenarbeit mit den Elektroingenieuren der ESA konnte ich die maßgebliche Steuerungssoftware mithilfe von .NET und MS SQL entwickeln. Die nahtlose Integration der Feldbussysteme CAN, Modbus und 1Wire ermöglichte eine reibungslose Interaktion mit der elektrotechnischen Anlage. Dadurch konnte die Anlage effektiv gesteuert werden, während gleichzeitig die Daten der vorhandenen Sensoren integriert wurden. Zudem wurde das System um externe Wettervorhersagedaten erweitert, was der Anlage ermöglichte, eigenständig und proaktiv auf Wetterereignisse zu reagieren. Als externer Fachexperte konnte ich einen maßgeblichen Beitrag zum Erfolg dieses wegweisenden Projekts leisten.

In einem weiteren Projekt habe ich hauptverantwortlich die Entwicklung eines Touch-basierten Steuerungs- und Bediensystems für Operationssäle in Krankenhäusern vorangetrieben. Hierbei lag der Fokus auf der Schaffung einer benutzerfreundlichen und effizienten Schnittstelle für das medizinische Personal. Die Software wurde unter Verwendung von Microsoft Technologien entwickelt. Dabei wurden auch Aspekte wie die Integration von CanBus und OneWire berücksichtigt, um eine nahtlose Kommunikation mit den medizinischen Geräten sicherzustellen und die Steuerungselemente effektiv einzubinden.

Sprache


Deutsch – Muttersprache, fließend

Englisch – Verhandlungssicher

Spanisch – Grundlagen

Gut zu Wissen


Bei einer Beauftragung meiner Freelancer-Dienste besteht keine Notwendigkeit, sich wegen möglicher Scheinselbstständigkeit Sorgen zu machen. Als Freelancer arbeite ich innerhalb einer etablierten GmbH-Struktur, die über ein erfahrenes Team von Angestellten verfügt, eine eigene Büroinfrastruktur besitzt und einen breiten Kundenstamm pflegt. Darüber hinaus investieren wir kontinuierlich in interne Produktentwicklung. Diese solide organisatorische Struktur gewährleistet, dass die Zusammenarbeit ohne Risiko einer Scheinselbstständigkeit erfolgt. Eine Direktbeauftragung ist daher unkompliziert möglich. Sollten Sie weiterhin Bedenken haben, können wir das Risiko durch eine Beauftragung durch die IT-Projektgenossenschaft weiter minimieren (https://www.it-projekt-eg.de/).