A pessoa desenvolvedora Full Stack Sênior é um profissional com 5+ anos de experiência e que lidera iniciativas técnicas estratégicas, toma decisões arquiteturais críticas, desenvolve talentos, influencia cultura técnica e conecta tecnologia com resultados de negócio em nível organizacional.
Hard Skills:
- Desenvolvimento Full-Stack: Experiência sólida em desenvolvimento web full-stack com pelo menos 5+ anos, demonstrada através de projetos complexos e produtos de alto impacto;
- Frontend moderno: Domínio de frameworks modernos (React, Vue.js, Angular) e tecnologias como TypeScript, HTML5, CSS3 e ferramentas de build (Webpack, Vite);
- Backend robusto: Proficiência em linguagens server-side (Node.js, PHP) e frameworks correspondentes, além de APIs RESTful. Outras linguagens (Golang, Java, C#), além de GraphQL são diferenciais;
- Bancos de Dados: Expertise em SQL (PostgreSQL, MySQL) e NoSQL (MongoDB, Redis), incluindo modelagem, otimização de queries e estratégias de cache;
- Arquitetura de Software: Conhecimento sólido em padrões arquiteturais (microserviços, monolitos modulares), design patterns e princípios SOLID;
- Segurança: Implementação de práticas de desenvolvimento seguro, autenticação/autorização (OAuth, JWT). Desejável conhecimento em OWASP Top 10;
- Testes: Experiência em testes unitários, integração e E2E usando ferramentas como Jest, Playwright, Cypress ou Selenium. Abordagens como TDD/BDD são diferenciais;
- DevOps e CI/CD: Proficiência em Git, Docker. Outras tecnologias como Kubernetes e pipelines de CI/CD (Jenkins, GitHub Actions, GitLab CI) são diferenciais;
- Cloud Computing: Experiência com AWS, Azure, GCP ou OCI, incluindo serviços de deploy, monitoramento e escalabilidade;
- Performance: Capacidade de otimizar aplicações, identificar bottlenecks, análise de complexidade algorítmica e profiling de código, demonstrar versatilidade para propor estratégias de otimização como filas, processamento assíncrono e outros;
- Solução de problemas complexos com autonomia: Resolver desafios técnicos de alta complexidade independentemente, propor soluções para problemas ambíguos e não estruturados;
- Decisões técnicas fundamentadas: Escolher tecnologias e abordagens baseadas em trade-offs claros, defender decisões com argumentos sólidos e dados.
Soft Skills:
- Mentoria técnica natural: Elevar o nível técnico do time através de code reviews detalhados, pair programming e compartilhamento de conhecimento;
- Qualidade e padrões como referência: Ser referência em boas práticas, código limpo e testável, estabelecer padrões através do exemplo;
- Visão de produto e impacto: Questionar requisitos quando necessário, sugerir alternativas técnicas que maximizem valor com menor esforço;
- Comunicação técnica efetiva: Documentar decisões importantes, explicar trade-offs técnicos para POs/PMs, participar de discussões com stakeholders quando necessário;
- Ownership de componentes críticos: Responsabilidade por partes críticas do sistema, garantir saúde e evolução de componentes chave;
- Aprendizado e aplicação de novas tecnologias: Avaliar e introduzir novas tecnologias quando apropriado, manter-se atualizado e compartilhar aprendizados;
- Technology radar: Pesquisa contínua e avaliação crítica de novas tecnologias, frameworks e ferramentas para adoção estratégica.