Beschreibung
- IT - Software Engineering
- Bern
- Contracting
- Teilzeit
- Snowflake, PostgreSQL, RabbitMQ
Die zwei Engineers, die gemeinsam die gesamte Datenverarbeitungskette verantworten, ergänzen sich idealerweise mit ihren technischen Schwerpunkten wie folgt:
- Streaming & Performance: Schwerpunkt auf RabbitMQ-Consumer-Entwicklung, Python Concurrency, Performance-Optimierung und stabiler Verarbeitung unter hoher Last
- Data Integration & Recovery: Schwerpunkt auf Snowflake/PostgreSQL, zuverlässiger Datenaufnahme sowie Recovery-, Replay- und Backfill-Prozessen
Für beide Schwerpunkte werden praktische Erfahrung mit RabbitMQ und nachweisbare Projekterfahrung in produktiven Umgebungen vorausgesetzt.
Aufgaben:
- Entwicklung und Optimierung einer skalierbaren Python-Anwendung zur Verarbeitung von RabbitMQ-Datenströmen
- Implementierung und Weiterentwicklung von RabbitMQ-Consumern für produktive Streaming-Umgebungen
- Integration und Konfiguration der Datenaufnahme in Snowflake und Snowflake Postgres
- Sicherstellung einer zuverlässigen Nachrichtenverarbeitung inklusive Acknowledgements, Redelivery, Backpressure und Deduplizierung
- Konzeption und Implementierung robuster Recovery-, Replay- und Backfill-Prozesse
- Optimierung von Latenz, Durchsatz sowie CPU- und Speicherverbrauch
- Analyse und Behebung von Performance-Engpässen, Lastspitzen und Fehlerfällen
- Sicherstellung von Datenvollständigkeit und Datenkonsistenz bei Live- und historischen Daten
- Integration von Nachladeprozessen unter Verwendung von Kestra und dlt (dltHub) in Zusammenarbeit mit dem internen Data Ingestion Engineer
- Entwicklung automatisierter Tests sowie Durchführung von Performance- und Lasttests
- Integration der Lösung in Azure DevOps CI/CD und Implementierung grundlegender Monitoring-Funktionen
- Enge Zusammenarbeit mit internen Plattform- und Engineering-Teams sowie Dokumentation und Wissenstransfer
Profil:
- Sehr gute praktische Erfahrung in der Python-Entwicklung, insbesondere mit langlaufenden produktiven Anwendungen
- Fundierte Erfahrung mit RabbitMQ, insbesondere Consumer-Entwicklung, Message Processing und Fehlerbehandlung
- Praktische Erfahrung mit Streaming-Systemen unter realer Last sowie deren Performance-Optimierung
- Gute Kenntnisse in Snowflake und PostgreSQL, insbesondere im Bereich Data Ingestion und Datenintegration
- Erfahrung mit Recovery, Replay, Backfill, Deduplizierung und Datenkonsistenz
- Sehr gutes Verständnis von Acknowledgements, Redelivery, Backpressure und Message Queuing
- Kenntnisse in Python Concurrency, CPU-/Memory-Profiling und Performance-Optimierung
- Erfahrung in der Entwicklung und im Betrieb produktionsfähiger Datenpipelines
- Kenntnisse in automatisierten Tests, CI/CD und Monitoring
- Erfahrung mit Azure DevOps sowie modernen Entwicklungs- und Deployment-Prozessen
- Kenntnisse in Azure, AKS, Kestra, dlt, Kafka oder Debezium von Vorteil
- Selbstständige, strukturierte und lösungsorientierte Arbeitsweise sowie ausgeprägte Teamfähigkeit
- Erfahrung in der Zusammenarbeit mit internen Plattform-, Entwicklungs- und Betriebsteams
