"É pra ontem!" "Preciso que o sistema seja publicado agora!" "É urgente" "Rápido, tem um caminhão parado esperando o relatório!"

Infelizmente, essas frases são bem conhecidas na área de T.I.. Estamos em uma rotina muitas vezes desgastante e corrida porque todo mundo quer tudo com urgência (e cada vez mais). Há um certo apelo para que a gente esteja o tempo todo desenvolvendo e entregando, independente do que mais fazemos da vida. Daí vem aquela ideia de que "programadores não têm vida social, mesmo". Bom, isso é um mito! Você precisa descansar, você precisa relaxar, você precisa de um tempo para a cabeça.

Mas esse é só o primeiro aspecto da pressa que eu quero tratar hoje: a pressa da entrega, que vêm da chefia ou dos clientes/usuários e isso é algo que sempre atrapalha na estipulação de prazos. Já ouviu dizer que programadores nunca conseguem cumprir prazos? Será que quem faz os prazos sabe realmente o que vai ser feito para que o programa funcione?

Anotem o que eu digo: O maior fator gerador de gambiarras é o prazo apertado. Quando você tem prazos absurdos, você tem que dar um jeito de colocar a solução no ar o mais rápido possível. Então, as gambiarras surgem para que vá logo pro ar e "logo eu resolvo direito, quando tiver mais tempo". Spoiler: você não vai ter "mais tempo" 😀

Mas aí você pode se perguntar: "Quer dizer que não existe desenvolvimento rápido sem gambiarras?" Não. Mas seu aprendi nesses anos uma frase que até mereceu virar estampa de canecas e camisetas:

Bom, rápido e barato. Escolha dois.

Você quer que seja bom e rápido? Não vai ser barato. Vamos precisar alocar mais gente, pagar horas extras, comprar soluções, etc.

Quer que seja bom e barato? Tudo bem, mas não vai ser rápido. Não temos como alocar mais gente ou abrir mão de outros projetos…

Quer que seja rápido e barato? Mais fácil ainda, porque não vai ter como manter a qualidade. Aí entra o XGH (que pode até virar tema de um futuro post).

Mas e o segundo aspecto da pressa?

Esse eu até diria que é pior, porque é a pressa de quem está aprendendo.

Para tudo que a gente aprende existe um caminho, ninguém aprende a programar sem passar uns perrengues com os códigos. Mas estamos vivendo um tempo tão imediatista que as pessoas querem chegar ao final antes de passar pelo processo.

No meu contato com iniciantes através do Vida de Programador ou mesmo nas faculdades onde dou aula, vejo muito a pressa em "desenvolver apps", "desenvolver jogos", "ganhar dinheiro com apps", antes mesmo de aprender direito a lógica de programação ou o que é um compilador.

Comecei a desenhar tirinhas de programação há quase 8 anos. Naquela época era comum iniciantes entrarem em contato pedindo tutoriais e livros para aprender uma determinada linguagem, mas isso foi diminuindo, migrando para vídeos (e curtos, de preferência). Uma vez recebi a seguinte mensagem: "Você tem algum vídeo de Java bom para recomendar? Porque eu já assisti um vídeo e ainda não entendi!" Dica: Não espere entender Java com apenas um vídeo.

Tem problema em estudar por vídeo? De forma alguma! Eu mesmo sou professor em graduações de T.I. à distância. Mas a gente só aprende programação com a mão na massa e eu sempre digo isso aos meus alunos. Enquanto você não fizer e você não errar (o que sempre acontece), você não vai assimilar. Quando a gente vê alguém programar, tudo parece muito óbvio e simples, mas quando a gente é forçado a escrever é que descobrimos o que ainda não sabemos.

Então, se você é iniciante na área, vá com calma. Aprenda o máximo que puder e saiba que a prática vai formando cada vez mais o conhecimento.

E, para aproveitar a ideia de que a pressa nos leva a gambiarras, tenho um vídeo bacana sobre elas:

Não tenha pressa! Faça um café, relaxe, porque o seu cérebro é o bem mais importante no desenvolvimento e ele não pode funcionar em overclock o tempo todo 😀