Software Engineer (Python) — Programmable Networking

Software Engineer (Python) — Programmable Networking

Vollzeit 63000 - 77000 € / Jahr (geschätzt) Homeoffice (teilweise)
J

Auf einen Blick

  • Aufgaben: Entwickle APIs für programmierbare Netzwerke und automatisiere Netzwerkressourcen.
  • Unternehmen: Innovatives Unternehmen im Bereich Netzwerktechnologie mit einem dynamischen Team.
  • Vorteile: Wettbewerbsfähiges Gehalt, flexible Arbeitszeiten und internationale Arbeitsumgebung.
  • Weitere Informationen: Wachstumsorientierte Umgebung mit vielen Entwicklungsmöglichkeiten.
  • Warum dieser Job: Gestalte die Zukunft der Netzwerktechnologie und arbeite an globalen Infrastrukturprojekten.
  • Qualifikationen: Erfahrung in Softwareentwicklung, insbesondere mit Python und Netzwerktechnologien.

Das prognostizierte Gehalt liegt zwischen 63000 - 77000 € pro Jahr.

Diese Position wird im Auftrag eines Partnerunternehmens ausgeschrieben, das alle Bewerbungen und nächsten Schritte verwaltet. Unser Partner sucht einen Software Engineer (Python) – Programmable Networking mit Sitz in Deutschland. Dies ist eine Senior-Engineering-Möglichkeit an der Schnittstelle von Softwareentwicklung und Produktionsnetzwerkinfrastruktur.

Sie werden kundenorientierte APIs erstellen, die direkt reale Netzwerkressourcen über globale Points of Presence bereitstellen und verwalten. Die Rolle umfasst asynchrones Python, Netzwerkorchestrierung, Routing-Automatisierung, Cloud-Interconnects und Infrastrukturkontrollsysteme. Sie arbeiten praktisch mit BGP, VRFs, WireGuard, GRE, RoCE-nahen Infrastrukturen, Linux-Netzwerken und Netzwerkbetriebssystemen. Sie sind verantwortlich für Systeme vom API-Design über Orchestrierung, Gerätekonfiguration, Beobachtbarkeit bis hin zu Produktionsoperationen. Die Umgebung ist schnelllebig und hochgradig autonom, mit einem kleinen Team und erheblichem Einfluss auf wichtige Infrastrukturen. Diese Rolle ist ideal für einen Ingenieur, der möchte, dass Software reale Netzwerke steuert, anstatt einfach nur Daten in Datenbanken zu verwalten.

Verantwortlichkeiten

  • Programmable Networking APIs entwickeln und weiterentwickeln: Entwerfen und Pflegen von kundenorientierten REST-Ressourcen für private Netzwerke, virtuelle Cross-Connects, WireGuard-Schnittstellen, globale IPs, öffentliche Internet-Gateways und verwandte Gesundheits-, Abdeckungs- und Nutzungspunkte, einschließlich OpenAPI-Spezifikationen, API-Gateway-Routing und Rückwärtskompatibilität.
  • Netzwerkorchestrierungs-Kontrollsystem entwickeln: Asynchrone Python-Dienste erstellen, die API-Anfragen in reale Netzwerkbereitstellungen übersetzen, einschließlich IPAM und Ressourcenallokation, PostgreSQL-unterstützte Job-Warteschlangen, Wiederholungen, Rollbacks, Rekonsolidierungen, Gesundheitsprüfungen und Bereitstellungs-/Decommissioning-Workflows.
  • Netzwerkinfrastruktur automatisieren: Ansible- und SSH-basierte Automatisierung für Linux- und Netzwerkbetriebssystemflotten entwickeln und betreiben, einschließlich WireGuard, FRR/VyOS BGP, VRFs, Routenreflektoren, GRE-Tunneln, NAT, Firewall-Richtlinien, DNS, Anycast-Ankündigungen und Konfigurationsdrift-Erkennung.
  • Cloud- und Netzwerkinterconnects verwalten: Integrationen mit Connectivity-Anbietern und Cloud-Plattformen erstellen, um virtuelle Cross-Connects bereitzustellen und Kundennetzwerke in AWS, Azure und Google Cloud-Umgebungen zu verbinden.
  • Infrastrukturkontrollsysteme entwickeln: Zu Go-basierten Envoy xDS-Kontrollsystemdiensten beitragen und die Konfigurationsbereitstellung an Edge- und Gateway-Datenebenen verwalten.
  • Produktionszuverlässigkeit sicherstellen: Netzwerkdienste überwachen und verbessern, indem Metriken, Alarmierung, Vorfallreaktion, Kundeneskalationsbearbeitung und Abrechnungs-Synchronisation verwendet werden. Probleme über Anwendungs-, Betriebssystem- und Netzwerkschichten untersuchen und Vorfälle in dauerhafte Ingenieureingriffe umwandeln.
  • Ingenieursqualität und Skalierbarkeit vorantreiben: Saubere Architektur, Tests, statische Analyse, Automatisierung, sichere Bereitstellungsmethoden und wiederverwendbare Infrastrukturmuster anwenden, um sicherzustellen, dass die Netzwerkplattform wartbar bleibt, während sie über globale Standorte skaliert.

