Evolua sua carreira na programação – Parte 3/3

0

Nos dois artigos anteriores, falei sobre sete da dez habilidades-chaves para você se tornar o programador eficaz. Isso não é algo que falo da boca para fora.

Aprendi todas essas práticas na vida real. Elas me ajudaram – e ainda me ajudam – a ter mais liberdade e autonomia para construir minha jornada da forma que eu desejo.

Elas não são um conjunto de regras, mas sim uma nova visão sobre desenvolver software, um mindset focado em gerar valor e resolver problemas de verdade.

Por isso, compartilho aqui para que você também possa se beneficiar desses aprendizados.

No primeiro artigo da série, falei sobre a importância de programar apoio em testes (1), de ter ciclos curtos de feedback (2) e de planejar de trás para frente – com foco sempre no objetivo final (3).

No segundo texto, mostrei como eu faço para eliminar os delays (4), reduzir o custo de setup (5), usar um único codebase para as várias instâncias (6) e criar experimentos para validar minha estratégia (7).

Neste artigo, vou falar sobre as últimas três habilidades-chaves que vão te ajudar a programar com propósito e a criar soluções úteis para as outras pessoas.

8) Tenha autonomia sobre o fluxo de trabalho

Historicamente, a gente veio do terminal na programação. E ele é uma coisa um pouco obscura. É um cursor piscando na tela e esperando você dizer o que vai acontecer. E você tem de fazer isso da forma certa.

A partir das décadas de 80 e 90, esse cenário mudou. Surgiram as interfaces gráficas, que já são mais pré-moldadas. Isso fez com que muita gente deixasse de entender o que acontece debaixo dos panos.

E entender essa linha de comando é muito importante, porque ela te permite criar qualquer fluxo de trabalho necessário sem ficar preso a determinada ferramenta. Isso é ótimo, porque se ela não faz o que você precisa, você não fica preso nesse modelo.

Tem gente que, se precisa mudar o workflow da ferramenta, fica perdido e o projeto vira um Deus-nos-acuda. Por isso, eu defendo que a linha de comando é a interface de usuário mais flexível que existe. Quando eu tenho uma janela com botões, eles são pré-definidos, são limitados e ocupam espaço.

Já a linha de comando aceita qualquer combinação de caracteres válidos.

Isso vai exigir que você compreenda melhor como as coisas funcionam, mas não é um bicho de sete cabeças.

E quando você domina a linha de comando, seu processo de trabalho fica muito mais rápido e adaptável. Isso vai deixar seu olhar mais sensível para diferentes oportunidades de automação.

Isso faz uma diferença muito grande quando falamos de eliminação de repetições no dia a dia do trabalho.

9) Leia o código

Essa é uma regra canônica.

A maioria das ferramentas hoje são open source, mas as pessoas não leem o código-fonte. Elas têm medo. Querem a resposta curta – quando, na verdade, o processo adequado é:

1) Aprender o que tem que ser feito;
2) Aprender como você pode fazer o que tem que ser feito;
3) Aprender como as partes do seu sistema podem te ajudar a resolver mais fácil o seu desafio.

Por isso é tão importante ler o código. Por exemplo, você não pode simplesmente usar o Django. Você tem que entender como ele funciona por dentro. Só que as pessoas vivem numa correria tão grande, que elas não fazem isso.

Nesse sentido, é importante perder esse medo e compreender o processo como um todo. Isso te empodera e aumenta a gama de caminhos possíveis – o que amplia sua autonomia.

10) Saiba apreciar o erro

Isso é clássico. O cara roda o programa para ver se está funcionando, um erro aparece. O que ele faz? Ele lê o erro? Não. Ele volta pro código para tentar entender o que aconteceu.

Só que é no erro que estão as informações. É por isso que precisamos aprender a apreciar o erro. Você lê a mensagem de erro e tá tudo lá.

O contexto está lá. É dali que você vai tirar sua solução.

Outro ponto é que, quando adota essa postura, você compreende que um erro novo é sinal de progresso. As pessoas não têm essa visão. Elas querem acertar de primeira. Querem criar, da própria cabeça, a solução perfeita.

Nesse processo, o esforço cognitivo é animal e a pessoa fica cansada e estressada. Com isso, ela perde o foco, porque tá fazendo um malabarismo intelectual sem necessidade.

Então, o que eu gosto de fazer é criar tudo de forma concreta, para diminuir a pressão cognitiva e ter foco elevado naquilo que eu estou fazendo.

Lidar com erros que te trazem ensinamentos estratégicos vai te ajudar a ajustar a rota para entregar algo que de fato tenha valor.

Você quer se libertar o círculo vicioso do mercado de TI?

Já perdi as contas de quantos programadores já vieram me dizer que estão desanimados com a carreira e que não enxergam perspectivas de melhora no mercado de TI.

Infelizmente, é cada vez mais comum encontrar pessoas que tinham o maior tesão em desenvolver softwares e que foram sendo moídas aos poucos por modelos de trabalho que focam mais na execução de demandas do que na solução de problemas.

A boa notícia é que esse não é um beco sem saída. Existe um caminho alternativo que te permite trabalhar com mais felicidade para criar códigos que realmente fazem sentido. É isso que veremos no Welcome to the Django.

As matrículas para o curso já estão rolando e as aulas já começam na segunda-feira dia 20 de maio de 2019.

Quando você enxerga o que está além da programação, consegue transformar sua realidade e reprogramar sua vida para construir seu próprio caminho.

Te espero na sala de aula…
Grande Abraço, HB!


Confira todos os artigos desta série:

você pode gostar também