Software Developer - Build & Tooling (m/w/d) in ANÜ
emagine GmbH
Ansprechpartner: Tamara Petrovic Turkovic
Jena, Deutschland
Beschreibung
Ihre Rolle
- Verantwortung für die Konzeption, Weiterentwicklung und Optimierung der Software-Build- und Tooling-Landschaft innerhalb komplexer .NET- und C++-basierter Entwicklungssysteme.
- Analyse und Optimierung von Compiler-, Linker- und Build-Prozessen zur Sicherstellung kurzer Build-Zeiten, hoher Codequalität und reproduzierbarer Software-Releases.
- Entwicklung und Pflege anspruchsvoller MSBuild-Lösungen einschließlich Custom Targets, Tasks, Multi-Targeting-Konzepten und komplexer Projekt- sowie Solution-Strukturen.
- Design, Implementierung und Wartung von COM-basierten Schnittstellen sowie deren Integration in moderne .NET-Architekturen.
- Entwicklung performanter und skalierbarer gRPC-Service-Architekturen für die Kommunikation verteilter Anwendungen und Systeme.
- Erstellung von Roslyn-Analyzern und Code-Fix-Providern zur automatisierten Durchsetzung von Entwicklungsstandards, Architekturvorgaben und Qualitätsrichtlinien.
- Konzeption und Umsetzung moderner Developer-Tooling-Lösungen, CI/CD-Pipelines und Build-Automatisierungen zur Steigerung der Entwicklungseffizienz.
- Unterstützung von Entwicklungsteams bei der Analyse komplexer Build-, Compiler-, Interop- und Laufzeitprobleme sowie bei Architektur- und Technologieentscheidungen.
- Erarbeitung und Vermittlung von Best Practices sowie aktive Mitwirkung an der Weiterentwicklung der technischen Softwareplattform.
Ihr Profil
- Erfolgreich abgeschlossenes Studium der Informatik, Software Engineering oder eine vergleichbare Qualifikation.
- Mehrjährige praktische Erfahrung in der Entwicklung komplexer Softwarelösungen mit C#, .NET und C++ unter Visual Studio.
- Sehr gutes Verständnis der .NET- und Visual-C++-Toolchain einschließlich Compiler, Linker und Build-Systemen.
- Umfangreiche Erfahrung mit Compiler-Konfigurationen, Optimierungsstrategien und Performanceanalysen großer Softwarelösungen.
- Expertenwissen in MSBuild, insbesondere bei Custom Targets, Custom Tasks, Conditional Builds, Multi-Targeting und komplexen Projektabhängigkeiten.
- Nachweisbare Erfahrung bei der Analyse und Optimierung großer Build-Systeme hinsichtlich Stabilität, Wartbarkeit und Performance.
- Fundierte Erfahrung in der Entwicklung und Wartung von COM-Komponenten und COM-Schnittstellen.
- Sehr gute Kenntnisse zu Referenzzählung, Apartment-Modellen, COM-Registrierung und Deployment-Konzepten.
- Umfangreiche Erfahrung mit .NET-Interop-Technologien wie P/Invoke, RCW, CCW und komplexen Marshaling-Szenarien.
- Praktische Erfahrung in der Analyse von Speicherlecks, Threading-Problemen und COM-bezogenen Laufzeitfehlern.
- Mehrjährige Erfahrung im Design und der Implementierung von gRPC-basierten Service-Landschaften.
- Sicherer Umgang mit Protocol Buffers und Contract-First-Ansätzen.
- Kenntnisse in den Bereichen TLS, Authentifizierung, Autorisierung, Versionierung und Load Balancing verteilter Systeme.
- Erfahrung mit Monitoring-, Tracing- und Logging-Konzepten moderner Microservice-Architekturen.
- Praktische Erfahrung in der Entwicklung von Roslyn-Analyzern, Code-Fixes und automatisierten Entwicklungsrichtlinien.
- Kenntnisse gängiger CI/CD-Plattformen wie Azure DevOps oder GitHub Actions.
- Erfahrung im Aufbau und der Weiterentwicklung automatisierter Build-, Test- und Release-Pipelines.
- Strukturierte, analytische Arbeitsweise sowie ausgeprägte Problemlösungs- und Kommunikationsfähigkeiten.
- Erfahrung mit großen Legacy-Codebasen und deren schrittweiser Modernisierung.
- Kenntnisse in Software-Architektur, Plattformengineering und Developer Experience (DevEx).
- Erfahrung als technischer Mentor oder fachlicher Ansprechpartner innerhalb von Entwicklungsteams.
Die Stelle ist 2-3x/Woche in Jena vor-Ort zu besetzen.
Wir freuen uns auf Ihre Bewerbung!