Profilbild von Mirco Toepfer .NET | C# | Angular | Azure | AWS | Full Stack Softwareentwickler | Architekt | Cloud Architekt aus BadLausick

Mirco Töpfer

verfügbar

Letztes Update: 28.03.2024

.NET | C# | Angular | Azure | AWS | Full Stack Softwareentwickler | Architekt | Cloud Architekt

Firma: adcoso GmbH
Abschluss: Informatik
Stunden-/Tagessatz: anzeigen
Sprachkenntnisse: deutsch (Muttersprache) | englisch (verhandlungssicher) | spanisch (Grundkenntnisse)

Schlagwörter

Microsoft Azure Amazon Web Services Architektur Test-Driven Development .Net Framework AngularJS Clean Code C# APIs Canbus + 108 weitere Schlagwörter anzeigen

Dateianlagen

MircoToepfer-Englisch-V2_280324.pdf
MircoToepfer-German-V2_280324.pdf

Skills

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 Expertise erstreckt sich über die Entwicklung robuster Anwendungen, das Design von Cloud-Architekturen und die nahtlose Integration verschiedener Technologien, insbesondere in den Bereichen Medizintechnik, Bahntechnik, Automotive, Human Resources, Asset Management, Energiehandel, Industriesteuerung und Automatisierung, Gebäudeautomatisierung sowie IoT.
Mit tiefgreifender Erfahrung in der Entwicklung von Blazor, WPF, Angular und .NET Anwendungen beherrsche ich sowohl Frontend- als auch Backend-Entwicklung und lege dabei besonderen Wert auf sauberen und gut strukturierten Code sowie eine hohe Testabdeckung. Als Clean Code Trainer vermittle ich aktiv mein Wissen an Kunden.
Ein Schwerpunkt meiner Arbeit liegt in der Architektur und Entwicklung von Cloud-Lösungen auf Microsoft Azure und AWS, wobei ich maßgeschneiderte Infrastrukturen entwerfe und bewährte Dienste nutze, um skalierbare und sichere Anwendungen zu gewährleisten.
Durch meine langjährige Erfahrung verfüge ich über fundierte Kenntnisse in Softwaredesign, serviceorientierter Architektur (SOA) und Best Practices wie Test Driven Development (TDD), Domain Driven Development (DDD) und agilen Methoden wie Scrum, Kanban oder SAFe.
Ich zeichne mich durch meine Fähigkeit aus, mich schnell an neue Technologien anzupassen und komplexe technische Herausforderungen zu lösen. Mit exzellenten Kommunikationsfähigkeiten in Englisch und Deutsch bin ich in der Lage, effektiv mit Kunden und Teammitgliedern zu interagieren, um stets einen Mehrwert zu bieten.

Aktuelle Technologien und Prozesse

MS Azure | AWS | .NET C# | Angular | Typescript | XUnit | NUnit | Test Driven Development
 Clean Code Development | Clean Architecture | Onion Architecture | MS SQL| MS SQL Azure
Entity Framework | Modbus | CanBus | CanOpen | 1Wire | OpenIDConnect | OAuth2 | EntraID
OData | GraphQL API | REST API | Application Insights | Azure Log Analytics |Elasticsearch
Terraform | Azure DevOps | Jira | Azure Service Bus | RabbitMQ | Scrum | Kanban | SAFe

Cloud Services
  • 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
  • Azure Container Instances
  • Azure Kubernetes Service (AKS)
  • Azure Event Grid
  • Azure Event Hubs
  • Azure CDN
  • AWS S3
  • AWS API Gateway
  • AWS Lambda
  • AWS CloudWatch
  • AWS ECS
  • AWS Fargate
  • AWS CloudFront
  • AWS Route 53
  • AWS Aurora
  • AWS DynamoDB
  • AWS Step Functions
Methodology
  • Scrum
  • Kanban
  • SAFe
  • Extreme Programming (XP)
Development
  • .NET
  • .NET Core
  • Python
  • Angular
  • Typescript
  • Java
  • C#
Testing Frameworks
  • XUnit
  • NUnit
  • SpecFlow
  • Cypress
  • Selenium
  • JUnit
  • Karma
Development Practices
  • Test Driven Development (TDD)
  • Behavior Driven Development (BDD)
  • Clean Code Development
  • Clean Architecture
  • Onion Architecture
  • Hexagonal Architecture
  • Ports and Adapters Architecture
  • Agile Development
  • Waterfall Development
Database and ORMs
  • MS SQL
  • PostgreSQL
  • Oracle DB
  • MySQL
  • MariaDB
  • SQLite
  • Entity Framework
  • Hibernate
Collaboration Tools
  • Azure DevOps
  • Git
  • GitLab
  • GitHub
  • Bitbucket
  • Jenkins
  • TeamCity
  • Jira
  • Microsoft Teams
  • Confluence
Field Bus Protocols
  • Zigbee
  • OPC UA
  • Modbus
  • BACnet
  • CanBus
  • CanOpen
  • 1Wire
Security and Identity
  • OpenIDConnect
  • OAuth2
  • Identity Server
  • Okta
  • Auth0
  • EntraID
  • Ping Identity
API
  • OData
  • GraphQL API
  • REST API
  • gRPC
  • SOAP
  • Kafka
Monitoring and Logging
  • Application Insights
  • Azure Monitor
  • Azure Log Analytics
  • Azure Sentinel
  • Elasticsearch
  • Grafana

Infrastructure as Code
  • Terraform
  • ARM
  • AWS CDK
Containerization
  • Container (Docker)
  • Kubernetes
  • Azure Container Registry (ACR)
  • Azure Kubernetes Service (AKS)
Service Bus
  • NServiceBus
  • Azure Service Bus
  • MassTransit
  • RabbitMQ
  • Apache Kafka
  • AWS SQS
  • AWS SNS

 

Projekthistorie

07/2022 - bis jetzt
.NET C# | Angular Softwareentwickler ~8h/Woche
Porsche (Automobil und Fahrzeugbau, 1000-5000 Mitarbeiter)

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.

08/2023 - 03/2024
.NET C# | AWS Softwareentwickler
RWE (Energie, Wasser und Umwelt, 1000-5000 Mitarbeiter)

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.

08/2019 - 06/2023
.NET C# | Azure | AWS Senior Softwareentwickler, Softwarearchitekt, Cloud Architekt
Software ONE (Internet und Informationstechnologie, >10.000 Mitarbeiter)

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.

12/2018 - 07/2019
.NET C# | Azure Softwareentwickler, Softwarearchitekt
Comparex (Internet und Informationstechnologie, 1000-5000 Mitarbeiter)

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.

11/2017 - 11/2018
.NET C# | Azure Softwareentwickler, Softwarearchitekt
Comparex (Internet und Informationstechnologie, 1000-5000 Mitarbeiter)

Technologie:      .NET, MS SQL Server, XUnit, Pair-Programming, Azure

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.

08/2016 - 11/2017
.NET | Automatisierung | Feldbus Softwareentwickler
ESA (Industrie und Maschinenbau, 250-500 Mitarbeiter)

Technologie:      .NET, CanBus, OneWire, Modbus, PHP, Linux

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.

Reisebereitschaft

Weltweit verfügbar

Sonstige Angaben

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/).
Profilbild von Mirco Toepfer .NET | C# | Angular | Azure | AWS | Full Stack Softwareentwickler | Architekt | Cloud Architekt aus BadLausick .NET | C# | Angular | Azure | AWS | Full Stack Softwareentwickler | Architekt | Cloud Architekt
Registrieren