Alle Leistungen

Go- / Golang-Freelancer

Go-Freelancer für die Pfade, an denen Latenz Geld kostet.

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.

3 Mio.+ Requests täglich<10ms LatenzgRPC & HTTPMulti-Region auf AWS
Wofür man mich holt
  • Neue Services in Go, von der Schnittstelle bis in die Produktion
  • Hochlast-Pfade aus PHP-, Java- oder Node-Systemen herauslösen
  • gRPC- und HTTP-APIs mit sauberen Verträgen und Versionierung
  • Verteilte Systeme, die Ausfälle einplanen statt sie zu erleben
  • Go auf AWS: ECS, Lambda, DynamoDB, mit Terraform beschrieben
  • Messen und beheben, wenn ein bestehender Dienst zu langsam ist
Umfang & Zusammenarbeit

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

Go löst ein Lastproblem. Erst muss klar sein, dass Sie eines haben.

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 werde
  • Ein Endpunkt oder Job hält die Last nicht mehr, und Skalieren wird teurer statt besser.
  • Ein Rewrite in Go wurde empfohlen, und Sie möchten eine zweite Meinung mit Messung.
  • Ein neuer Dienst muss von Anfang an Millionen Anfragen täglich verkraften.
  • Ihr Team kennt PHP, Java oder Node, aber niemand hat Go in Produktion betrieben.
  • Ein bestehender Go-Service ist ohne seinen Autor zurückgeblieben.
  • Zwei Systeme müssen über eine saubere, versionierte Schnittstelle sprechen.

Für wen das passt

Für Teams, bei denen ein Pfad mehr können muss als der Rest.

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.

01

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.

02

Der Bestand soll bleiben.

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.

03

Betrieb ist Teil der Anforderung.

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

Woran ich in Go arbeite

01

Erst messen, dann entscheiden

ProfilingpprofLastmessung

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.

02

Neue Services in Go

StandardbibliothekContext & TimeoutsGraceful Shutdown

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.

03

gRPC- und HTTP-APIs

gRPCProtobufOpenAPI

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.

04

Verteilte Systeme und Resilienz

IdempotenzCircuit BreakerMulti-Region

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.

05

Go auf AWS

ECS & LambdaDynamoDBTerraform

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.

06

Go neben PHP und anderen Bestandssystemen

Strangler FiggRPC-Anbindungklare Datengrenze

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

Go-Services neben PHPDer häufigste Einstieg: Ein Pfad wird gemessen und als Go-Dienst neben Ihr PHP gestellt. Eigene Seite mit Vorgehen und einer Engpassmessung zum Festpreis von 1.900 Euro.
Backend-EntwicklungWenn es nicht um einen einzelnen Pfad geht, sondern um ein Backend für SaaS oder Plattform: event-getrieben auf AWS, mandantenfähig, mit Lastfestigkeit im Entwurf. Eigene Leistungsseite.

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

Wie eine Zusammenarbeit anfängt

Vier Schritte, mit einer Messung statt einer Meinung am Anfang. Kein Schritt verpflichtet zum nächsten.

SCHRITT 01

Erstgespräch, 30 Minuten

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.

SCHRITT 02

Messung mit Befund

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.

SCHRITT 03

Ein Dienst, produktiv

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.

SCHRITT 04

Ausbauen und übergeben

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

Was danach anders ist

Der Pfad trägt die Last

Die Zahl steht im Abschlussbericht, nicht in der Broschüre: gemessen vorher und nachher, an denselben Wegen, unter echter Last.

Der Bestand blieb unangetastet

Kein Rewrite, kein Stichtag. Das vorhandene System lief durch, der neue Dienst kam daneben, und die Grenze zwischen beiden ist eine dokumentierte Schnittstelle.

Ausfälle sind eingeplant

Timeouts, Wiederholungen und Lastgrenzen sind entworfen statt gewachsen. Was schiefgehen kann, hat einen definierten Weg, statt einen Incident zu erzeugen.

Ihr Team kann Go

Der Dienst ist übergeben, nicht nur ausgeliefert: Pairing während der Umsetzung, Runbooks für den Betrieb, Entscheidungen dokumentiert statt erinnert.

Eingesetzte Technologien

Womit ich arbeite

Sprache
  • Go
  • Generics
  • pprof
  • Race Detector
Schnittstellen
  • gRPC
  • Protobuf
  • REST / OpenAPI
  • Webhooks
Daten
  • DynamoDB
  • PostgreSQL
  • MySQL
  • Valkey / Redis
Nachrichten
  • SQS
  • SNS
  • EventBridge
  • Kafka
Laufzeit
  • ECS Fargate
  • Kubernetes
  • Lambda
  • Docker
Infrastruktur
  • AWS
  • Terraform
  • Multi-Region
  • CloudFront
Beobachtbarkeit
  • CloudWatch
  • Prometheus
  • Grafana
  • strukturierte Logs
Arbeitsweise
  • Spec-Driven Development
  • Claude Code
  • kleine Commits
  • Trunk-based

Aus der Praxis

Ebenfalls aus echten Projekten

Tim Rutte, Cloud & Software Architect

Mit wem Sie es zu tun haben

Direkt mit mir als Freelancer. Keine Agentur dazwischen.

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.

  • 20+Jahre Softwareentwicklung
  • 50+erfolgreiche Projekte
  • 2003seit diesem Jahr remote im Einsatz
Mehr über mich

Zusammenarbeit

Mitarbeit im Team oder eigenständige Umsetzung.

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.

01Gemeinsam

Ich arbeite in Ihrem Team.

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.

  • Integration in Ihre Sprints, Reviews und technischen Entscheidungen
  • Pairing und Wissenstransfer während der Umsetzung
  • Code, Dokumentation und Betrieb bleiben vollständig bei Ihrem Team
02Eigenständig

Ich übernehme die Umsetzung.

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.

  • Ein Ansprechpartner von der Klärung bis zur Umsetzung
  • Regelmäßige, verständliche Zwischenstände statt laufender Steuerung
  • Saubere Übergabe mit Dokumentation und Einweisung

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

Ihr System bleibt Ihres.

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.

01

Zugänge bleiben bei Ihnen.

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.

02

Wissen bleibt nicht in meinem Kopf.

Architekturentscheidungen, Betriebsabläufe und bekannte Risiken werden dort dokumentiert, wo Ihr Team sie später findet – und während des Projekts aktuell gehalten.

03

Ein anderer kann übernehmen.

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

Häufige Fragen an einen Go-Freelancer

Was kostet ein Go-Freelancer?

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.

Go oder Golang, ist das dasselbe?

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.

Sollten wir unser System komplett in Go neu schreiben?

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.

Unser Backend ist PHP. Passt Go daneben?

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.

Woher wissen wir vorher, dass Go das Problem löst?

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.

Übernehmen Sie auch einen bestehenden Go-Service?

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.

Microservices oder Monolith?

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.

Sie arbeiten mit KI-Werkzeugen. Wer prüft deren Code?

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

Womit ich sonst helfe.