Visão Geral do Cargo
O Full-Stack Software Engineer (AI-Assisted) é responsável por construir e evoluir as capacidades do produto da Inventeer tanto no backend quanto no frontend — entregando funcionalidades confiáveis, com arquitetura limpa, modelagem de dados sólida e uma experiência de usuário consistente.
Este é um cargo de contribuição individual com foco em entrega. Você trabalhará com o time para implementar sistemas escaláveis, integrar APIs externas e manter uma base de código de alta qualidade, alinhada aos padrões da Inventeer (padrões reutilizáveis, responsabilidade clara e rigor de engenharia pragmático).
Uma expectativa central deste papel é o uso eficaz de ferramentas de desenvolvimento assistidas por IA (como Claude Code) no dia a dia para melhorar velocidade, qualidade e clareza — sem comprometer o julgamento de engenharia. Este cargo não se trata apenas de “fazer prompting”; trata-se de usar a IA como alavanca dentro de um fluxo disciplinado de engenharia de software.
Responsabilidades Principais
Engenharia Backend (Node.js / NestJS)
- Construir e manter serviços backend escaláveis utilizando Node.js e NestJS, com foco em performance, confiabilidade e arquitetura limpa.
- Trabalhar com PostgreSQL para modelagem de dados e design de queries, utilizando Prisma e/ou Knex quando apropriado para migrações, fluxos de ORM e consultas sensíveis a desempenho.
- Integrar APIs externas para melhorar a funcionalidade do produto e o fluxo de dados, com tratamento robusto de erros, retries e padrões de resiliência.
- Escrever lógica de serviços de forma sustentável, com limites claros, interfaces previsíveis e abstrações pragmáticas.
Engenharia Frontend (React / Vite)
- Construir funcionalidades voltadas ao usuário utilizando React.js e Vite, com atenção à usabilidade, responsividade e consistência.
- Colaborar na criação de padrões reutilizáveis de componentes e em uma arquitetura frontend que aumente a velocidade de entrega e a manutenibilidade.
- Garantir performance e estabilidade do frontend por meio de uma gestão de estado cuidadosa e estratégias eficientes de busca de dados.
- Implementar comportamentos de UI claros, previsíveis e alinhados aos requisitos do produto e à direção de design.
APIs & Camada de Dados (GraphQL)
- Colaborar na implementação e evolução de APIs GraphQL utilizando PostGraphile e Apollo (ou ferramentas equivalentes).
- Manter um design de schema previsível e padrões de integração cliente-servidor que permitam iteração rápida e mudanças seguras.
- Melhorar a ergonomia da API, a eficiência das queries e a confiabilidade das integrações à medida que o produto escala.
- Ajudar a manter contratos claros entre frontend e backend por meio de práticas consistentes de API.
Integrações em Nuvem & Gestão de Arquivos
- Implementar fluxos de arquivos utilizando Google Cloud Storage (uploads, controle de acesso e padrões de ciclo de vida quando aplicável).
- Construir camadas confiáveis de comunicação HTTP utilizando Axios (ou equivalente), incluindo timeouts, retries e tratamento estruturado de erros.
- Contribuir para padrões de integração que favoreçam observabilidade e facilitem o debugging em ambientes de produção.
Fluxo de Engenharia Assistida por IA (Claude Code / Equivalente)
- Utilizar ferramentas de desenvolvimento assistidas por IA no dia a dia para acelerar implementação, debugging, refatoração, criação de testes e documentação.
- Quebrar tarefas em unidades claras e testáveis que possam ser executadas com eficiência com apoio de IA.
- Revisar, validar e refinar criticamente o código gerado por IA antes do envio (correção, segurança, manutenibilidade e alinhamento com padrões).
- Utilizar ferramentas de IA para reduzir trabalho repetitivo sem perder entendimento do sistema e responsabilidade sobre o código.
- Documentar prompts, fluxos e padrões úteis que aumentem a velocidade e a repetibilidade do time ao longo do tempo.
Qualidade de Engenharia & Colaboração
- Participar de code reviews com foco em correção, clareza, manutenibilidade e padrões compartilhados.
- Contribuir com documentação, runbooks e notas voltadas a desenvolvedores que reduzam ambiguidades e retrabalho.
- Colaborar com o time para desbloquear entregas e evitar gargalos.
- Comunicar trade-offs com clareza e escalar riscos antecipadamente quando escopo, qualidade ou prazos estiverem em risco.
Habilidades Técnicas Obrigatórias
- Experiência comprovada em produção com Node.js e React.js.
- Experiência sólida full-stack construindo e entregando funcionalidades reais de produto de ponta a ponta.
- Conhecimento sólido em GraphQL, incluindo experiência com Apollo, PostGraphile ou ferramentas equivalentes.
- Experiência com PostgreSQL e modelagem relacional de dados, queries e migrações (preferencialmente Prisma e/ou Knex).
- Experiência integrando APIs externas (autenticação, paginação, rate limits, retries, padrões de confiabilidade).
- Familiaridade com Google Cloud Storage ou sistemas equivalentes de armazenamento de arquivos em nuvem.
- Experiência prática utilizando Axios (ou cliente HTTP equivalente) para requisições eficientes e tratamento de erros.
- Conforto com workflows baseados em Git (branches, pull requests, code reviews, boas práticas de commits).
Estilo de Trabalho Esperado (Entrega Assistida por IA)
- Conforto no uso de ferramentas modernas de desenvolvimento assistido por IA (ex.: Claude Code, Copilot ou equivalente) como parte de um workflow profissional de engenharia.
- Forte julgamento de engenharia: capacidade de verificar outputs, identificar premissas incorretas e evitar artefatos de automação de baixa qualidade.
- Capacidade de ganhar velocidade com IA sem reduzir padrões de qualidade.
- Disposição para aprender e se adaptar à medida que os workflows de engenharia evoluem.
Importante: Você não precisa ser um “especialista em IA” para se candidatar. Valorizamos mais fundamentos sólidos de engenharia de software, bom julgamento e abertura para usar ferramentas modernas de forma eficaz.
Diferenciais
- Experiência com TDD, testes unitários e estratégias práticas de testing.
- Base sólida em princípios SOLID e padrões de design comuns, aplicados de forma pragmática.
- Experiência em aumentar a velocidade do time por meio de padrões reutilizáveis, ferramentas internas, documentação ou automação.
- Exposição a práticas de engenharia orientadas à segurança e compliance (auditabilidade, princípio do menor privilégio, configurações seguras por padrão).
- Experiência trabalhando em times que equilibram velocidade de entrega com qualidade de código no longo prazo.
- Experiência utilizando especificamente Claude Code (ou workflows similares de programação assistida por IA) em ambientes de produção.
Expectativas Comportamentais
- Execução prática: você entrega. Não apenas discute arquitetura — você implementa.
- Ownership e confiabilidade: você assume responsabilidade pelo trabalho de engenharia que se compromete a fazer e leva até o fim.
- Clareza na comunicação: você explica trade-offs com clareza, mantém PRs legíveis e documenta o que realmente importa.
- Qualidade sem excesso: você equilibra velocidade e rigor — fundamentos fortes, mínimo drama.
- IA com responsabilidade: você usa IA para aumentar sua alavancagem, mas mantém responsabilidade pelo resultado final.
- Entrega orientada ao time: você colabora, revisa com cuidado e ajuda o time a evoluir continuamente.
Como é o Sucesso Neste Cargo
Nos primeiros meses, uma pessoa bem-sucedida neste papel irá:
- Entregar funcionalidades full-stack confiáveis de forma consistente.
- Contribuir com código limpo e revisões úteis.
- Utilizar workflows assistidos por IA para aumentar velocidade sem introduzir regressões de qualidade.
- Reduzir retrabalho por meio de maior disciplina de implementação e documentação mais clara.
- Fortalecer, ao longo do tempo, os padrões de engenharia reutilizáveis do time.