Purpose of the JobDesign, develop, and maintain robust, scalable backend systems using Go, enabling the performance and reliability of mission-critical services with strong emphasis on clean architecture and design patterns.
Senior-Level
Remote
Key Responsibilities
- API & Services Development
- Design and implement REST and gRPC APIs using Go
- Build scalable backend services and real-time features
- Apply Domain-Driven Design principles in service design
- Event-Driven Messaging
- Integrate NATS for asynchronous message handling and pub/sub patterns
- Design event-driven communication between services
- Database Design & Optimization
- Manage data models and indexes in PostgreSQL and MongoDB
- Apply caching strategies using Redis for performance gains
- Deploy and manage services using containerization (nice to have: Docker and Kubernetes)
- Manage CI/CD pipelines using GitHub Actions
- Apply Git workflows and code quality automation
- Performance Optimization & Monitoring
- Benchmark Go code, optimize for memory and speed
- Monitor services using Prometheus and Grafana
- Security Engineering
- Secure APIs with OAuth 2.0, JWT, and secrets management
- Address OWASP top 10 vulnerabilities in code and services
- Testing & Quality Assurance
- Apply TDD with Mock-First development concepts
- Implement comprehensive unit, integration, and E2E tests using Go testing tools
- Enforce quality gates with Git hooks and automated testing strategies
- System Design & Technical Leadership
- Own architectural decisions for distributed systems using DDD principles
- Apply SOLID principles and Hexagonal Architecture patterns
- Mentor engineers and enforce clean code practices
Competency Requirements
Go Programming & API Design
- Expert in writing idiomatic Go code and designing robust REST/gRPC APIs
- Advanced WebSocket implementation for real-time communication
Software Design Patterns & Architecture
- Domain-Driven Design (DDD)- Advanced understanding of bounded contexts, aggregates, and domain modeling
- SOLID Principles- Expert application in Go codebase design and refactoring
- Hexagonal Architecture (Ports & Adapters)- Advanced implementation for maintainable, testable systems
- Design Patterns- Proficient in GoF patterns and their Go-specific implementations
- Designing modular services that scale and communicate effectively
Messaging & Communication
- Proficient in NATS for pub/sub messaging and service-to-service communication
Database & Caching
- Proficiency in PostgreSQL, Redis, and MongoDB with query optimization
Cloud-Native Development
- Experience with AWS deployment and cloud services (EKS, EC2)
- Working knowledge of Docker and Kubernetes (nice to have)
CI/CD & DevOps Practices
- Automating deployments and code checks using GitHub Actions and Git workflows
Performance & Monitoring
- Benchmarking with pprof, implementing metrics and alerts using Prometheus & Grafana
Security Practices
- Implementing secure APIs, managing secrets, and following OWASP principles
Testing Culture
- Expert in Test-Driven Development with Mock-First concepts
- Writing comprehensive unit, integration, and E2E tests; enforcing quality via Git hooks
- Advanced understanding of test doubles, mocking strategies, and testable design
Technical Mentoring & Architecture
- Leading code quality efforts, mentoring peers, and designing scalable systems
- Teaching and enforcing software design principles across the team
Problem Solving & Debugging
- Tracks down root causes and applies scalable fixes using systematic approaches
Accountability
- Takes end-to-end responsibility for services owned
Code Quality Ownership
- Upholds clean code standards and peer code review rigor
- Champions software design principles and architectural consistency
- Documents clearly, communicates effectively across the team
- Explains complex architectural decisions and design patterns to stakeholders
Initiative
- Proactively identifies improvements in systems and processes
- Drives adoption of better design patterns and architectural practices
Leadership Potential
- Mentors juniors and contributes to engineering-wide best practices
- Leads by example in applying clean architecture principles
Qualifications
Required Experience
- Bachelor's degree in Computer Science or related field (preferred)
- 5+ years of backend software development experience
- 5+ years of production-grade Golang development
- 2+ years building distributed services and systems
- Strong demonstrated experience with SOLID principles and Clean Architecture**
- Experience with Mock-First development and advanced testing strategies**
- Experience with NATS or similar messaging systems
- Nice to have: Experience with AWS cloud services
- Nice to have: Docker and Kubernetes experience
- Familiarity with GitHub Actions, monitoring tools (Prometheus, Grafana)
- Intermediate to advanced English proficiency
Technical Assessment Areas
Candidates will be evaluated on:
- Domain modeling and DDD concepts**(bounded contexts, aggregates, domain events)
- Hexagonal architecture implementation**patterns
- Mock-First development and testing strategies**
- Design pattern knowledge**and appropriate usage
- NATS messaging patterns**and pub/sub implementations
- Go concurrency patterns and performance optimization
- Being a part of a global startup with hyper-growth.
- Exceptional, innovative and dynamic work environment
- Full transparency and open employee communication
- Tremendous growth & career advancement opportunities