Modalidade: PJ.
Desenvolvedor | PL
[Hard Skills]
- Desenvolvimento Full-Stack: Experiência sólida em desenvolvimento web full-stack com 3-5 anos, demonstrada através de projetos de média a alta complexidade;
- Frontend: Domínio de pelo menos um framework moderno (React, Vue.js ou Angular) e conhecimento sólido em TypeScript, HTML5, CSS3, e ferramentas de build básicas;
- Backend: Proficiência em pelo menos uma linguagem server-side (Node.js ou PHP preferencialmente) e seus frameworks, desenvolvimento de APIs RESTful. Outras linguagens (Golang, Java, C#) são diferenciais;
- Bancos de Dados: Conhecimento prático em SQL (PostgreSQL, MySQL) e conceitos básicos de NoSQL, incluindo queries otimizadas e modelagem de dados;
- Arquitetura de Software: Entendimento de padrões arquiteturais básicos, design patterns fundamentais e princípios SOLID;
- Segurança: Implementação de práticas básicas de segurança, autenticação simples (JWT), e conhecimento dos principais riscos de segurança;
- Testes: Experiência em testes unitários e conhecimento básico de testes de integração, usando ferramentas como Jest ou similares;
- Controle de versão: Proficiência avançada em Git, incluindo branching strategies e resolução de conflitos;
- DevOps básico: Conhecimento fundamental de Docker, conceitos de CI/CD e deploy de aplicações;
- Performance: Capacidade de identificar problemas de performance básicos e implementar otimizações simples, bem como conhecer algumas estratégias de otimização como filas, processamento assíncrono e outros;
- Qualidade consistente de código: Entregar código limpo, testado e sustentável para manutenção como padrão, seguir e sugerir boas práticas, sempre adicionando cobertura de testes aos códigos entregues.
[Soft Skills]
- Trabalho autônomo em projetos conhecidos: Desenvolver features completas sem supervisão, pedir ajuda apenas em situações muito específicas ou novas tecnologias;
- Entendimento do contexto de negócio: Compreender o propósito das features desenvolvidas e seu impacto básico no produto/usuário final;
- Mentoria básica e compartilhamento: Ajudar júniores e estagiários com dúvidas técnicas, revisar código e compartilhar boas práticas;
- Comunicação clara com o time: Explicar soluções técnicas para o time, participar ativamente de discussões e documentar decisões importantes. Diferencial para quem também desenvolve conversas com times de negócios e clientes;
- Identificação de problemas e riscos: Antecipar problemas técnicos comuns, alertar sobre riscos em prazos e comunicar dependências;
- Estimativas razoavelmente precisas: Estimar tarefas conhecidas com boa precisão, quebrar trabalhos maiores em partes menores;
- Participação ativa em decisões técnicas: Contribuir com opiniões fundamentadas em discussões técnicas e ajudar na escolha de soluções;
- Exploração tecnológica: Interesse em pesquisar e experimentar novas tecnologias relevantes para o contexto da equipe.