Unity Technologies
Devoted Studios
Engenheiro Backend
Sobre a oportunidade
Devoted Studios é uma empresa de desenvolvimento de jogos globalmente remota, especializada em Co-desenvolvimento, Portabilidade e Produção de Arte End-to-End para a indústria global de jogos.
Nossa equipe inclui talentos de classe mundial que trazem profundo conhecimento em desenvolvimento externo, otimização de pipeline e resolução criativa de problemas. Seja portando jogos para novos sistemas, aprimorando recursos de jogabilidade ou criando visuais deslumbrantes, a Devoted Studios opera como uma extensão confiável e flexível das equipes internas de nossos parceiros.
Temos orgulho de ser o parceiro de desenvolvimento de escolha para líderes da indústria como:
- Epic
- Xbox
- Meta
- Obsidian Entertainment
- Riot
- Gearbox Software
Estamos procurando um Engenheiro Backend com forte experiência em Java e C++ para trabalhar em sistemas backend que suportam a funcionalidade do jogo e a interface cliente/servidor.
Esta função fica na interseção de serviços backend e integração de clientes de jogos, exigindo alguém que entenda não apenas como construir sistemas de servidor confiáveis, mas também como esses sistemas são consumidos por clientes de jogos. Você trabalhará em todo o backend MCP, interface cliente/servidor e processos de exportação JSON, com forte foco em desempenho, eficiência, segurança e correção.
O candidato ideal está confortável trabalhando dentro de restrições de desempenho do mundo real e entende como técnicas como throttling, batching, caching e mocking de chamadas API podem reduzir gravações desnecessárias no banco de dados, minimizar a latência e manter os sistemas responsivos em escala.
Como esses sistemas lidam com dados sensíveis de jogadores, procuramos um engenheiro com bom julgamento técnico, práticas de teste disciplinadas e atenção excepcional aos detalhes.
Principais Responsabilidades
Design e Arquitetura de Serviços
- Projetar e construir serviços web escaláveis e resilientes em Java e/ou Scala que suportem as necessidades do cliente do jogo em PC, console e mobile
- Ser o dono do modelo de dados — escolher o armazenamento certo (MongoDB para armazenamento flexível de documentos, DynamoDB para chave-valor em escala, Redis para cache e estado de sessão) e justificá-lo
- Projetar REST APIs contra os quais os clientes de jogos realmente se integram bem — contratos claros, versionados, documentados, tolerantes a variações do lado do cliente
- Arquitetar para o perfil de carga de um jogo ao vivo: carga média, picos de lançamento, picos de eventos e degradação graciosa quando as dependências upstream falham
- Definir e impor limites de serviço — saber onde um serviço termina e outro começa, e por quê
Infraestrutura e Implantação AWS
- Construir e manter infraestrutura AWS usando ferramentas de IaC (CDK, Terraform, ou CloudFormation — confirmar o que está em uso no engajamento)
- Ser o dono do pipeline de implantação para os serviços que constrói: configuração CI/CD, promoção de ambiente, capacidade de rollback
- Dimensionar corretamente os recursos AWS para custo e desempenho — não usar o padrão de superprovisionamento e não deixar ineficiências de custo óbvias
- Familiaridade com os serviços AWS relevantes para backends de jogos: EC2, ECS/EKS, Lambda (quando apropriado), Gateway API, ElastiCache, SQS/SNS, CloudWatch, S3
- Entender a postura de rede e segurança dos serviços expostos aos clientes de jogos — design de VPC, grupos de segurança, privilégio mínimo de IAM, gerenciamento de segredos
Operação ao Vivo e Observabilidade
- Instrumentar todos os serviços para prontidão de produção: logging estruturado, métricas, rastreamento distribuído, verificações de integridade e alertas antes de ir ao ar — não após o primeiro incidente
- Monitorar serviços em produção: ler dashboards, interpretar anomalias, distinguir ruído de sinal
- Responder a incidentes de produção em serviços que possui — ter responsabilidades de plantão proporcionais à criticidade do serviço
- Escrever post-mortems e seguir adiante com melhorias estruturais para que o mesmo modo de falha não ocorra novamente
- Entender a diferença entre um sintoma e uma causa raiz — não corrigir sintomas
Integração de Cliente Cross-Platform
- Trabalhar diretamente com engenheiros de clientes de jogos (PC, console, mobile) para definir contratos de integração, revisar padrões de uso do lado do cliente e depurar problemas de integração
- Entender as restrições de cada ambiente de plataforma: requisitos de certificação de console em uso de rede, sensibilidade de dados móveis, permissividade de PC — e projetar interfaces de serviço de acordo
- Ser o dono da superfície de integração: documentação API que esteja correta, versionada e atualizada à medida que o serviço evolui
- Participar de revisões técnicas voltadas para o cliente onde o design do serviço backend está em pauta
Qualidade e Padrões de Engenharia
- Escrever testes unitários e de integração como um resultado de primeira classe — não como uma reflexão tardia
- Revisões de código: dar feedback específico e acionável e recebê-lo sem defensividade
- Manter a documentação do serviço: decisões de arquitetura, runbooks operacionais, limitações conhecidas, mapa de dependências
- Levantar débito técnico explicitamente — nomeá-lo, quantificar seu custo e propor um caminho de remediação
Requisitos mínimos
5+ anos de experiência profissional em engenharia de software, com experiência significativa no desenvolvimento de sistemas backend/servidor.
Pelo menos 2 anos de experiência profissional em Java, incluindo desenvolvimento backend em produção.
Pelo menos 2 anos de experiência profissional em C++, idealmente em desenvolvimento de jogos ou outro ambiente sensível ao desempenho.
Experiência demonstrada trabalhando na interface cliente/servidor, em vez de desenvolvimento puramente backend.
Experiência no desenvolvimento e integração de REST APIs e no trabalho com intercâmbio de dados baseado em JSON.
Experiência com processos de exportação/serialização de dados JSON.
Forte compreensão de técnicas de otimização de desempenho, incluindo throttling, batching, caching, otimização de requisições e mocking de API.
Experiência no projeto de sistemas que minimizam operações desnecessárias de banco de dados e chamadas de rede.
Preferencial
- Experiência no projeto de serviços que lidam com picos no dia do lançamento: padrões de escalonamento horizontal, nivelamento de carga baseado em fila, disjuntores
- Familiaridade com restrições de SDK específicas da plataforma: PlayStation Network, Xbox Live, Nintendo NSO, ou Apple/Google mobile — entendendo o que a plataforma restringe e o que ela exige do backend
- Kafka ou SQS/SNS para comunicação de serviços orientada a eventos
- Experiência em operações de cluster Kubernetes (EKS)
- Engenharia consciente de segurança: OAuth/OIDC, limitação de taxa, validação de entrada, conscientização OWASP no nível de design de serviço
Este é um cargo de emprego em tempo integral com benefícios padrão na Província de Quebec.
