Senior Go Developer (Golang)
Experience: 8+ years overall, with 5+ years of hands-on Golang development
Employment Type: Full-time
Job Location: Remote
Role Type: Backend Development | Microservices | Performance Engineering
Job Description
We are looking for an experienced Senior Go Developer to build high-performance backend services and migrate performance-critical components from an existing Java application to Golang.
The ideal candidate will have strong hands-on experience in Go development, gRPC-based microservices, SQL Server performance tuning, and production application support. The role involves analyzing existing Java code, identifying performance bottlenecks, and rewriting selected components in Go based on measurable performance improvements.
Key Responsibilities
- Design, develop, test, and maintain production-grade applications and microservices using Golang.
- Analyze existing Java applications to identify performance bottlenecks and determine components suitable for migration to Go.
- Rewrite selected Java components in Go while ensuring functional parity and validating performance improvements through benchmarks.
- Develop gRPC services using Protocol Buffers.
- Write efficient, concurrent Go code using goroutines, channels, context handling, and synchronization.
- Profile and optimize Go applications using pprof, benchmarks, and performance-analysis tools.
- Optimize Microsoft SQL Server queries, indexing, execution plans, connection pooling, and bulk operations.
- Diagnose SQL Server blocking, deadlocks, and database performance issues.
- Implement unit tests, integration tests, code-quality checks, and benchmark testing.
- Work with Git and GitHub pull requests, including branching, rebasing, conflict resolution, and cherry-picking.
- Use GitHub Actions CI/CD pipelines and collaborate with DevOps teams on Docker, Kubernetes, and AKS deployments.
- Implement logging, monitoring, tracing, and production-readiness practices.
- Participate in production troubleshooting, root-cause analysis, and on-call support.
Mandatory Skills
- 8+ years of software development experience, including 5+ years of hands-on Golang development.
- Strong knowledge of Go concurrency, goroutines, channels, error handling, testing, and performance optimization.
- Experience developing new production applications and services in Go.
- Hands-on experience with gRPC and Protocol Buffers.
- Strong Microsoft SQL Server development and performance-tuning skills, including query optimization and execution-plan analysis.
- Experience with Go database connectivity, connection-pool tuning, batching, and bulk operations.
- Ability to read and analyze Java code and understand application behavior during migration to Go.
- Experience with Go testing, benchmarking, Git/GitHub workflows, CI/CD, Docker, and Kubernetes.
- Experience supporting business-critical production applications and troubleshooting incidents.
Preferred Skills
- Experience with pprof, Go trace, memory profiling, and garbage-collection analysis.
- Experience with Kubernetes/AKS troubleshooting.
- Knowledge of GitHub Actions, Azure services, Prometheus, Grafana, and OpenTelemetry.
- Experience with distributed systems, retries, timeouts, graceful shutdown, and health checks.
- Strong analytical, problem-solving, communication, and collaboration skills.
Education
Bachelor's degree in Computer Science, Software Engineering, Information Technology, or a related field, or equivalent practical experience.