Roku
SuiteOp
Engenheiro Full Stack Sênior (Remoto)
Sobre a Vaga
Você é um engenheiro que, por acaso, é excepcionalmente bom em trabalhar com IA. Não um pesquisador de ML, nem um engenheiro de prompt — um construtor. Você passará seus dias no codigo, entregando funcionalidades de produção em todo o full stack: uma migração de schema, o serviço backend que lê dele e o frontend tipado que o renderiza, muitas vezes em um único PR.
Você usará ferramentas de codificação de IA como multiplicadores de força — para estruturar, debugar, refatorar e entregar em um ritmo que não seria possível de outra forma. O trabalho é seu do início ao fim. Você é o dono das funcionalidades que constrói e de seus modos de falha, desde a linha do banco de dados até a tela em que um operador depende durante uma troca.
Esta é uma função sênior de contribuidor individual, sem gestão de pessoas e sem subordinados diretos. Você influenciará o código da maneira que os engenheiros seniores mais fortes fazem — pela qualidade do que você entrega, por revisões de código afiadas e por decisões arquiteturais que se sustentam ao longo do tempo — não gerenciando uma equipe. A superfície de atuação é significativa, e você possuirá uma parte substancial dela.
O Que Você Fará
- Entregar fatias verticais completas em um monorepo TypeScript — migração de schema, serviço backend, componente frontend — em um único PR, com tipos de ponta a ponta mantendo a fatia unida
- Liderar a reconstrução através de suas fases restantes, incluindo o painel web, a interface administrativa, o aplicativo móvel e uma API pública
- Construir para um produto multirregional e sensível à residência de dados desde o primeiro dia — um compromisso arquitetural deliberado, feito cedo porque nossos operadores executam operações reais em escala
- Integrar com o mundo real e complexo: sistemas de gerenciamento de propriedades, fechaduras inteligentes, pagamentos e um pipeline de telemetria de alta frequência
- Elevar o padrão de qualidade por meio do exemplo — pelo código que você entrega, pelas revisões que você faz e pelos padrões que deixa para o próximo engenheiro
- Moldar como trabalhamos com IA: os fluxos de trabalho, salvaguardas e padrões que tornam o desenvolvimento assistido por IA confiável e repetível, não um desenvolvimento de loteria
O Que Buscamos
- 5+ anos escrevendo TypeScript / JavaScript de produção
- Verdadeira amplitude full-stack: você pode escrever uma migração de schema, um serviço backend e um componente frontend tipado na mesma tarde
- Fluência demonstrada com ferramentas de codificação de IA — você pode articular onde elas aceleram você e onde elas o enganam silenciosamente
- Fortes instintos de banco de dados relacional: design de schema, migrações, índices, planos de consulta
- Bom julgamento arquitetural — saber quando construir, comprar, refatorar ou entregar como está
- Alto padrão de higiene de engenharia — um limite não tipado ou lógica que vazou para um controller deveria incomodá-lo
- Comunicação escrita clara. Somos async-first; as decisões acontecem por escrito, e você pode assumir uma decisão difícil em um thread em vez de uma reunião
- Conforto em trabalhar de forma autônoma e remota — você organiza seu próprio tempo, resolve seus próprios bloqueios e se sobrepõe à equipe quando é importante
Diferenciais
- Experiência moderna em frameworks TypeScript full-stack (serviços backend estilo Nest, componentes frontend estilo App-Router)
- Arquiteturas móveis offline-first
- Pilhas schema-first com segurança de tipo de ponta a ponta
- Pipelines de eventos de alta frequência ou telemetria IoT
- Sistemas multirregionais ou sensíveis à residência de dados
- SaaS vertical com área de integração profunda
Nossa Stack
TypeScript de ponta a ponta, em um monorepo estrito.
Um backend modular, um aplicativo web moderno com App-Router, um aplicativo móvel offline-first e uma camada de edge para superfícies voltadas para o público. Postgres gerenciado com segurança em nível de linha e um ORM que gerencia o schema. Jobs em background em uma fila gerenciada. Segurança de tipo de ponta a ponta, da linha do banco de dados ao formulário frontend, validada por uma única camada de schema compartilhada.
Nós deliberadamente favorecemos plataformas gerenciadas em vez de primitivas, para que a equipe gaste seu tempo no produto em vez de infraestrutura.
Como Trabalhamos
- Equipe pequena, alta propriedade. Você é o dono das funcionalidades de ponta a ponta, incluindo seus modos de falha
- Desenvolvimento com IA em primeiro lugar, estruturalmente. O código é deliberadamente construído para compreensão por IA: limites estreitos de módulos, tipos estritos, fluxo de dados schema-first. Ferramentas de IA são parte do loop de desenvolvimento, não um projeto paralelo
- Tipos em vez de testes, mas testes onde contam. Segurança de tipo de ponta a ponta captura a maioria dos bugs em tempo de compilação. Quando testamos, são testes de integração contra infraestrutura real — sem bancos de dados mockados
- Higiene de engenharia real. Sem `any`, sem avisos silenciados, sem lógica em controllers, sem formulários de salvamento automático. As regras existem porque mantêm o código legível para humanos e agentes igualmente
- Async-first. As decisões acontecem por escrito para que sobrevivam à reunião, e para que engenheiros fortes possam fazer seu melhor trabalho em seu próprio cronograma
Por Que Agora
Você se juntaria no meio de uma reconstrução, o momento mais crucial na vida da empresa. A arquitetura de sala limpa está sendo estabelecida agora. Você não herdará um sistema legado; você ajudará a construir aquele que o substitui — e o produto que ele impulsiona já executa as operações diárias de operadores que gerenciam grandes portfólios. Os padrões que você define nas fatias que entrega — como uma migração é estruturada, como um serviço é conectado, como os tipos fluem do banco de dados para o formulário — tornam-se os padrões que o próximo engenheiro busca. Este é um trabalho fundamental, e ele carrega o tipo de influência que você ganha apenas construindo.
