About the Role
Senior Go Developer to design, build, and operate high-performance Go-based microservices, deployed on Kubernetes, and integrate AI/ML models into production systems in collaboration with Data Science/ML teams.
Key Responsibilities
- Design & Development
- Architect, design, and implement microservices in Go following best practices (clean code, SOLID principles, hexagonal/clean architecture when appropriate).
- Build robust, scalable, and secure APIs (REST/gRPC) for internal and external consumers.
- Collaborate with Data Scientists/ML Engineers to integrate AI/ML models into production services (model serving, feature pipelines, inference endpoints).
- Write high-quality, testable, and maintainable code, including unit, integration, and contract tests.
- Microservices & System Architecture
- Decompose monoliths or larger systems into well-bounded microservices with clear ownership and interfaces.
- Design and implement inter-service communication (gRPC, REST, messaging/streaming) with an eye on latency, reliability, and observability.
- Contribute to the overall system architecture, including data flows, API design, and integration with external systems.
- Kubernetes & Cloud-Native Operations
- Containerize applications (Docker or similar) and define Kubernetes manifests/Helm charts for deploying services.
- Collaborate with the DevOps/SRE team to ensure services are resilient, observable, and autoscalable in Kubernetes.
- Implement and maintain monitoring, alerting, and logging (e.g., Prometheus, Grafana, OpenTelemetry, ELK, etc.).
- Participate in performance tuning, load testing, and capacity planning for production workloads.
- AI/ML Integration.
- Work with ML teams to operationalize models:
- Model inference services
- Feature preprocessing in real-time
- Batch/offline inference pipelines
- Ensure latency, scalability, and reliability of AI/ML-driven microservices.
- Help define and implement A/B testing, canary deployments, and monitoring for model performance and drift (in collaboration with ML team).
- Technical Leadership & Collaboration
- Act as a technical mentor to mid-level and junior developers (code reviews, pair programming, design reviews).
- Contribute to and help enforce engineering standards, coding guidelines, and best practices.
- Participate in architecture and technical roadmap discussions, providing input based on hands-on experience.
- Collaborate closely with Product Managers to refine requirements into technical solutions and clear delivery plans.
- Quality, Security & Reliability
- Champion test-driven development (TDD) and/or robust testing strategies.
- Ensure solutions adhere to security best practices (authentication, authorization, data protection, secrets management).
- Contribute to incident response and post-mortems, and drive improvements to prevent recurrence.
Technical Skills:
- 5+ years of professional software development experience, with 3+ years focused on Go (Golang).
- Goroutines and channels (concurrency patterns)
- Context usage and cancellation
- Error handling patterns
- Modules and dependency management
- Experience building high-performance backend services and APIs (REST, gRPC).
- Microservices & Distributed Systems
- Hands-on experience designing and implementing microservice architectures.
- Understanding of service discovery, API gateways, load balancing, and fault tolerance patterns (circuit breakers, retries, backoff, rate limiting).
- Solid grasp of distributed systems concepts: eventual consistency, idempotency, transactions across services, etc.
- Kubernetes & Cloud
- Practical experience deploying, running, and debugging applications on Kubernetes (e.g., GKE, EKS, AKS, or self-managed clusters).
- Familiarity with:
- Writing/understanding Kubernetes manifests (Deployments, Services, ConfigMaps, Ingress, etc.)
- Containerization with Docker or equivalent
- CI/CD pipelines for building and deploying Go services
- Experience with at least one major cloud provider (AWS, GCP, Azure, etc.).
- AI/ML Concepts (for Integration)
- Understanding of basic ML concepts: training vs. inference, features, model versions, evaluation metrics.
- Experience integrating machine learning models into applications or microservices (using frameworks, REST endpoints, or libraries).
- Familiarity with patterns like
- Online/real-time inference (You don't need to build models from scratch, but you should be able to collaborate effectively with ML teams and design production-ready integration.)
- Batch inference
- Feature engineering pipelines
- Data & Storage
- Strong experience with relational databases (e.g., PostgreSQL, MySQL) and SQL.
- Familiarity with NoSQL/datastores (e.g., Redis, MongoDB, DynamoDB, etc.).
- Understanding of caching, message queues/streaming (e.g., Kafka, RabbitMQ, NATS, etc.).
- Testing, Observability & Tooling
- Experience with testing in Go (testing package, mocks, integration tests).
- Familiarity with observability tools: metrics, logging, tracing (e.g., Prometheus, Grafana, Jaeger,
- OpenTelemetry).
- Experience using Git and standard development workflows (code review, branching strategies).
- Soft Skills
- Strong communication skills: able to explain complex technical topics to both technical and non- technical stakeholders.
- Ownership mindset: you care about the entire lifecycle of the service from design and implementation to deployment and monitoring.
- Mentorship and leadership capabilities: willing to support, guide, and challenge peers constructively.
- Comfortable working in an agile environment (Scrum/Kanban), with iterative delivery and continuous improvement.
- Problem-solving and critical thinking: you enjoy digging into complex issues and finding pragmatic solutions.