Passar muito tempo na frente das telas do computador programando códigos requer muita disciplina e foco. A função de um desenvolvedor é extremamente importante para área de tecnologia e desenvolvimento de sites.
Aqui na Híbrido temos desenvolvedores back-end, front-end e full stack. Além disso temos subdivisão de dois times: suporte e projetos. No post blog de hoje o nosso papo é sobre o dia a dia do desenvolvedor, por isso convidamos o Jorge Henrique que é o Líder de Desenvolvimento do setor de Projetos para contar como funciona na prática a rotina do nosso #DEVTEAM.
Vamos lá!
1) Do início – Especificação de Requisitos
Antes de começarmos a execução do projeto, o time Comercial e o Arquiteto Magento reúnem-se para a avaliar como será o escopo e quantas horas o cliente precisará adquirir para que o site fique como o solicitado. Nessa etapa é feito um documento que contempla todas as funcionalidades que não sejam nativas do próprio Magento, por exemplo: o cliente precisa integrar o estoque do seu ERP com o Magento, para garantir que estejam sempre sincronizados, então o Arquiteto vai buscar uma solução junto com o cliente. Na Arquitetura entra também a escolha do gateway de pagamento e os métodos de entrega. Esse material não é específico apenas para questões complexas, também temos alguns itens de menor impacto que ficam registrados, como a escolha de uma ferramenta de chat, particularidades no menu, entre outras.
Essas interações com o cliente, sempre contamos com o nosso Gestor de Projetos (GP) responsável pelo planejamento e onde naturalmente, ele será a peça fundamental no acompanhamento do projeto, pois é obrigatório que ele sempre saiba qual o status atual do projeto.
2) Design
Após as especificações, as telas começam a ser construídas pelos designers. Nessa etapa o Arquiteto já se desconecta um pouco do cliente, ficando agora com o apoio nas aprovações das telas, junto com ao Líder de Desenvolvimento, garantindo que as telas façam sentido com as especificações do projeto. A ordem é começar pelas telas principais, é onde os designers começam a entregar o conteúdo para a aprovação do cliente, e seguem nesse processo até todas as telas estarem desenhadas. Essas trocas, sempre acontecem com o Gestor de Projetos atuando de intermédio.
3) Gestor de Projetos
Paralelamente à essas duas etapas (arquitetura e design), o Gestor vai auxiliando o cliente em todas as contratações necessárias com ferramentas externas ao Magento. Por exemplo: compra de módulos, contratação dos gateways de pagamento e frete, ERP, entre outras. Isso garante que quando chegarmos ao desenvolvimento, não tenhamos pontas soltas.
4) Desenvolvimento – Escolha do time responsável
A escolha do time se faz baseado nas especificações do projeto, alguns precisam da atuação de mais front-end, outros mais back-end. Basicamente o time é composto por 3 ou 4 devs + o Líder. Além disso, os papéis do Gestor de Projetos, Arquiteto e Designers dão todo o suporte à equipe de desenvolvimento quando necessário.
5) Desenvolvimento – Organização e dia a dia
O desenvolvimento é organizado seguindo algumas premissas do Scrum (metodologia ágil de gerenciamento de projetos, da organização ao desenvolvimento ágil de produtos complexos e adaptativos com o mais alto valor possível).
Antes de iniciar o desenvolvimento, nós quebramos cada pedacinho do e-commerce em uma tarefa e depois atribuímos um valor de dificuldade a ela. Após isso, organizamos as sprints (que são as entregas dentro de um determinado período). Normalmente seguimos sprints de uma semana.
Ao fim desse ciclo, temos algo para apresentar ao cliente. Conforme o tamanho de cada projeto/devs alocados, temos uma previsão de quantas sprints precisamos para concluir o desenvolvimento. Diariamente essa equipe de desenvolvimento faz um alinhamento interno para sanar alguma dúvida ou dificuldade que possam estar passando no projeto, e para deixar claro quais tarefas que estamos atuando (a chamada Daily).
6) Correções – Depois de tudo pronto, como é o processo final?
Ao final do desenvolvimento, após todos os aceites, nós começamos o processo de Go Live. Nessa parte o Líder de Desenvolvimento passa um checklist, onde é necessário ativar a equipe responsável pela infraestrutura do servidor de produção (o próprio Magento Cloud ou serviços terceiros), são feitas checagens em SEO e também performance. Se tudo estiver OK, fazemos a virada para o novo e-commerce.
7) Deployes – Como enviam para o cliente aprovar?
Enquanto estamos em desenvolvimento, o cliente pode aprovar semanalmente as entregas que são feitas, ao final das sprints. Após o lançamento, caso tenhamos algum ajuste, esses deploys passam a ser feitos em horários combinados com o cliente, para evitar qualquer perda de fluxo no e-commerce.
8) Servidores
No caso dos projetos que não são Magento Clouds, nós gerenciamos os servidores na AWS, juntamente com uma equipe externa dedicada à infraestrutura. No caso dos projetos onde o cliente opta por Magento Cloud, a infraestrutura também é hospedada na AWS, porém é gerenciada pela própria equipe do Magento.
E como é feito tudo isso em home office?
No home office, nós conseguimos manter as mesmas rotinas, sem prejudicar em nada o fluxo. Obviamente, todas as reuniões passaram a ser feitas remotamente, na grande maioria através do Google Meet. Naturalmente causou alguma estranheza no início, mas agora já estamos totalmente alinhados com esse novo modelo.
A rotina de um desenvolvedor é repleta de desafios diários e muitas vezes até complexos, porém o resultado faz tudo valer a pena. Curtiu saber um pouco mais do dia a dia de um dev? Estamos com vagas abertas na área, confira aqui e faça parte do nosso #DEVTEAM.