**Desenvolvedor Pleno Fullstack**
**Descrição da vaga**:
Buscamos uma pessoa desenvolvedora fullstack com experiência sólida em ReactJS, Node/NestJS e boas práticas de desenvolvimento. Se você gosta de criar soluções de ponta a ponta, tem facilidade para comunicar ideias técnicas e valoriza o trabalho colaborativo, essa vaga pode ser para você!
**Responsabilidades**:
- Desenvolver e manter aplicações web (SPAs), APIs, chatbots e outras soluções.
- Participar ativamente da arquitetura e do refinamento técnico das demandas.
- Assumir responsabilidades técnicas nas decisões do time, garantindo qualidade nas entregas.
- Colaborar com desenvolvedores menos experientes, realizando code reviews didáticos e apoiando seu crescimento.
**Requisitos Técnicos (Obrigatórios)**:
**Frontend - ReactJS**
- Criação de SPAs responsivas.
- Gerenciamento eficiente de estados locais e globais (states, reducers, contexts).
- Uso de hooks e criação de custom hooks.
**JavaScript / TypeScript**
- Validação de dados com JOI, ZOD ou similares.
- Experiência com ferramentas de build (Webpack, Vite, Rollup, etc.).
- Boas práticas com TypeScript, configuração de tsconfig, eslint, prettier, etc.
- Conhecimento em práticas de produção (redundância, fault-tolerance).
**Backend - NodeJS / NestJS**
- Construção de APIs e aplicações.
- Manipulação de grandes volumes de dados (ex: streams).
- Segurança Web: autenticação e autorização.
**DevOps e Infraestrutura**
- Criação de Dockerfiles e docker-compose.
- Uso de repositórios de container (Dockerhub, AWS ECR).
- Conhecimentos básicos em AWS (EC2, S3, Lambda).
- Experiência com ferramentas de CI/CD (ex: GitHub Actions).
**Banco de Dados**
- Experiência com PostgreSQL (relacional) e MongoDB (não relacional).
**Requisitos Comportamentais**:
- Boa comunicação: capacidade de traduzir termos técnicos para o negócio.
- Visão sistêmica: habilidade para arquitetar soluções de ponta a ponta.
- Autonomia: perfil autodidata, capaz de apoiar e orientar outros devs.
- Consciência técnica: evita over-engineering e sabe justificar suas decisões.
- Planejamento: sabe equilibrar qualidade e prazo, propondo simplificações quando necessário.
- Colaboração: respeita e valoriza ideias do time, independentemente de cargo ou experiência.
- Postura de mentor(a): compartilha conhecimento de forma acessível, sem impor.
- Feedback: dá e recebe feedbacks com foco em crescimento e solução.