Pedram Pourmohammad
Senior Go Backend Engineer
7 years building production systems. The last 3+ in Go: high-throughput payment APIs, gRPC microservices, Kafka pipelines. I care about idempotent state machines, well-tested concurrency, and observability you can trust at 3am.
Selected Work
Tapsi · gRPC dispatch service
Owned design through deployment of a Go gRPC microservice central to dispatch.
- 600K+ RPS sustained throughput at < 7ms average latency.
- Engineered fault-tolerant transactions — circuit breakers, retry strategies, idempotency — that cut payment-related incidents on dispatch flows by 60%.
- Drove cross-team alignment across 3 teams / 15+ engineers on contracts, SLAs, and deployment standards.
Digikala · Liquid Gold + Payment APIs
Backend infrastructure for a regulated digital products vertical and a real-time gold trading product.
- Launched Liquid Gold — real-time digital gold trading backed by physical reserves (regulated financial instrument). 5,000+ users in Q1.
- Scaled REST payment APIs serving 1M+ transactions/month; contributed to a 15%+ lift in total platform sales.
- Cut average API response time 50% across payment-critical endpoints via PostgreSQL/MySQL query tuning + a Redis caching layer.
- Reduced deployment time 40% and failed deployments 30% through Docker/Jenkins pipeline overhaul.
Toggo — open source feature-flag SDK
A Go SDK for feature flags, percentage rollouts, conditional targeting, A/B tests, and switchback experiments.
- In production at Tapsi, adopted across 4 product teams for 15+ concurrent experiments.
- Deterministic FNV-1a hashing for stable rollouts, switchback strategy for marketplace-wide tests.
- Thread-safe · zero runtime deps · JSON/YAML config loading · clean public API.
Open Source & Contributions
Production-ready feature flag and A/B testing SDK for Go. Used at Tapsi for 15+ live experiments.
fix: respect context cancellation in httpClient.Do. Reported case: Do blocked ~3 minutes against an unresponsive server despite a 5s context deadline. Root cause: the cancel path closed the body but then blocked on <-done waiting for the read goroutine. Fix: drop the receive — Body.Close() unblocks the read on its own. Plus a regression test that asserts Do returns within 500ms of a 50ms timeout.
Stack
- Languages
- Go · Python · TypeScript · PHP
- Backend
- gRPC · REST · Kafka · DDD · event-driven
- Data
- PostgreSQL · MongoDB · MySQL · Redis
- Infra
- Kubernetes · Docker · Helm · Istio · Envoy · ArgoCD · Jenkins · AWS
- Observe
- Prometheus · Grafana · Tempo · Graylog
- Practices
- TDD · BDD · SOLID · ACID · Scrum
Reach me
Best for senior Go backend roles in fintech, payments, marketplaces, or anywhere reliability under load matters. Happy to chat over email or LinkedIn — I usually reply within a day.