1. Why this role
Own and evolve our centralized GraphQL API layer that aggregates data from many RESTful microservices and exposes a clean, consumer-friendly graph to web, mobile, and partner apps. You’ll design the schema, orchestrate resolvers, and make the graph fast, reliable, and easy to adopt—running on Azure.
Our stack
Go, Apollo GraphQL (Router/Gateway, Federation 2, APQ), REST, Redis (Azure Cache for Redis), PostgreSQL (Azure Database for PostgreSQL), Kafka/Service Bus, Docker, AKS, ACR, Key Vault, OpenTelemetry, Azure Monitor / Application Insights, GitHub Actions/Azure DevOps, Front Door/API Management.
2. What you’ll do
- Design and operate the Graph: Own GraphQL schema design (SDL), domain modeling, versioning/deprecations, and documentation; implement resolvers that compose multiple REST services into single queries/mutations.
- Apollo at scale: Build and run Apollo Router/Gateway (Federation 2) or a modular GraphQL BFF; manage schema composition/registry, persisted queries (APQ), query plan caching, and graph governance.
- Performance & reliability: Kill N+1 with DataLoader/batching, apply cursor-based pagination, bounded query depth/complexity, timeout budgets, idempotency, and circuit breaking; track P95/P99 and error budgets.
- Caching & throughput: Use Redis (Azure Cache for Redis) for response/data caching, rate limiting, sessions, and queues; design cache keys/TTL/invalidations; mitigate hot keys.
- Security: Integrate OAuth2/OIDC/JWT with field-level auth when needed; enforce persisted operations, schema allowlists, and input validation; protect the edge with Azure Front Door/WAF or API Management.
- Integrations: Build robust connectors to internal REST services and selected third parties (signing, retries/backoff, webhooks).
- Observability & CI/CD: Instrument with OpenTelemetry and Azure Monitor/Application Insights; ship via GitHub Actions / Azure DevOps; define SLOs, alerts, and runbooks.
- Cloud runtime: Package services in Docker and run on AKS; manage images with ACR, secrets with Key Vault, autoscaling with HPA/KEDA, and private networking (VNet/Private Link).
3. What you’ll bring (Must-haves)
- 4+ years professional Golang building production services (concurrency, context, testing/pprof).
- Hands-on Apollo GraphQL (Router/Gateway, Federation, schema composition, persisted queries, performance & security best practices).
- Proven experience aggregating multiple RESTful services behind a single GraphQL API (resolver orchestration, batching, error mapping).
- Strong microservices foundations (Kubernetes, service discovery, retries/circuit breaking, observability).
- Redis in production (caching patterns, rate limiting, streams/pubsub, locks).
- Comfortable with large datasets (efficient pagination/filters, async jobs, backfills, index-aware access patterns).
- Azure experience with some of: AKS, ACR, Key Vault, Front Door or API Management, Application Insights/Azure Monitor, managed identity (Entra ID).
- Clear communication and collaboration across Product, Mobile/Web, and Backend teams.
Nice to have
- API Gateway patterns/BFFs, schema governance at scale (GraphOS/Studio), contract testing, consumer-driven schema reviews.
- Eventing (Kafka/Service Bus/Event Hubs), search (OpenSearch/Elasticsearch/Azure AI Search), gRPC/Protobuf.
- IaC (Terraform/Bicep), blue-green/canary deploys, chaos testing, cost/perf tuning on Azure.
- SQL (PostgreSQL on Azure) and a NoSQL store; feature flags/A/B testing.
5. What you’ll get
- Competitive salary: The salary will be based on the candidate’s skills and experience, with the potential for bonuses based on performance and capabilities.
- Professional growth opportunities: The position offers opportunities for professional development and growth in the field of software development.
- Flexible working hours: Freelancer Developers have the flexibility to choose their own working hours, allowing for a better work-life balance.
- Diverse projects: Working as a Freelancer Developer provides exposure to a variety of projects, industries, and technologies, allowing for continuous learning and skill enhancement.
- Remote/Hybrid work: The position offers the option to work remotely, providing flexibility and eliminating the need for commuting.
- Creative and dynamic work environment: Freelancer Developers will have the opportunity to work in a creative and dynamic environment, collaborating with diverse teams and clients.
- International exposure: Working on projects with clients from different countries provides the opportunity to gain international exposure and broaden professional networks