Tecnologia: teoria vs prática

Neste artigo você vai ver:

Existem muitas discussões no meio de desenvolvimento sobre quais ferramentas são melhores, qual melhor provedor de cloud e como elevar a produtividade ao máximo. 

Mas falamos pouco sobre o ponto mais importante na hora de implementar ou desenvolver uma solução, que é o conceito por trás disso. 

Não há como utilizar uma IDE sem saber programar, ou uma scrumboard sem conhecer a metodologia, nem como automatizar infraestrutura sem conhecer de infra, por exemplo.

Exemplificando…

Logo que iniciei minha jornada na Zup, me deparei com um desafio interessante. Todo o provisionamento da infra do projeto era feito em Cloudformation

Cloudformation é uma ferramenta da AWS para provisionamento e criação automatizada da sua infraestrutura na nuvem que possui um concorrente mais difundido no mercado nacional: Terraform.

Apesar de conhecer a linguagem, eu era muito mais habituado ao Terraform, até um pouco evangelista da Hashicorp. Mas não tive grandes dificuldades em mudar a linguagem e a ferramenta por um simples detalhe: Eu não aprendi Terraform, aprendi Infraestrutura como código.

Ou seja, pelo conhecimento prévio do conceito, eu já sabia o que fazer, apenas precisei mudar como executar.

Outro exemplo interessante que já me ocorreu algumas vezes: um amigo me aciona com uma dúvida sobre o Route53. Route53 é o serviço de DNS da AWS (excelente, inclusive). Em 99% dos casos, a dúvida na verdade era sobre qual tipo de registro criar, ajustar um TTL ou criar uma zona secundária.

Onde quero chegar? 

As dúvidas eram sobre DNS, não sobre o Route53. Faltava o conceito, não havia deficiência alguma na ferramenta.

Tecnologia vs Teoria

Passeando por tópicos em fóruns e comunidades, é possível encontrar pessoas interessadas em aprender diversas tecnologias, como Oracle, Docker, Java, AWS. 

É possível estruturar uma VPC na AWS sem conhecer redes ou criar uma estrutura de herança em Java sem conhecer Programação orientada a objetos? Podemos trabalhar bem com Docker sem conhecer o básico de Linux e como funciona um servidor web?

Estudar tecnologias é bacana, conforme evoluímos e as coisas começam a funcionar, sentimos uma imensa satisfação.

Porém, este caminho será menos árduo, com muito menos tentativa e erro, se antes da tecnologia gastarmos um tempo para entender o conceito por trás de tudo.

Ainda me lembro de uma aula da disciplina de sistemas operacionais na época da faculdade, onde o grande professor Marco Antônio nos explicou como trabalhava um processador, utilizando o escalonamento de processos e registradores. 

Aquela explicação me ajudou durante diversas situações na carreira e nunca mais tive dúvidas sobre o Load Average do processador.

Obviamente não é necessário fazer um curso superior para aprender isto. Alguns dos melhores profissionais que conheço não fizeram ou terminaram a faculdade, mas para mim funcionou bem.

O meu ponto é que algumas vezes, parar para estudar a teoria pode parecer perda de tempo mas, acredite, este tempo será recuperado na hora de implementar a tecnologia.

Um jornada inesperada

Antigamente seria possível separar as bases conceituais entre as áreas de infraestrutura e desenvolvimento, porém como tudo vem convergindo cada vez mais para o mesmo ponto (DevOps), acho que é importante para termos noções de:

  • Linux (ou Sistemas Operacionais, se quiser ir mais longe)
  • DNS
  • Redes
  • Servidores de aplicação
  • Containers
  • Estrutura de dados
  • Orientação a objetos
  • Teoria de banco de dados
  • Arquitetura
  • Lógica de programação

Certamente esta não é uma lista completa, muito menos definitiva, mas são os conceitos que foram importantes para mim e pode ser relevante pra você.

Importante frisar que não é necessário saber tudo dessa lista ou ser sênior em todas as áreas. Filtre os assuntos de acordo com os seus objetivos de carreira e monte sua própria lista de conceitos base.

Conclusão

Minha intenção com este artigo é, além de tudo, estimular o estudo e a busca por novos conhecimentos. Quanto mais fora da caixa pensarmos, mais diferenciados ficamos e melhores ficam nossos resultados.

Lembrando que nem sempre nossa jornada dentro da área de tecnologia será fácil, mas com certeza é recompensadora. Leve o seu próprio tempo e não pule etapas, não valerá a pena.

Me conta o que acha sobre o assunto nos comentários? Essa troca é importantíssima para nossa comunidade!

Vagas em tecnologia

Aqui na Zup, nós acreditamos em profissionais fora da curva e que querem crescer exponencialmente. Você gosta de desafios? Veja nossas vagas em tecnologia.

5ef3a85e773d171c276d1d9d_fabio-rodriguez
SRE
Evangelista Linux, Cloud e Devops.

Artigos relacionados

Este site utiliza cookies para proporcionar uma experiência de navegação melhor. Consulte nossa Política de Privacidade.