Mid-Level to Senior Backend Engineer (Go / Distributed Systems)
Job Description
We are a technology-focused product company building modern, scalable, and resilient backend systems for real-world, high-performance applications. As part of our backend engineering team, we are looking for an Intermediate to Senior-level Backend Engineer with strong Go expertise and deep understanding of distributed systems, clean architecture, and event-driven patterns.
In this role, you will design and implement production-grade microservices, architect reliable communication layers, and contribute to system scalability, performance, and resilience. You will collaborate closely with cross-functional teams to deliver high-quality backend solutions, improve architecture, and help evolve our platform to support large-scale workloads.
Responsibilities
Backend Engineering & Go Development
- Develop clean, efficient, and idiomatic Go code aligned with SOLID principles and best development practices
- Apply Go concurrency patterns using goroutines, channels, context management, and structured testing
- Implement robust APIs and backend services with strong focus on maintainability and performance
Architecture & System Design
- Apply clean architecture and hexagonal architecture principles to build modular, testable, and scalable backend systems
- Contribute to evolving system architecture based on business needs, performance goals, and distributed system constraints
Microservices & Event-Driven Systems
- Design and implement microservices using modern patterns and best practices
- Work with NATS or equivalent message buses to build event-driven workflows and asynchronous communication layers
- Implement reliability patterns such as retries, circuit breakers, and idempotency
Communication Protocols
- Build high-performance inter-service communication using gRPC and Protocol Buffers
- Contribute to schema design and service contracts for distributed systems
Data & Storage
- Work with PostgreSQL for relational data modeling, performance tuning, and query optimization
- Implement caching strategies using Redis
- Integrate with S3-compatible storage solutions such as MinIO (where required)
Deployment & Production Environments
- Work within Docker and Docker Compose–based environments
- Contribute to deployment workflows, observability, and system-level improvements
Collaboration & Cross‑Team Workflows
- Collaborate closely with other backend, frontend, and infrastructure engineers
- Participate in technical discussions, architecture reviews, and cross-team problem solving
Required Skills & Qualifications
Must Have
- Strong understanding of SOLID principles
- Practical knowledge of common software design patterns
- Strong Go experience including idiomatic Go, interfaces, context, channels, and testing
- Strong experience with Go concurrency patterns and goroutine-based architectures
- Solid understanding of clean architecture and hexagonal architecture
- Hands-on experience with gRPC and Protocol Buffers
- Experience with NATS or similar message bus technologies
- Strong familiarity with event-driven architectures
- Experience working with microservices patterns at production scale
- Practical experience implementing resilience patterns in distributed systems
- Good working knowledge of PostgreSQL
- Experience with Redis
- Docker and Docker Compose proficiency
Nice to Have
- Familiarity with Domain-Driven Design (DDD)
- Experience building or integrating LLM-related platforms
- Experience with MinIO or other S3-compatible object storage systems
- Observability experience (Prometheus, Grafana, ELK, Jaeger, OpenTelemetry)
- Basic Kubernetes knowledge
- Awareness of service mesh concepts