Full Stack Senior Developer
Nossa busca é por um profissional talentoso para atuar como desenvolvedor full stack senior em nossa equipe de tecnologia.
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:
o HTML: Para estruturar o conteúdo de páginas web.
o CSS: Para estilizar e dar o visual às páginas web (cores, fontes, layouts responsivos).
o JavaScript: A linguagem fundamental para interatividade na web.
o Frameworks/Bibliotecas Front-end (básico): Conhecimento básico em pelo menos um framework popular como React, Angular ou Vue.js.
o Design Responsivo: Capacidade de criar interfaces que se adaptem a diferentes tamanhos de tela (desktops, tablets, celulares).
o Consumo de APIs: Entendimento de como se comunicar com APIs (Application Programming Interfaces) RESTful para buscar e enviar dados.
* Back-end:
o 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).
o 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).
o APIs RESTful (básico): Entendimento de como criar APIs simples para expor dados e funcionalidades.
o Noções de Servidores: Conhecimento básico sobre como servidores web funcionam (Apache, Nginx).
* Ferramentas e Conceitos Adicionais:
o Controle de Versão: Domínio de Git (git flow, rebase, cherry-pick, resolução de conflitos).
o Ambientes de Desenvolvimento/Produção: Noções de ambientes de desenvolvimento, staging e produção.
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.
o Cloud Computing (básico): Noções de serviços de cloud como AWS, Google Cloud ou Azure (ex: S3, EC2, Lambda, Heroku).
o Containerização (básico): Noções de Docker para empacotamento de aplicações.
Diferenciais:
* 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.