Anforderungen

  • Starker Hintergrund in der Softwareentwicklung: Bedeutende Berufserfahrung in der Erstellung und dem Betrieb von Produktionssoftware, insbesondere kundenorientierten APIs und verteilten Systemen, bei denen API-Anfragen reale Infrastrukturänderungen auslösen, anstatt einfache Datenbankoperationen.
  • Fortgeschrittene Python-Expertise: Starke Produktionserfahrung mit Python, insbesondere asynchroner Programmierung unter Verwendung von Technologien wie asyncio, aiohttp, uvloop, SQLAlchemy und verwandten Werkzeugen. Erfahrung mit Go und die Fähigkeit, Go-Code zu schreiben und zu überprüfen, werden ebenfalls erwartet.
  • Praktische Netzwerktechnik: Praktisches Wissen über BGP, OSPF, ECMP, EVPN/VXLAN, VRFs, GRE, NAT, WireGuard und Linux-Netzwerke. Sie sollten in der Lage sein, Routing zu konfigurieren und zu beheben sowie FRR- oder VyOS-Konfigurationen zu lesen.
  • Erfahrung in der Infrastrukturautomatisierung: Erfahrung in der Automatisierung von Netzwerkflotten mit Ansible, SSH-basierten Werkzeugen, idempotentem Konfigurationsmanagement, sicheren Rollout- und Rollback-Mechanismen sowie der Erkennung von Konfigurationsdrift.
  • Starkes PostgreSQL-Wissen: Erfahrung über die Nutzung von ORM hinaus, einschließlich Schema-Design, Migrationen auf Live-Systemen, Sperrsemantiken, Beratungs-Sperren und datenbankgestützten Warteschlangenmustern.
  • Fähigkeit zur Fehlerbehebung über Schichten hinweg: Sicheres Diagnostizieren komplexer Produktionsvorfälle über Hardware-, Netzwerk-, Betriebssystem-, Anwendungs- und verteilte Systeme hinweg unter Verwendung von Werkzeugen wie Paketaufzeichnungen, Routing-Dienstprogrammen, WireGuard-Diagnosen und Anwendungsprotokollen.
  • Systemdenken: Fähigkeit, über asynchrone Jobs, eventual consistency, Ressourcenallokation, Fehlerwiederherstellung, Idempotenz und Rollback nachzudenken, wenn Infrastrukturkontrollsysteme erstellt werden.
  • Erfahrung im Produktionsnetzwerk: Erfahrung im Betrieb von Hochleistungs-, Multi-Site- oder verteilten Netzwerk-Infrastrukturen und der Arbeit mit Linux-basierten Netzwerkumgebungen und Netzwerkbetriebssystemen.
  • Kenntnisse in der Cloud-Konnektivität: Erfahrung mit Cloud-Netzwerken oder Interconnect-Technologien wie AWS Direct Connect, Azure ExpressRoute, Google Cloud-Konnektivität, Equinix Fabric oder vergleichbaren Diensten ist von Vorteil.
  • Zusätzliche technische Stärken: Erfahrung mit Envoy/xDS, IPAM-Plattformen wie NetBox, Adress- und Routen-Distinguisher-Planung, öffentlichem API-Design, Entwicklerdokumentation oder großangelegten Point-of-Presence-Bereitstellungen ist ein Plus.
  • Ingenieursansatz: Fähigkeit, Verantwortung über den gesamten Lebenszyklus eines Produkts zu übernehmen, von Design und Implementierung über Bereitstellung, Beobachtbarkeit, Vorfallreaktion bis hin zu langfristigen Verbesserungen.
  • Rollenanpassung: Dies ist keine traditionelle NOC- oder manuelle Netzwerkbetriebsposition. Das Hauptlieferobjekt ist Software—APIs, Kontrollsysteme, Automatisierung und Systeme, die reale Infrastruktur programmieren und betreiben.

