0

Você deveria saber o que é um Full Cycle Developer

T
Thiago

Introdução


Antes de mais nada, se você nunca subiu alguma coisa em produção, esse artigo pode ser um pouco abstrato, mas vou me esforçar para que fique o mais claro possível. Qualquer dúvida, não hesite em questionar.


Resumindo do artigo: Você provavelmente não precisará ser um Full Cycle Developer, mas é interessante que seja.


Ciclo de vida do software



Existem muitas formas de desenvolver software profissionalmente, entretanto, todas elas tem uma coisa em comum, todas elas possuem um ciclo de vida que consiste em análise, desenvolvimento, teste e deploy.


Na grande maioria de projetos, haverão times com diversas pessoas com conhecimentos específicos em cada uma dessas etapas, cada pessoa fica responsável apenas por sua atividade e ao finalizar passa para etapa seguinte.


Por exemplo: A equipe de análise/design cria um protótipo e valida a usabilidade, depois passa para o desenvolvedor, que implementa a funcionalidade e realiza os testes unitários, e depois passa para equipe de teste/QA. Caso haja algum ajuste, o ciclo se repete até ir para produção.

Em produção o ciclo muda, o pessoa de Infra/Ops é responsável por monitorar e repassar caso haja algum ajuste necessário, como um consumo excessivo de memória, leak de arquivos, entre outros.


Essa era a forma que o Netflix viviam em 2012, entretanto, isso estava gerando muitos problemas.


Desvantagens


Grande demora para implantar uma nova demanda em produção, pois é necessário passar por muitos times, e esse ciclo tende a ir e voltar muitas vezes.

A correção de bugs demoram mais, pois o problema demora para chegar ao desenvolvedor, e normalmente é necessário seguir todo o fluxo.


Full Cycle Developer



Com isso, o Netflix criou o termo Full Cycle Developer, que é um desenvolvedor que consegue agregar em todo o ciclo, desde o desenvolvimento até a implantação e o monitoramento em produção.


Resumindo, um Full Cycle Developer deve ser capaz de criar o design, desenvolver, testar, realizar o deploy, monitorar e realizar o suporte.


Agora talvez você pense que é impossível, ou que você terá que saber tudo de tudo, mas calma, não precisa se preocupar. 


O Netflix conseguiu aderir a esse tipo de cargo, pois eles possuem diversos especialistas que conseguiram criar ferramentas para automatizar cada etapa do ciclo.


Essa realidade do Netflix não é a mesma em muitas empresas, mas o conhecimento de todo o ciclo de desenvolvimento é um grande diferencial que com certeza te agregará muito valor.


Um desenvolvedor que é capaz de criar um continuous integration, que tem conhecimento de Docker, que sabe realizar monitoramento, com certeza conseguirá agregar mais valor ao usuário final.


Conclusão


Assim como microservices, essa abordagem provavelmente não deverá ser aplicada na maioria das empresas. 

Mas é interessante conhecer todo o ciclo de desenvolvimento, mesmo que não atue diretamente.

Sugiro ir com calma, baby steps.


  1. Pense em um problema, entenda melhor esse problema.
  2. Faça um protótipo, um design para solucionar esse problema.
  3. Desenvolva de acordo com o design.
  4. Realize os testes unitários e testes funcionais.
  5. Crie uma pipeline (CI) para executar os testes automaticamente.
  6. Realize o deploy em produção.
  7. Verifique se você tem métricas para solucionar algum problema caso exista. Sabe quanto de memória está consumindo, quanto de CPU, quantos acessos por dia, por hora, por minuto?
  8. Inclua métricas para conseguir analisar melhor.
  9. Faça uma integração com Continuous Deploy, para conseguir implantar uma nova versão com "um clique".


Com um projeto assim, você será capaz de entender um pouco melhor todo o ciclo, e quanto mais evoluir o projeto, mais você evoluirá.



Referências


https://netflixtechblog.com/full-cycle-developers-at-netflix-a08c31f83249

https://www.youtube.com/watch?v=pd5rg9DEHqw

https://imasters.com.br/desenvolvimento/full-stack-vs-full-cycle-developer

0
30

Comentários (4)

0
T

Thiago

31/03/2021 06:53

Eros Lima, a Netflix cunhou esse termo, por isso a foto do Netflix 😄

0
Rosemeire Deconti

Rosemeire Deconti

30/03/2021 13:06

Parabéns! Útil e direto ao ponto!

1
⚡Eros Lima

⚡Eros Lima

29/03/2021 22:18

Super Resumo, parabéns. Só não entendi a foto Netflix ;-? mas blz, o conteúdo não me fez perder tempo!

1
P

Pedro Silva

29/03/2021 21:48

Ótimo artigo. Leitura leve e rapida.


Valeu!

None

Brasil