We're Hiring: Senior Golang Engineer
Location: United Arab Emirates (Remote)
Employment Type: Full-Time
Experience Level: Senior
Work Arrangement: Fully Remote
About UsWe are a globally focused organization committed to building scalable, secure, resilient, and high-performance software products and digital platforms across diverse markets.
Our engineering teams collaborate across Product, Software Engineering, Platform, Cloud, DevOps, Data, Security, Infrastructure, and Operations to design and deliver reliable systems that support critical business processes and evolving customer needs.
The RoleWe are seeking an experienced Senior Golang Engineer to design, develop, test, deploy, optimize, and maintain high-performance software applications and distributed systems using Go.
The ideal candidate will have strong expertise in Go, backend engineering, concurrent programming, APIs, microservices, cloud-native architectures, databases, observability, and system reliability. The role will contribute to the development of scalable services, technical architecture, engineering standards, and platform capabilities while providing technical leadership to other engineers.
Key Responsibilities
- * Design, develop, test, deploy, and maintain production-grade software using Go.
- Build scalable, reliable, maintainable, and secure backend services.
- Translate product and business requirements into robust technical solutions.
- Participate in system architecture, technical design, and engineering decisions.
- Develop high-performance APIs, microservices, services, and backend applications.
- Design and implement distributed systems capable of supporting high transaction volumes.
- Apply Go best practices, idiomatic programming patterns, and clean-code principles.
- Use effective Go concurrency patterns including goroutines, channels, synchronization, and context management.
- Design and implement concurrent and parallel processing solutions.
- Optimize Go applications for performance, scalability, resource utilization, and reliability.
- Develop RESTful APIs and other service interfaces.
- Design and implement gRPC services where appropriate.
- Develop event-driven services and asynchronous processing components.
- Integrate applications with message brokers, queues, streaming platforms, and external services.
- Work with databases including relational and NoSQL technologies.
- Design efficient database schemas, queries, indexes, transactions, and data-access layers.
- Analyze and optimize database performance in collaboration with data and infrastructure teams.
- Implement caching strategies to improve application performance and scalability.
- Design services for horizontal scalability and fault tolerance.
- Develop resilient systems with appropriate retry, timeout, circuit-breaker, and graceful-degradation mechanisms.
- Implement robust error handling, validation, logging, and recovery mechanisms.
- Develop authentication and authorization mechanisms for backend services.
- Apply secure coding practices throughout the software-development lifecycle.
- Protect APIs and services against common application and infrastructure security risks.
- Collaborate with cybersecurity teams to identify and remediate application vulnerabilities.
- Develop unit, integration, functional, and end-to-end tests for Go applications.
- Establish appropriate testing strategies and improve automated test coverage.
- Conduct code reviews and provide constructive technical feedback to engineering teams.
- Maintain high standards for code quality, readability, maintainability, and testability.
- Investigate production incidents, service failures, performance issues, and system defects.
- Perform root-cause analysis and implement permanent corrective actions.
- Monitor application health, latency, throughput, errors, resource usage, and other reliability indicators.
- Implement structured logging, metrics, distributed tracing, and observability capabilities.
- Work with DevOps and platform teams to improve application deployment and operational reliability.
- Develop and maintain CI/CD pipelines for Go applications.
- Support containerized deployments using Docker and Kubernetes where applicable.
- Develop applications for cloud environments and distributed infrastructure.
- Work with cloud services, infrastructure-as-code, service discovery, secrets management, and configuration management.
- Support deployment strategies including rolling releases, blue-green deployments, canary releases, and automated rollback mechanisms.
- Design services with high availability, disaster recovery, and business-continuity requirements in mind.
- Participate in capacity planning, load testing, stress testing, and performance benchmarking.
- Analyze application bottlenecks and implement optimization strategies.
- Develop reusable libraries, SDKs, frameworks, and engineering components.
- Establish and promote Go development standards, architectural patterns, and reusable practices.
- Evaluate technical debt and prioritize refactoring and modernization initiatives.
- Participate in migration of legacy applications toward modern Go-based services where appropriate.
- Design and implement integrations with internal platforms, third-party services, and external APIs.
- Ensure API contracts are clearly defined, versioned, documented, and maintained.
- Collaborate with Product Managers, Architects, QA Engineers, DevOps Engineers, Data Engineers, and other stakeholders.
- Participate in Agile development activities including planning, refinement, estimation, reviews, and retrospectives.
- Break complex technical requirements into manageable development tasks.
- Estimate development effort, identify dependencies, and communicate delivery risks.
- Participate in technical discovery and proof-of-concept initiatives.
- Evaluate new Go libraries, frameworks, tools, and cloud-native technologies.
- Keep current with developments in Go, distributed systems, cloud computing, and backend engineering.
- Develop and maintain technical documentation, architecture diagrams, API specifications, and operational runbooks.
- Provide technical guidance and mentoring to junior and mid-level engineers.
- Support engineering teams in debugging complex technical problems.
- Lead technical initiatives and contribute to engineering roadmaps.
- Promote engineering practices focused on reliability, automation, security, scalability, and continuous improvement.
- Identify opportunities to improve development productivity, deployment efficiency, service reliability, and operational performance.
Key Performance Indicators
- * Software delivery performance
- Go development quality
- Production defect rate
- Code review quality
- Automated test coverage
- Unit-test coverage
- Integration-test coverage
- API reliability
- API response time
- Service latency
- Application throughput
- Error rate
- Service availability
- System uptime
- Mean time to detection
- Mean time to resolution
- Production incident frequency
- Repeat incident rate
- Root-cause resolution effectiveness
- CPU utilization efficiency
- Memory utilization efficiency
- Database query performance
- Cache effectiveness
- Concurrent-processing performance
- Message-processing reliability
- Queue-processing latency
- CI/CD pipeline success rate
- Deployment success rate
- Release frequency
- Rollback frequency
- Infrastructure utilization
- Cloud resource efficiency
- Security vulnerability remediation
- Secure-development compliance
- Technical-debt reduction
- Legacy-code modernization
- Performance improvement delivery
- API documentation completeness
- Technical documentation quality
- Observability coverage
- Monitoring effectiveness
- Automated testing adoption
- Reusable-component adoption
- Engineering productivity
- Stakeholder satisfaction
- Mentoring and technical-development effectiveness
Ideal CandidateThe successful candidate should have strong experience in Go/Golang software development, backend engineering, distributed systems, microservices, cloud-native applications, APIs, and high-performance software engineering, preferably within a technology, financial-services, e-commerce, telecommunications, logistics, SaaS, or other large-scale digital environment.
The candidate should demonstrate:
- Strong professional experience developing production systems using Go.
- Deep understanding of Go language features, idioms, standard libraries, and development practices.
- Strong knowledge of goroutines, channels, synchronization, context handling, and concurrent programming.
- Proven experience designing scalable backend services and distributed systems.
- Strong understanding of microservices architecture and service-oriented design.
- Experience developing REST APIs and gRPC services.
- Strong understanding of API design, versioning, authentication, authorization, and service contracts.
- Experience with event-driven architecture, message queues, or streaming platforms.
- Strong database knowledge across SQL and NoSQL technologies.
- Experience optimizing database queries, indexes, transactions, and data-access patterns.
- Strong understanding of caching and distributed data-management techniques.
- Experience with Docker, Kubernetes, and containerized application environments.
- Strong understanding of cloud-native application development.
- Experience with AWS, Azure, Google Cloud, or comparable cloud platforms.
- Experience building and maintaining CI/CD pipelines.
- Strong understanding of Git-based development and modern software-engineering workflows.
- Experience implementing automated testing and quality-assurance practices.
- Strong knowledge of observability, logging, metrics, tracing, and application monitoring.
- Experience troubleshooting production systems and conducting root-cause analysis.
- Strong understanding of performance engineering, profiling, benchmarking, and optimization.
- Knowledge of distributed-system concepts including consistency, availability, fault tolerance, and resilience.
- Strong understanding of application security and secure software-development practices.