Senior .NET Software Engineer - Async Architecture & Concurrency 1708-191
- Discuss this with your agent
- Open in Claude
- Open in ChatGPT
Prepare application
- Draft this with your agent
- Open in Claude
- Open in ChatGPT
Role details
Tech stack
+7 more
Job description
Fßr unseren Mandanten, ein fßhrendes Hightech- und Industrieunternehmen mit internationalem Konzernumfeld in Jena, suchen wir einen erfahrenen Senior .NET Software Engineer (m/w/d) mit tiefem Know-how in Asynchronität, Concurrency, Threading und Softwarearchitektur.
Diese Position richtet sich an Entwickler, die mehr wollen als die Umsetzung von Features.
An Menschen, die verstehen mÜchten, warum ein System unter Last instabil wird, weshalb ein Deadlock entsteht, wo Performance verloren geht und wie sich eine gewachsene Softwarearchitektur Schritt fßr Schritt modernisieren lässt - ohne funktionierende Geschäftsprozesse zu gefährden.
Wenn Sie sich in komplexen .NET-Systemen zu Hause fĂźhlen und technische Herausforderungen eher als Ansporn denn als Belastung sehen, kĂśnnte diese Position genau das Richtige fĂźr Sie sein.
Ihre Herausforderung
Sie Ăźbernehmen eine zentrale technische Rolle bei der Modernisierung und Stabilisierung komplexer, gewachsener .NET-Anwendungen.
Dabei verbinden Sie tiefgehende Softwareentwicklung mit Architektur, Performance Engineering und technischer Beratung.
Ihre Aufgaben umfassen insbesondere:
- Technische Verantwortung fĂźr die schrittweise Modernisierung komplexer .NET-Anwendungen
- Entwicklung und Umsetzung von Migrationsstrategien von synchronen Legacy-Codebasen hin zu modernen Async-/Await-Architekturen
- Gestaltung robuster Ăbergänge zwischen synchronen und asynchronen Komponenten
- Analyse und Behebung komplexer Concurrency-, Threading- und Performance-Probleme
- Identifikation von Deadlocks, Race Conditions, Thread-Pool-Exhaustion und problematischen synchronen Blockierungen
- Entwicklung skalierbarer und wartbarer Architekturen fĂźr WPF- und WinForms-Anwendungen
- Optimierung der Responsiveness und Performance anspruchsvoller Desktop-Anwendungen
- Definition von Best Practices fßr Asynchronität, Cancellation, Fehlerbehandlung und Ressourcenmanagement
- Gestaltung von Architekturmustern zur Entkopplung und fĂźr ereignisgetriebene Prozesse
- Einsatz moderner Diagnose-, Profiling- und Debugging-Techniken
- Aufbau reproduzierbarer Test- und Validierungsszenarien fĂźr schwer reproduzierbare Concurrency-Probleme
- Weiterentwicklung von Coding Guidelines, Architekturstandards und technischen Qualitätsrichtlinien
- Schrittweise Modernisierung groĂer Software-Monolithen
- Beratung und Coaching von Entwicklungsteams bei Async Programming, UI-Threading und Softwarearchitektur
- Mitgestaltung der technischen Zielarchitektur und langfristigen Entwicklungsstrategie
KÜnnte das Ihr nächster Schritt sein?
Requirements
Wenn Sie heute bereits tief in C#/.NET, Async/Await, Concurrency, WPF/WinForms oder Performance Engineering arbeiten und den nächsten Schritt in Richtung technischer Verantwortung und Architektur suchen, bietet diese Position einen anspruchsvollen Rahmen fßr Ihre weitere Entwicklung.
Diskretion und ein vertraulicher Erstkontakt sind selbstverständlich.
Das bringen Sie mit
Sie verfßgen ßber mehrere Jahre Erfahrung in der Entwicklung komplexer SoftwarelÜsungen und haben sich insbesondere mit den Herausforderungen beschäftigt, die entstehen, wenn gewachsene Systeme modernisiert und gleichzeitig stabil betrieben werden mßssen.
Idealerweise bringen Sie mit:
- Mehrjährige Erfahrung in der Entwicklung komplexer C#/.NET-Anwendungen
- Fundierte Erfahrung mit der Migration synchroner Codebasen auf Async/Await
- Tiefes Verständnis von Concurrency, Multithreading und Task-basierter Programmierung
- Erfahrung mit hybriden Sync-/Async-Architekturen
- Sehr gute Kenntnisse von SynchronizationContext, Task Scheduler und ConfigureAwait
- Erfahrung mit CancellationToken, Timeout-Konzepten und robuster Fehlerbehandlung
- Nachweisbare Erfahrung bei der Analyse und Behebung von Deadlocks, Race Conditions und Threading-Problemen
- Erfahrung mit WPF und/oder WinForms
- Sehr gutes Verständnis von Dispatcher, UI-Threading und Thread-Kommunikation
- Erfahrung in der Entkopplung rechenintensiver Prozesse vom UI-Thread
- Erfahrung mit Performance-Analyse und Profiling, beispielsweise mit Visual Studio Diagnostics, PerfView oder vergleichbaren Werkzeugen
- Erfahrung mit Refactoring- und Modernisierungsstrategien fĂźr groĂe, gewachsene Softwarelandschaften
- Kenntnisse moderner Softwarearchitektur und asynchroner bzw. ereignisgetriebener Architekturmuster
- Erfahrung mit groĂen Monolithen und deren schrittweiser Transformation
- Idealerweise Erfahrung als Technical Lead, Mentor oder Coach
- Eine analytische, strukturierte und gleichzeitig pragmatische Arbeitsweise
- Freude daran, technische Zusammenhänge wirklich zu verstehen und nachhaltige LÜsungen zu entwickeln, Sie verfßgen ßber ein abgeschlossenes Studium der:
- Informatik
- Software Engineering
- Praktischen Informatik
- Technischen Informatik
- Informationstechnik / Information Technology
- Wirtschaftsinformatik
oder einer vergleichbaren technischen Fachrichtung.
Alternativ ist auch eine vergleichbare technische Qualifikation mit entsprechender mehrjähriger einschlägiger Berufserfahrung willkommen.
Fßr uns zählt nicht allein der Abschluss, sondern vor allem Ihre technische Tiefe und Ihre praktische Erfahrung mit komplexen Software-Systemen.
Apply for this position
This job is hosted externally. Click below to view the full posting and apply.
Prepare application
- Draft this with your agent
- Open in Claude
- Open in ChatGPT
Good distractions
Talks and stories from around this role â technically off-topic, practically not.
Moments
Explore playlistsVideos
See allRelated articles
See all
System change: restart as developer?
The 12 Best Jobs for Software Engineers
Where to Find Entry-Level Software Engineering Jobs
Starter Kit For Job Applications For Developers