Aprendizados da programação aplicados a vida
Published: 2021-04-17 13:09:06

Durante minha trajetória em desenvolvimento de software, muitas vezes o que eu aprendia sobre a disciplina eu conseguia aplicar na minha vida pessoal e vice versa.

Pra mim, foram conhecimentos bem úteis e que me ajudaram a lidar da melhor forma com muitas questões que antes eram bem difíceis.

Com isso, resolvi então escrever este artigo pra compartilhar algumas dessas lições com vocês.

Vamos lá!

## Conhecimento básico de gerenciamento de projetos.
Na área de desenvolvimento de software se fala bastante sobre metodologias ágeis, gerenciamento de projetos e por aí vai.

E talvez não seja a área que você estuda diretamente, mas com certeza será algo que você irá entender as vantagens e saber como aplicar, nem que seja apenas algo inspirado em Kanban ou Scrum.

Mas com isso você já consegue aproveitar bem e utilizar em outras áreas da sua vida, por exemplo na hora de dividir as tarefas de casa com outras pessoas, ou até mesmo priorizar as suas tarefas do dia a dia.

![Quadro Kanban](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4lv94ixjkfpz119q76wa.jpg)
*Essa é uma foto da @barbrabrgs em que ela aplicou a ideia no dia dia, bem legal, né? :)*


## Entender o que se deve fazer
Acho que todo programador sabe da importância de entender o que o cliente quer antes de perder horas desenvolvendo uma funcionalidade inútil.

Saber fazer as perguntas certas, a fim de entender melhor o que o outro quer, é uma boa habilidade para se ter como desenvolvedor e em geral também. Nossos relacionamentos também pedem isso.

## Saber onde procurar as respostas
Muitas vezes a sua geladeira pode dar pau do nada 1h da madrugada, acabando com qualquer chance de você recorrer a assistência imediatamente.

Você pode até esperar o dia seguinte, mas e se a mistura da semana já tiver lá, você não pode arriscar perder (Você já viu o preço da carne!?).

E aí, o que fazer?

Google, claro.

Mas e se você não achar a resposta lá? Bom, talvez ler o manual lhe dê alguma resposta ou talvez não. A assistência ainda está fechada, então não custa nada dar uma olhada, você não vai conseguir dormir por conta da preocupação mesmo.

## Dividir e conquistar
Pelo menos em algum momento do seu trabalho você vai precisar lidar com um problema escabroso que você olha e não sabe nem por onde começar. Talvez depois de surtar um pouco, você perceba que talvez quebrar em várias partes menores vai pelo menos deixar o seu problema menos assustador.

Além de menos assustador, muitas vezes é o que vai possibilitar a resolução daquele b.o.

A mesma estratégia pode ser aplicada pra absolutamente qualquer coisa na sua vida, vai por mim.

## Atenção aos detalhes
No dia a dia de um desenvolvedor a falta de um simples ponto e vírgula pode fazer você perder algum tempo de trabalho por conta da sua aplicação inteira não estar rodando devidamente.

Pra não perder esses pequenos detalhes é preciso ter uma atenção extra (Ou então uma ferramenta que faça isso por você, omitir não é uma opção).

Na vida essa atenção aos detalhes é bem parecida com a habilidade adquirida através da meditação.

O poder de observar o externo e o interno mas sem se apegar, voltando sempre o seu foco pra sua respiração.

É um baita exercício mental de como se manter lúcido.

## Feito é melhor que perfeito
No desenvolvimento profissional é preciso conhecer os padrões e aplicar boas práticas de programação.

Mas só é possível melhorar algo que já existe.

Então você primeiro cria sua funcionalidade e só depois pensa em refatorar, aplicar padrões etc.

Se você for do tipo perfeccionista e estiver ficando ansioso com tantos projetos inacabados, com esse aprendizado novo aplicado na sua vida muitas coisas podem mudar, e pra melhor.

## Bases sólidas
Esse item se relaciona diretamente com o item de cima.
Começar é importante, mas é necessário voltar ao começo para construir bases sólidas.

E ao meu ver, ter a mente aberta sobre qualquer tópico, assumindo que nunca saberá tudo, é o que vai permitir você estar sempre aprendendo sobre ele e consequentemente solidificando cada vez mais suas bases.

## Inglês
Tecnologia é uma área em plena mudança e na maioria das vezes as novidades chegam primeiro em inglês. Após um tempo na área você não vai mais querer ou então poder esperar esse conteúdo ser traduzido.

Além da relação de obrigação, aprender uma língua estrangeira através de um tópico do seu interesse - no caso a programação - pode não ser o melhor método, mas com certeza é que te levará mais longe.

## It's not a problem, it's a challenge
Pode ser que você já entrou na área com essa filosofia, eu acho que é algo bem comum entre as pessoas que se interessam por tecnologia.

Mas também é possível desenvolvê-la e quando isso acontecer, sua visão de mundo será outra, pois agora nada pode te impedir!

Nada é difícil de mais para ser feito. Claro, isso não significa que você vai sair por aí construindo foguetes. Pode ser só que você não esteja afim de se dedicar a essa finalidade, mas se por algum motivo sua vida depender disso, você sabe que pode dar conta do recado. ~~Se tiver uma documentação, melhor ainda~~

## Peça ajuda
As vezes o erro está na sua cara, mas por ter sido escrito por você, nada parece estar fora do lugar.

Nessas horas talvez seja uma boa pedir uma segunda opinião. 
E muitas vezes você vai perceber através dos olhos do outro que o erro estava ali o tempo todo, só você não viu.

---
E essas são algumas das lições que eu aprendi e que consigo aplicar em outras áreas da minha vida.

Acredito que existam milhares de outras, tanto por aqui quanto por aí. Então se você quiser compartilhar algumas comigo também, eu vou ficar bem contente!

Espero que tenham gostado! :)