Vaga para Desenvolvedor FullStack Descrição: Estamos em busca de um(a) Desenvolvedor(a) Full Stack Sênior para ser uma referência técnica em nosso time de tecnologia. Buscamos um(a) profissional capaz de assumir a responsabilidade pela construção, desenvolvimento e escalabilidade dos nossos produtos, participando ativamente das decisões estratégicas da squad e garantindo a qualidade, performance e aderência às melhores práticas de arquitetura e código. Responsabilidades e Atribuições: Desenvolver funcionalidades: Implementar features menores no front-end e/ou back-end sob orientação de desenvolvedores mais experientes. Manutenção de código: Realizar pequenos ajustes, correções de bugs e melhorias em sistemas existentes. Escrever código limpo e legível: Seguir as boas práticas de codificação da equipe e padrões definidos. Participar de revisões de código (code reviews): Aprender com o feedback dos colegas e contribuir com a revisão do código de outros. Realizar testes: Escrever testes unitários básicos e participar de testes de integração para garantir a qualidade do software. Documentar código: Contribuir para a documentação técnica das funcionalidades desenvolvidas. Participar de reuniões: Engajar-se em reuniões de equipe (Daily Scrums em metodologias ágeis, por exemplo) para discutir o progresso, desafios e próximos passos. Colaborar com a equipe: Trabalhar de perto com outros desenvolvedores, designers e outros membros da equipe para entender os requisitos e entregar soluções. Pesquisar e aprender: Dedicar tempo para aprender novas tecnologias, ferramentas e conceitos sob a orientação da equipe. Identificar e reportar problemas: Reconhecer e comunicar bugs ou gargalos de forma clara e objetiva. Requisitos: Front-end: HTML: Para estruturar o conteúdo de páginas web. CSS: Para estilizar e dar o visual às páginas web (cores, fontes, layouts responsivos). JavaScript: A linguagem fundamental para interatividade na web. Frameworks/Bibliotecas Front-end (básico): Conhecimento básico em pelo menos um framework popular como React, Angular ou Vue.js. Design Responsivo: Capacidade de criar interfaces que se adaptem a diferentes tamanhos de tela (desktops, tablets, celulares). Consumo de APIs: Entendimento de como se comunicar com APIs (Application Programming Interfaces) RESTful para buscar e enviar dados. Back-end: Linguagem de Programação Back-end: Conhecimento em pelo menos uma linguagem como Node.js (com Express), Python (com Django/Flask), Java (com Spring Boot), PHP (com Laravel) ou Ruby (com Ruby on Rails). Bancos de Dados: Compreensão de bancos de dados relacionais (como SQL - MySQL, PostgreSQL, SQL Server) e/ou não relacionais (como MongoDB). Capacidade de realizar operações CRUD (Criar, Ler, Atualizar, Deletar). APIs RESTful (básico): Entendimento de como criar APIs simples para expor dados e funcionalidades. Noções de Servidores: Conhecimento básico sobre como servidores web funcionam (Apache, Nginx). Ferramentas e Conceitos Adicionais: Controle de Versão: Domínio de Git (git flow, rebase, cherry-pick, resolução de conflitos). Ambientes de Desenvolvimento/Produção: Noções de ambientes de desenvolvimento, staging e produção. Implantação (Deployment): Familiaridade com processos de CI/CD (Integração Contínua/Entrega Contínua) e ferramentas como Jenkins, GitLab CI/CD, GitHub Actions. Cloud Computing (básico): Noções de serviços de cloud como AWS, Google Cloud ou Azure (ex: S3, EC2, Lambda, Heroku). Containerização (básico): Noções de Docker para empacotamento de aplicações. Diferenciais (Qualificações Desejáveis): Experiência com serviços em nuvem, como AWS, Azure ou Google Cloud. Conhecimento em práticas DevOps. Familiaridade com contêineres e orquestração de contêineres usando Docker e Kubernetes. Participação prévia em projetos de código aberto. Competências: Fortes habilidades de comunicação verbal e escrita. Proatividade e disposição para aprender e compartilhar conhecimento. Foco em entregas de alta qualidade com prazos desafiadores. Capacidade de adaptação a novas tecnologias e ferramentas conforme necessário.