Como ser um Programador Pragmático?
Tags: softwaredevelopment, softwareengineering, development, developer
Published: 2024-07-03 19:26:58

Uma das leituras que deveria ser obrigatória para desenvolvedores, o Programador Pragmático traz no seu primeiro capítulo algumas dicas de como ser um programador prático.


## 1. Preocupe-se com o seu trabalho

O básico para ser um programador, você precisa se importar o mínimo do que seja com o desenvolvimento para executá-lo bem. 

## 2. Reflita sobre o seu trabalho

Não sai fazendo as coisas no piloto automático, conteste, fale, reflita sobre algo que esteja desenvolvendo. Não somente aceite o que vier e foda-se...

## 3. Forneça opções, não dê desculpas esfarrapadas

Não se limite a negar que algo não pode ser feito por causa de uma tecnologia, um período de tempo ou algo que a sua capacidade não permite. Vá atrás de uma opção viável, mesmo que seja uma gambiarra, nem toda inovação nasceu para ser uma inovação, às vezes elas são apenas umas gambiarras que deram muito certo. Sempre procure uma saída viável ao problema antes de negar a se resolver. Caso necessário, peça ajuda a comunidade, se capacite, busque a melhor forma de resolver aquilo. 

## 4. Não tolere "pequenos erros"

No livro é usado um exemplo de uma janela quebrada em um prédio que não é tratada como algo demais até que os moradores começam a espalhar lixo, ou quebrar outras janelas. O exemplo de deixar pontas soltas no código, como código morto, gambiarras mal executadas, lógicas falíveis. Trate sempre o pequeno sintoma para que ele não vire um sintoma gigantesco. 

## 5. Seja um catalisador de mudanças

Se o projeto está uma zona, porque não tentar melhorá-lo? ser o dev que se sujeita a dar dicas de como pode melhorar tal funcionalidade, ser proativo para corrigir uma "janela quebrada", trazer uma cultura de mudança para o time. Não é todo o projeto que já nasce estruturado e cresce estruturado. Alguns projetos são apenas mantidos pelo seu valor de retorno, outros tentam adaptar-se a novas tecnologias ou necessidade. Antes de sair condenando códigos de anos de desenvolvimento, tente melhorar o que existe e traga isso presente no seu desenvolvimento. 

## 6. Lembre-se do cenário em larga escala 

Em contraponto da mudança, não é legal tentar impor a mudança. Tente modificar aos poucos para que no final não seja mais maléfico do que benéfico. O bom programador pensa sempre no futuro e de como aquele projeto pode vir a crescer, mesmo que ele não seja projetado para isso, e pequenas mudanças podem criar um caos nesses casos.

No livro se utiliza uma frase interessante para ilustrar o que pode vir a acontecer _buscando o melhor, geralmente prejudicamos o que é bom._ , ilustra bem aqueles casos de devs que forçam uma mudança em algo que está satisfatório no momento por querer chegar a um patamar de perfeição que não virar a existir e acabam comprometendo semanas de desenvolvimento do produto. 

## 7. Torne a qualidade parte dos requisitos

Como saber quando o desenvolvimento está satisfatório? uma métrica é a qualidade. Mas como medir a qualidade? isso é um ponto estratégico do desenvolvimento, existem tipos de qualidade, a qualidade de uso de produto que é normalmente notada pelo usuário e a qualidade de desenvolvimento, que é notada pelo desenvolvedor. Sua equipe e você tem que entrar em consenso sobre como irão trabalhar com isso. Nem sempre o desenvolvimento tem muita qualidade mas o produto é incrível para o usuário, classificar que o produto é ruim pela sua qualidade de desenvolvimento não rola. Vai ser uma boa discussão entre seus colegas. 

## 8. Invista regularmente nos seus "conhecimentos"

O livro utiliza o exemplo de um investimento financeiro. Um bom investidor diversifica seus investimentos, faz a manutenção da carteira gerenciando os riscos, investindo regularmente e se for o caso reestruturando seus fundos. O investimento do desenvolvedor é em conhecimentos. 

