Telestion: Bodenstationssoftware in wenigen Zeilen
Wie Developer-Experience-Arbeit einen der komplexesten Softwarebereiche aus dem Weg der Entwickler*innen gehalten hat.
Die Herausforderung
Software für Bodenstationen und Mission Control ist so komplex, wie es nur geht: Live-Telemetrie, viele Services, Hardware am anderen Ende und eine Mission, die auf dem Spiel steht.
Was ich gemacht habe
Ich habe die Developer Experience von Telestion von Anfang bis Ende geleitet. Das Ziel war schnell formuliert: die Komplexität des Fachgebiets von den Entwickler*innen fernhalten.
- API-Design, damit sich alltägliche Aufgaben als kurzer, einfacher Code lesen
- Doku und Quickstart, von den ersten Schritten bis zur Referenz
- Beispiele und Samples, die Entwickler*innen kopieren und weiterbauen können
- Tooling und Onboarding für neue Teammitglieder und Nutzer*innen
- YouTube-Videos über das Framework
Das Ergebnis
Ein Service, der Telemetrie beobachtet und eine Warnung auslöst, sieht so aus:
const { messageBus } = await startService();
const telemetry = messageBus.subscribe('telemetry');
for await (let packet of telemetry) {
const data = telemetrySchema.parse(packet);
if (data.altitude < 10_000) {
sendWarning(`Low Altitude: ${data.altitude}`);
}
}Beispiel von telestion.wuespace.de.
Eine Aufgabe so komplex wie Bodenstationssoftware kann auf ein Codebeispiel von etwa fünf Zeilen schrumpfen.
So sieht gute Developer Experience von außen aus: Man liest den Code und versteht ihn, ohne erst das ganze Framework lernen zu müssen.
Mitwirkende
Telestion ist eine Teamleistung des Telestion-Teams bei WüSpace. Ich habe die Developer-Experience-Arbeit geleitet.