Engineering

Founding Backend Engineer

Construir a máquina backend do ControlResell que aguenta 10 marketplaces e 10 000 utilizadores diários daqui a 12 meses, como braço direito do CTO.

Salário bruto/ano

90–110 K€

BSPCE

0.51.5%

Local

Paris (hybrid)

Contrato

Sem termo

Candidatar-me

A tua missão

O ControlResell hoje corre no Vinted, no eBay e no Shopify. Daqui a doze meses temos de entregar oito novos conectores de marketplaces (Grailed, Vestiaire, Leboncoin, Depop, Etsy, Poshmark, Facebook Marketplace, Mercari) e manter tudo em produção sem partir nada.

Juntas-te ao Nathan, o CTO, para liderar o backend Kotlin/Ktor desta transição. Ficas owner dos conectores de marketplaces e constróis a observability que deteta os problemas antes dos utilizadores.

O que terás feito em 12 meses

  • Dez marketplaces operacionais em produção. Time-to-ship de um novo conector abaixo das duas semanas aos doze meses.
  • Cobertura de testes unitários e de integração acima de 80 % nos flows críticos. Testes E2E nos flows críticos.
  • Logs estruturados em todos os serviços, alerting em menos de dez minutos sobre regressões, dashboards de monitoring em tempo real.
  • Owner único dos bugs de backend. Bug crítico resolvido em menos de seis horas, bug menor em menos de vinte e quatro horas em dias úteis. Post-mortem documentado para cada incidente grave para evitar regressões.
  • Otimização contínua da performance. Caching eficaz nos flows críticos. Custo de infraestrutura controlado.

Os teus primeiros 90 dias

Mês 1. Shippas o teu primeiro conector em pair-programming com o Nathan. Aproprias-te da arquitetura: Ktor, Coroutines, Kourier, Redis, MySQL, RabbitMQ e K8s. Fazes o debug de um primeiro incidente de scraping em produção.

Mês 3. És owner de duas marketplaces em autonomia. Implementaste os logs estruturados e um dashboard de monitoring para os teus conectores. Já resolveste incidentes críticos em produção.

Mês 6. És owner de toda a stack backend em autonomia. Conduzes as escolhas de arquitetura, monitoring e gestão de incidentes.

Quem procuramos

  • Já shippaste um backend em produção com cargas reais: utilizadores concorrentes, pedidos por segundo, incidentes noturnos. Consegues contar-nos uma slow query que resolveste e o EXPLAIN que te guiou.
  • Dominas Kotlin (ou vens de Java com vontade de aprender Kotlin em duas a quatro semanas). Coroutines, structured concurrency, tipos Result — sabes do que falamos.
  • Sabes gerir incidentes em produção sem entrares em pânico: sabes analisar os logs, fazer debugging a frio, escrever um post-mortem construtivo e evitar regressões.
  • Estás à vontade com bases de dados relacionais (MySQL ou equivalente), sistemas de message queue (RabbitMQ ou equivalente) e sistemas de caching (Redis ou equivalente).
  • És proativo na manutenção e na melhoria contínua: não te limitas a corrigir os bugs, procuras compreender as causas profundas.
  • Usas Claude Code ou Cursor a fundo no teu workflow, mas fazes review dos outputs.

Nice to have. Já trabalhaste em conectores (scraping e integração externa) em produção. És ativo na comunidade open source.

Este cargo não é para ti se

  • Recusas aprender Kotlin (programamos em Kotlin, não em Java).
  • Programas de forma limpa, mas sem pensar no produto nem no utilizador final.
  • Recusas tocar em qualquer outra linguagem que não seja Kotlin ou Java. (Temos Python, JS, TypeScript, etc.)
  • Não estás disposto a ser acordado às 3 da manhã de vez em quando para um incidente crítico — é raro, mas acontece.

Vantagens

  • Salário 90–110 K€ brutos/ano
  • BSPCE 0,5 a 1,5 %, vesting 4 anos, cliff 1 ano
  • Casa ControlResell a 30 min de Paris de RER
  • Cozinheiro ao almoço e ao jantar nos dias presenciais
  • Férias ilimitadas
  • MacBook Pro M-series e 2 000 € de orçamento de hardware
  • Subscrição Claude Code Max e ferramentas premium para a tua stack
  • 3 meses nos EUA em Silicon Valley dentro de 18 meses
  • Orçamento para conferências
  • 20 % do teu tempo em projetos open source, side projects, R&D, artigos técnicos, etc., que escolhes em linha com a nossa missão.

O processo

  1. Call 1 com o Lyes (30 min). Visão, missão, energia.
  2. Call 2 com o Nathan (60-65 min). Teste técnico ao vivo em três exercícios: um mini serviço Ktor com quota check em Redis, uma code review de um repo teu, uma discussão de arquitetura sobre a integração com a Vestiaire Collective.
  3. Call 3 com o Lyes e o Nathan (45 min). Debrief, package, perguntas.
  4. Jantar na casa CR.
  5. Oferta formal em 24h.

Pronto para te candidatares?

Sem CV, sem carta de motivação. Um link, três linhas, e respondemos-te em menos de 5 dias.

Candidatar-me

Não precisas de CV. Não precisas de carta de motivação.