Vorteile

  • Wettbewerbsfähiges Vergütungspaket, das auf Ihrer Erfahrung, Ihren Fähigkeiten und den Marktbedingungen basiert.
  • Flexibles, internationales Arbeitsumfeld mit starkem Fokus auf Autonomie und Eigenverantwortung.
  • Gelegenheit, an globaler Konnektivitätsinfrastruktur zu arbeiten, die sich über mehrere Regionen und Points of Presence erstreckt.
  • Praktische Erfahrungen mit programmierbarem Networking, Cloud-Interconnects, Routing-Automatisierung und Infrastrukturkontrollsystemen.
  • Gelegenheit, sowohl im Bereich Softwareentwicklung als auch in fortgeschrittenen Netzwerktechnologien zu arbeiten.
  • Karrierewachstum in einem schnell wachsenden Technologieumfeld.
  • Inklusiver Arbeitsplatz, der sich für Chancengleichheit und vielfältige Perspektiven einsetzt.
  • Flexibler und hybridfreundlicher Ansatz für Arbeitsarrangements.

Software Engineer (Python) — Programmable Networking Arbeitgeber: Jobgether

Unser Partnerunternehmen bietet eine hervorragende Arbeitsumgebung für Produktmanager, die in einem dynamischen und internationalen Umfeld tätig sein möchten. Mit flexiblen, vollständig remote Arbeitsmöglichkeiten und Zugang zu urbanen Büros in Paris, Lille oder London fördert das Unternehmen Innovation und Zusammenarbeit. Zudem werden umfassende Gesundheits- und Rentenpläne sowie kontinuierliche Entwicklungsmöglichkeiten geboten, um sicherzustellen, dass Mitarbeiter in ihrer Karriere wachsen und sich wohlfühlen.

J

Kontaktdaten:

Jobgether Recruiting-Team

StudySmarter Expertenrat🤫

Wir sind der Meinung, dass du so Software Engineer (Python) — Programmable Networking erhalten könntest

Engagier dich in Entwickler-Communities!

Lass uns mal ehrlich sein: In der Software-Entwicklung sind Netzwerke Gold wert! Tummel dich in GitHub-Projekten, nehme an lokalen Meetups oder Hackathons teil und vernetze dich mit anderen Entwicklern. So steigerst du nicht nur deine Sichtbarkeit, sondern lernst auch die neuesten Trends und Technologien kennen.

Zeig deine Fähigkeiten!

Erstelle ein Portfolio, das deine besten Projekte und Code-Examples zeigt. Nichts überzeugt mehr als ein praktischer Beweis deiner Skills. Das kann auch helfen, bei Jobgether anzuklopfen, wenn du dich auf die Stelle als Software Engineer (Python) — Programmable Networking bewirbst – so wissen sie gleich, was sie von dir erwarten können!

Nutze Jobplattformen speziell für Tech-Jobs!

Plattformen wie Stack Overflow Jobs oder AngelsList sind perfekte Orte, um Vollzeitstellen in der Software-Entwicklung zu finden. Hier sind viele tolle Unternehmen auf der Suche nach Talenten wie uns, also schau regelmäßig vorbei und bewirb dich direkt über die Website.