Para se investir em conhecimento, há algumas dicas: 

### Aprenda pelo menos uma nova linguagem todos os anos

Mesmo que não utilize para nada no seu projeto ou trabalho atual, aprender uma linguagem nova todo ano é bom para se manter atento ao desenvolvimento atual e ter novas chances de trabalho em caso de demissão. Além de que programar com paradigmas e linguagens diferentes ajuda no seu raciocínio como desenvolvedor de métodos de fazer algo de maneira não convencional (gambiarras) 

### Leia um livro técnico a cada trimestre

Livros da área são investimentos a longo prazo e trazem ensinamentos de outros desenvolvedores com maior carga de experiência que você. 

### Leia livros não técnicos

Ter uma boa capacidade de interpretação de texto ajuda no dia-a-dia do desenvolvedor. Sendo por saber interpretar uma task ou saber ler uma documentação, leitura sempre é uma skill importante em qualquer área, além de ser bem legal. 

### Tenha aulas

Outra maneira de receber informações, cursos curtos com uma boa didática e que tenha professores legais te ajudam bastante a digerir melhor conteúdos. 

### Participe de grupos

Trocar experiência com outros desenvolvedores, mais seniores ou menos seniores é sempre bom para a sua carreira. Converse, dê dicas, passe ensinamentos, participe da **comunidade dev**, sendo legal e sem fazer fuzuê, aprenda a trocar xp de uma maneira divertida. 

### Experimente ambientes diferentes

A dica é sobre tecnologia, mas também pode ser sobre geografia (vá viajar) . Variar ambiente de desenvolvimento vai te dar experiência de trabalhar com a mesma tecnologia com algumas diferenças. Não se importe em sofrer um pouquinho, varie sempre o Sistema operacional, a IDE, o método de versionamento da stack. Varie. 

### Mantenha-se informado

Saiba o que tá rolando dentro e fora da sua bolha. Procure sempre se manter atualizado sobre o que pode afetar tecnologias ou mercado, sobre quais novidades tal linguagem vai trazer na atualização, veja aquele evento de horas e horas que a big tech realiza pra trazer as novidades (que normalmente o público só vai saber quando der alguma merda), seja ativo na busca de informações. 

São dicas simples de aprendizado que ajudam bastante nesse "investimento de conhecimento".

## 9. Analise criticamente o que você lê e ouve

Dentro desse investimento de conhecimento que foi o ponto anterior, há o risco de ao buscar o conhecimento, você acabe entrando em várias groselhas de informação que não agregam em nada. Pense um pouco, não saia aplicando tudo o que leu ou ouviu de um livro (alô clean code!). Tenha a criticidade de manter o que for bom para o seu momento de desenvolvimento e descarte o que for baboseira (inclusive esse texto aqui). 

## 10. é o que você diz e a maneira como diz 

Aprenda a se comunicar de forma clara e sem a necessidade de interpretes. Aprenda a passar informações e a escutá-las, não deixe de dar opinião mas aprenda a como dar essas opiniões de maneira a não ofender a pessoa com quem está debatendo algo. Desenvolver software ainda é um trabalho realizado por pessoas e para pessoas. Não seja um idiota. 

## Desafios

Além das dicas, há alguns desafios ao final de cada seção do livro. EU me comprometi de fazer 3 desafios, para tentar melhorar ou pelo menos ter a experiência. Vou deixar abaixo os desafios escolhidos:


- Ajude a fortalecer a sua equipe examinando o código de seu ambiente de computação. Selecione duas ou três "janelas quebradas" e discuta com seus colegas quais são os problemas e o que poderia ser feito para resolvê-los. 

- Comece a aprender uma nova linguagem nesta semana [...] 


---
Sem dúvidas O programador pragmático é o melhor livro de conselhos de carreira para todos os desenvolvedores. Pena que em alguns campos esteja bem atrasado. Nada que uma interpretação de realidade não resolva.

> [8/100] Dias de Código