Die Last ist real, nicht geplant.
Es gibt Zahlen: Anfragen pro Sekunde, Laufzeiten, Timeouts, Kosten je Skalierungsschritt. Oder es gibt einen Dienst, der sie bald liefern muss, mit Termin.
Go- / Golang-Freelancer
Wenn ein einzelner Pfad Ihre Last nicht mehr trägt, brauchen Sie keinen Rewrite und kein Framework-Glaubensbekenntnis. Ich baue Go-Services für genau solche Stellen: gemessen, bevor entschieden wird, und in Produktion neben dem Bestand statt an seiner Stelle. Der größte davon beantwortet über drei Millionen Anfragen täglich in unter zehn Millisekunden, in zwei Regionen.
Mitarbeit in Ihrem Team oder eigenständige Umsetzung, zum Festpreis oder nach Aufwand je nach Projektbedarf.
Remote aus Deutschland. Direkt mit mir, ohne Agentur dazwischen.
Die Ausgangslage
Die meisten Go-Anfragen beginnen nicht mit Go, sondern mit einem Symptom: Ein Endpunkt wird unter Last langsam, ein Batch-Lauf frisst die Nacht, ein Dienst braucht bei jedem Deployment ein Wartungsfenster. Irgendwo ist die vorhandene Plattform an eine Grenze gekommen, und Go steht im Raum, weil es für genau diese Grenzen gebaut wurde: vorhersagbare Laufzeiten, geringer Speicherbedarf, Nebenläufigkeit ohne Verrenkungen.
Meine Arbeit fängt deshalb nicht mit Code an, sondern mit einer Messung. Wenn der Engpass in der Datenbank sitzt, ändert eine schnellere Sprache daran nichts, und dann sage ich Ihnen das, bevor Sie etwas beauftragen. Erst wenn feststeht, dass der Pfad selbst das Problem ist, lohnt der Neubau, und dann als eigener Dienst neben dem Bestand: angebunden über gRPC oder HTTP, mit klarer Datengrenze und eigenem Rückweg. Ihr restliches System bleibt, wo es ist.
Dass das funktioniert, ist belegt, nicht behauptet: Für eine globale AdTech-Plattform habe ich einen manuellen, über Abteilungen verteilten Prozess durch einen Go-Service ersetzt, der über drei Millionen Anfragen täglich in unter zehn Millisekunden beantwortet, mandantenfähig und in zwei Regionen. Für ein Payment-Backend mit über sechs Millionen Nutzern habe ich neue Go-Microservices neben das bestehende System gestellt, ohne den Zahlungsbetrieb zu unterbrechen: 15 Prozent weniger Zahlungsabbrüche, 75 Prozent kürzere Deployments.
Und die ehrliche Grenze gehört auch hierher: Go ist kein Ersatz für Ihr gesamtes System und kein Qualitätsmerkmal an sich. Ein Rewrite der ganzen Anwendung in Go ist fast immer die falsche Empfehlung, auch wenn sie oft ausgesprochen wird. Der Wert entsteht dort, wo ein abgegrenzter Pfad hohe Anforderungen an Latenz, Durchsatz oder Parallelität hat. Dort allerdings zuverlässig.
Situationen, in denen ich geholt werdeFür wen das passt
Diese Seite richtet sich an CTOs, technische Leiter und Plattformverantwortliche mit einem laufenden System, in dem einzelne Stellen deutlich höhere Anforderungen an Latenz, Durchsatz oder Verfügbarkeit haben als der Rest.
Es gibt Zahlen: Anfragen pro Sekunde, Laufzeiten, Timeouts, Kosten je Skalierungsschritt. Oder es gibt einen Dienst, der sie bald liefern muss, mit Termin.
Das vorhandene System funktioniert für das, wofür es gebaut wurde. Gesucht ist kein Ersatz, sondern ein Dienst daneben, der den kritischen Teil übernimmt.
Der Dienst soll nicht nur schnell sein, sondern beobachtbar, ausrollbar und übergabefähig. Ihr Team soll ihn danach selbst weiterentwickeln können.
Was ich mache
Vor dem ersten Go-Code steht eine Engpassmessung: Wo genau geht die Zeit verloren, was kostet der Pfad heute, was bringt eine andere Laufzeit wirklich. Sitzt das Problem in der Datenbank oder im Datenmodell, ist das das Ergebnis, und es ist billiger als ein Dienst, der nichts ändert.
Vom Schnittstellenvertrag bis in die Produktion: kleine, klar geschnittene Dienste mit expliziten Fehlerpfaden, Timeouts und Backpressure. Kein Framework-Zoo, sondern die Standardbibliothek plus das Wenige, das sich in Produktion bewährt hat.
Verträge zuerst: Protobuf oder OpenAPI, versioniert, mit Rückwärtskompatibilität als Regel statt als Glücksfall. So können PHP-, Java- oder Node-Systeme den neuen Dienst anbinden, ohne dass jede Änderung beide Seiten bricht.
Ausfälle sind im Entwurf, nicht im Postmortem: idempotente Wiederholungen, Circuit Breaker, Rate Limiting, mehrschichtige Caches. Der Attribution-Service aus meinen Case Studies läuft so in zwei Regionen, und ein Regionsausfall ist ein Ereignis, kein Vorfall.
Die Laufzeit ist die halbe Arbeit: ECS oder Kubernetes, Lambda wo es passt, DynamoDB und Valkey für die Pfade, die schnell sein müssen, alles in Terraform beschrieben. Als AWS Certified Solutions Architect – Professional entwerfe ich die Umgebung gleich mit, statt sie hinterher anzupassen.
Der häufigste Weg zu Go führt durch ein gewachsenes System: Ein Pfad wird herausgelöst, der Rest bleibt. Ich kenne beide Seiten dieser Grenze aus eigener Arbeit, über 20 Jahre davon in PHP, und habe den Ansatz in einem eigenen Artikel beschrieben.
Einzelfälle
Erzählen Sie mir, welcher Pfad die Last nicht mehr trägt.
30 Minuten, direkt mit mir. Wenn Go die falsche Antwort auf Ihr Problem ist, sage ich Ihnen das im selben Gespräch, samt der besseren.
Ablauf
Vier Schritte, mit einer Messung statt einer Meinung am Anfang. Kein Schritt verpflichtet zum nächsten.
Sie schildern Symptom und System: welcher Pfad, welche Last, was heute dort läuft. Ich sage Ihnen, ob Go plausibel ist und wie ich es prüfen würde.
Der Engpass wird gemessen, nicht geschätzt. Ergebnis ist ein schriftlicher Befund: wo die Zeit verloren geht, was ein Go-Dienst ändern würde und was nicht.
Der erste Service geht als abgegrenztes Stück in Produktion, angebunden über gRPC oder HTTP, mit Metriken und Rückweg. Klein genug zum Prüfen, echt genug zum Messen.
Was sich bewährt, wird ausgebaut. Ihr Team übernimmt mit Pairing, Runbooks und einem Dienst, der sich ohne mich betreiben und weiterentwickeln lässt.
Das Ergebnis
Die Zahl steht im Abschlussbericht, nicht in der Broschüre: gemessen vorher und nachher, an denselben Wegen, unter echter Last.
Kein Rewrite, kein Stichtag. Das vorhandene System lief durch, der neue Dienst kam daneben, und die Grenze zwischen beiden ist eine dokumentierte Schnittstelle.
Timeouts, Wiederholungen und Lastgrenzen sind entworfen statt gewachsen. Was schiefgehen kann, hat einen definierten Weg, statt einen Incident zu erzeugen.
Der Dienst ist übergeben, nicht nur ausgeliefert: Pairing während der Umsetzung, Runbooks für den Betrieb, Entscheidungen dokumentiert statt erinnert.
Eingesetzte Technologien
Aus der Praxis
Greenfield-Entwicklung eines mandantenfähigen gRPC-Service in Go für eine globale AdTech-Plattform. Ein manueller, über Abteilungen verteilter Prozess ersetzt durch hochverfügbare Infrastruktur in EU und US, mit mehrschichtiger Cache-Architektur.
Case Study lesenEbenfalls aus echten Projekten
Die fünf Stellen, an denen Go anders gemeint ist, als es aussieht: Fehler als Rückgabewerte mit Zusammenhang, begrenzte Nebenläufigkeit mit Abbruch, Pakete als Grenze, Interfaces beim Verbraucher, und warum das fehlende Framework Absicht ist.
Artikel lesenEine Payment-API, die nicht mehr skalierte: Bestand stabilisiert, neue Go-Microservices daneben aufgebaut und über gRPC angebunden, ohne den Zahlungsbetrieb zu unterbrechen. 15 Prozent weniger Zahlungsabbrüche, 75 Prozent kürzere Deployments.
Case Study lesenWie neue, hochperformante Go-Services in bestehende PHP-Systeme kommen, ohne dass alles umgebaut wird: Strangler Fig in der Praxis statt Big-Bang-Rewrite, mit den Entscheidungen, die dabei wirklich schwer sind.
Artikel lesen
Mit wem Sie es zu tun haben
Ich bin Tim Rutte. Über 20 Jahre Softwareentwicklung; Go setze ich dort ein, wo Latenz und Durchsatz über Geld entscheiden. Sie sprechen mit der Person, die Ihren Code anfasst, vom ersten Gespräch bis zur Übergabe.
Zusammenarbeit
Sie müssen kein bestimmtes Setup mitbringen. Ich passe die Zusammenarbeit daran an, wie Ihr Unternehmen aufgestellt ist und wie viel Verantwortung Sie abgeben möchten.
Wenn Wissen und Verantwortlichkeiten bereits bei Ihnen liegen, steige ich dort ein, wo zusätzliche Erfahrung gebraucht wird. In Ihren Abläufen, mit direkter Abstimmung und ohne Parallelwelt.
Wenn intern Zeit oder Kapazität fehlt, übernehme ich ein klar abgegrenztes Vorhaben von der technischen Klärung bis zum produktiven Einsatz. Sie geben Ziel und Rahmen vor, ich kümmere mich um den Weg dorthin.
In beiden Modellen gilt: Sie sehen jederzeit, was entsteht, welche Entscheidungen anstehen und was als Nächstes passiert. Abgerechnet wird je nach Projektbedarf und Ihrem bevorzugten Modell: klar abgegrenzte Vorhaben zum Festpreis, längere und dynamische nach Aufwand.
Kontinuität
Auch bei eigenständiger Umsetzung entsteht keine Abhängigkeit von mir. Alles, was für Weiterentwicklung und Betrieb nötig ist, liegt vom ersten Tag in Ihrer Umgebung und wird laufend übergabefähig gehalten.
Code, Cloud-Accounts, Pipelines und Secrets liegen in Ihren Systemen. Der Betrieb hängt nicht an einem persönlichen Konto oder einem Zugang, den nur ich kontrolliere.
Architekturentscheidungen, Betriebsabläufe und bekannte Risiken werden dort dokumentiert, wo Ihr Team sie später findet – und während des Projekts aktuell gehalten.
Reproduzierbare Umgebungen, automatisierte Deployments und regelmäßige Übergaben sorgen dafür, dass Ihr Team oder ein anderer Dienstleister ohne Neustart weiterarbeiten kann.
Das Ziel ist nicht, dass Sie mich dauerhaft brauchen. Das Ziel ist, dass Sie jederzeit frei entscheiden können, wer das System weiterentwickelt.
Häufige Fragen
Je nach Projektbedarf und Ihrem bevorzugten Modell zum Festpreis oder nach Aufwand; die Größenordnung nenne ich im Erstgespräch, sobald Umfang und Zeitraum klar sind. Für den häufigsten Einstieg gibt es ein Paket mit Preis: die Engpassmessung Ihrer Anwendung zum Festpreis von 1.900 Euro, mit Ergebnis in einer Woche. Sie wird angerechnet, wenn Sie danach die Umsetzung beauftragen.
Ja. Die Sprache heißt Go; „Golang" hat sich als Suchbegriff eingebürgert, weil „Go" allein schwer zu suchen ist. Gemeint ist in beiden Fällen dieselbe Sprache, und diese Seite beantwortet beide Suchen.
Fast sicher nicht, und ich sage das, obwohl ich damit Geld verdienen würde. Ein kompletter Rewrite verliert die ungeschriebenen Regeln des Bestands und läuft jahrelang einem beweglichen Ziel hinterher. Der verlässliche Weg ist, den Pfad mit dem Lastproblem herauszulösen und als Go-Dienst daneben zu stellen. Der Rest bleibt, bis es einen eigenen Grund für den nächsten Schritt gibt.
Das ist der Normalfall, nicht die Ausnahme. Der Go-Dienst übernimmt den Pfad, der Last oder Latenz braucht, und wird über gRPC oder HTTP angebunden, mit derselben Datenbank oder einer klaren Datengrenze. Ich habe über 20 Jahre PHP-Erfahrung und kenne beide Seiten dieser Anbindung; wie das in der Praxis aussieht, steht in meinem Artikel über Golang in einer PHP-Welt.
Durch Messen statt Glauben. Vor der Umsetzung steht eine Engpassmessung: Wo geht die Zeit wirklich verloren, im Code, in der Datenbank, im Netz? Sitzt der Engpass nicht im Pfad selbst, ändert eine schnellere Sprache nichts, und dann bekommen Sie genau diesen Befund statt eines Dienstes, der nichts verbessert.
Ja. Auch Go-Dienste bleiben ohne ihren Autor zurück, meist mit wenig Dokumentation und einem Deployment, das nur einer kannte. Der Ablauf ist derselbe wie bei jeder Übernahme: erst verstehen und absichern, dann ändern. Tests, Metriken und Runbooks entstehen dabei mit, damit die Abhängigkeit von einer Person nicht nur den Namen wechselt.
Das ist keine Glaubensfrage, sondern eine Zuschnittsfrage. Ein einzelner, klar begrenzter Go-Dienst neben einem bestehenden System ist oft die ganze Antwort; ein Netz aus zwanzig Kleinstdiensten ist es fast nie. Ich schneide nach Datengrenzen und Änderungsgeschwindigkeit, nicht nach Architektur-Moden, und begründe den Schnitt schriftlich.
Ich, und zwar mit System. Ich arbeite spec-driven: Anforderungen werden präzise beschrieben, bevor Code entsteht, und jede Änderung läuft durch Tests, Race Detector und Review, bevor sie in Ihr Repository kommt. Die Werkzeuge bringen Tempo, die Qualitätssicherung bleibt dieselbe wie bei Handarbeit. Verantwortlich für das Ergebnis bin ich, nicht das Werkzeug.
Weitere Leistungen
Backends für SaaS und Plattformen, die unter echter Last halten: in Go und PHP 8, event-getrieben, mit Mandantentrennung und Wiederanlauf im Entwurf.
Mehr erfahrenGewachsene Systeme schrittweise modernisieren: Strangler-Fig statt Rewrite, laufender Betrieb unangetastet, jeder Schritt umkehrbar.
Mehr erfahrenVom eigenen Rechenzentrum oder aus einer anderen Cloud nach AWS, mit Kostenmodell vor dem Umzug und Rollback-Pfad für jeden Schritt.
Mehr erfahren