Such dir Mentoren und Feedback!

Hol dir Feedback von erfahrenen Entwicklern, die dir Tipps geben können, was Recruiter wirklich suchen. Ob über LinkedIn oder persönliche Kontakte: Menschen, die sich in der Branche auskennen, können enorm wertvoll sein, um dir zu helfen, dich optimal auf deine Bewerbung bei Jobgether vorzubereiten!

Wir glauben, dass du diese Fähigkeiten brauchst, um Software Engineer (Python) — Programmable Networking mit Bravour zu bestehen

Python
Asynchrone Programmierung
API-Design
Netzwerkautomatisierung
BGP
Linux-Netzwerk
Ansible

Einige Tipps für deine Bewerbung 🫡

Highlights deiner Coding-Skills:In der Software-Entwicklung kommt es auf konkrete Fähigkeiten an. Vergiss nicht, relevante Programmiersprachen und Frameworks in deinen Lebenslauf aufzunehmen. Zeig uns, was du kannst – vielleicht mit einem Link zu deinem GitHub-Profil oder einer Übersicht deiner Side Projects, die deine Programmierkenntnisse illustrieren.

Dokumentation deiner Erfolge:Gerade bei einer Vollzeitstelle in der Software-Entwicklung sind konkrete Ergebnisse Gold wert. Nenn uns Zahlen und Ergebnisse aus deinen vorherigen Projekten. Hast du den Code optimiert oder Systemfehler behoben? Solche Erfolge zeigen, dass du die Sprache der Entwickler sprichst und einen echten Mehrwert bringst.

Attraktive Projektbeschreibungen:Wenn du an Projekten gearbeitet hast, die hervorstechen, beschreibe sie ausführlich in deinem Lebenslauf. Was war das Problem, das du gelöst hast? Welche Technologien hast du eingesetzt? Das gibt uns einen klaren Einblick in deine Herangehensweise und Problemlösungsfähigkeiten.

Motivation zeigen:In deinem Anschreiben solltest du deine Motivation für die Stelle im Bereich Software-Entwicklung bei Jobgether klar herausstellen. Warum sprichst gerade du die Anforderungen für diese Vollzeitrolle an? Mach deutlich, was dich an der Arbeit bei uns reizt und wie du über das rein Technische hinaus wachsen möchtest.

Wie man sich auf ein Vorstellungsgespräch bei Jobgether vorbereitet

Technische Vorbereitung auf die Coding-Challenges

In der Software-Entwicklung sind technische Fragen oft ein zentraler Teil des Interviews. Macht euch mit Plattformen wie LeetCode oder HackerRank vertraut, um eure Problemlösungsfähigkeiten zu trainieren. Zeigt im Interview viel Selbstbewusstsein beim Erklären eurer Ansätze!

Das eigene Portfolio im besten Licht präsentieren

Stellt sicher, dass ihr ein aussagekräftiges Portfolio habt, das einige eurer besten Projekte zeigt. Seid bereit, darüber zu sprechen, was eure Rolle war, welche Technologien ihr verwendet habt und welche Herausforderungen es gab. Das gibt den Interviewern einen Einblick in eure praktische Erfahrung.

Teamfähigkeit und Kommunikation betonen

In einer Vollzeit-Position wird Kommunikation im Team sehr wichtig sein. Seid bereit, Beispiele aus der Vergangenheit zu teilen, in denen ihr effektiv im Team gearbeitet habt. Dies zeigt, dass ihr nicht nur technische Fähigkeiten habt, sondern auch gut ins Team passt.

Vorbereitung auf Fragen zur Software-Architektur

Bereitet euch darauf vor, Fragen zur Software-Architektur zu beantworten. Themen wie RESTful APIs, Microservices und Cloud-Architekturen können Teil eures Interviews sein. Zeigt euer Verständnis durch Diskussionen und Beispiele aus eurer bisherigen Arbeit oder Projekte.