Distributed Systems Engineer (Go)
100% Remote
We are seeking a Distributed Systems Engineer with strong experience in Go (Golang) to design, build, and maintain highly scalable, reliable, and fault-tolerant distributed systems. The ideal candidate will have a solid understanding of microservices architecture, concurrency, and cloud-native technologies.
Design, develop, and maintain scalable distributed systems using Go.
Build and optimize microservices and APIs for high availability and performance.
Implement reliable data storage, caching, and messaging solutions.
Ensure system reliability, fault tolerance, and observability.
Write clean, efficient, and well-documented code.
Participate in architecture discussions and design reviews.
Troubleshoot and resolve performance and scalability issues.
Collaborate with cross-functional teams (product, DevOps, QA, frontend).
Strong proficiency in Go (Golang).
Solid understanding of distributed systems concepts (consensus, replication, partitioning, CAP theorem).
Experience with microservices and REST/gRPC APIs.
Knowledge of concurrency, goroutines, and channels.
Experience with databases (SQL and NoSQL).
Familiarity with message brokers (Kafka, RabbitMQ, NATS, etc.).
Experience with containerization (Docker) and orchestration (Kubernetes).
Knowledge of Linux, networking fundamentals, and system design.
Experience with CI/CD pipelines and version control (Git).
Experience with cloud platforms (AWS, Azure, or GCP).
Knowledge of observability tools (Prometheus, Grafana, OpenTelemetry).
Experience with distributed caching (Redis, Memcached).
Familiarity with service meshes (Istio, Linkerd).
Understanding of security best practices.