Não se meta com programação se...
Fala, pessoal! Tudo beleza com vocês? Espero que sim!
Antes de mais nada, antes de começar esse primeiro artigo no TabNews, gostaria de dizer e apenas vou dizer essa vez pra não ficar repetitivo, que é uma honra fazer parte desse projeto tão importante e tão promissor. Eu não tenho sombra de dúvida que o nosso nome, os primeiros, os pioneiros, serão eternizados daqui pra frente na história da TI brasileira. Seremos conhecidos, famosinhos, por termos começado esse bagulho aqui. Obrigado Deschamps Télo BackStreetBoy por se dedicar tanto à comunidade da programação e a se importar tanto com os seus inscritos.
Pois muito bem. Eu não sou aquele tipo de pessoa que abre a boca pra falar: "Ah, programação não é pra mim, eu não consigo aprender!", "Culinária não é pra mim, eu não tenho o dom!", "Gostaria muito de ser um pianista, mas eu não tenho aptidão!" Gente, eu simplesmente não acredito em tais máximas. Não acredito muito nessa coisa de dom. O que eu acredito é que ou você gosta do que pretende aprender ou não. Deixa eu ser mais claro.
Vou dar um exemplo: cuidador de idosos. Eu não seria um, porque não é uma área que eu me animo. Acho um trabalho muito penoso, que exige muita paciência com o ser humano, muita doação e autruismo, uma alma nobre em um grau extremo, coisa que eu ainda não cheguei nesse nível, embora eu me considere uma pessoa muito empática, misericordiosa e prestativa. Resumindo, eu não gosto dessa área, portanto, não aprenderia a ser um cuidador de idosos de forma eficiente.
Outro exemplo é químico. Química é uma matéria muito abstrata, me parece sem utilidade prática, portanto eu não consigo gostar daquilo. Em suma, não me identifico e não "tenho o dom", não conseguiria aprender.
Mas agora vamos entrar no assunto de programação propriamente dito. Não se meta com programação se você não estiver disposto a pagar o preço. E esse preço é alto! Não é só questão de gostar, de amar programação. Programação não é uma matéria linear, que você segue ela em linha reta, do começo ao fim, e no final alcança o status de programador. Descobri isso "bem tarde" da minha vida, se é que eu posso classificar assim.
Se você estuda pra um concurso público, por exemplo, existe uma linearidade nos seus estudos. Dificilmente os seus estudos serão desviados para a esquerda ou para a direita. Direito constitucional é só um e pronto! Estuda aquilo tudo lá e você vai obter êxito na sua prova. A mesma coisa é com português, raciocínio lógico, matemática financeira, administração, etc. tudo coisa objetiva e linear. De uma certa forma é "mole" de estudar. Outra coisa que se deve levar em consideração é que existem verdadeiros batalhões de cursinhos e exércitos de professores disputando a sua atenção e o seu dinheiro, a preços cada vez mais módicos.
Programação não é assim. Programação não é linear e eu posso provar.
Primeiro de tudo, quando você é iniciante e se propõe a fazer o seu primeiro projeto, você vai atrás de pesquisar quais são as tecnologias e linguagens de programação que poderiam te ajudar a concretizar o que você tem em mente. E é daí que começa a TORTURA!
Quando você escolhe estudar e programar em JavaScript, HTML, CSS e usar um SGBD como o PostGreSQL, coisas que você elegeu baseados na sua pesquisa, você vai lá e coloca a mão na massa. O projeto começa a sair, coisas, embora pequenas, começam a brotar e você fica feliz. Mas aí as dúvidas e os bugs começam a surgir. Você procura aquele bando de amigos que você tem e que são juniores, seniores e pleniores e também foruns e grupos pra tirar dúvidas e resolver bugs. Aí, depois que você já passou um mês debruçado naquele projeto e, na sua visão, já está bastante "longe" na sua caminhada (pelo menos é o que você pensa), vem aquele teu amigo e te fala: "Cara, não faz isso em JS puro! Usa o framework XYZ! Isso aí que você tá fazendo é doidice! Usar JS puro, ninguém faz isso! Se estivesse usando XYZ já estaria na metade do caminho!" Você fica resistente àquele conselho, não quer começar tudo do zero, de certa forma fica até com raiva do teu amigo que nem quis te ajudar porquê não vai querer se meter em um projeto que não usa a tecnologia que ele domina. Aí você se vê numa situação que é obrigado a migrar a sua aplicação pra aquele framework, até pra não correr o risco de ficar sem suporte. E tome mais estudos! E tome mais dor de aprendizado! Eu particularmente odeio ter que precisar estudar pra programar. Gostaria de ter uma varinha mágica que me permitisse aprender num piscar de olhos, só pra aplicar aquilo imediatamente.
O tempo passa (mas não muito) e você se depara com mais um bug. Teus trabalhos travam. Você procura a resposta no Google, mas por mais que você procure, não consegue encontrar, e se encontra, não enxerga. Você reluta em ter que incomodar os outros, mas depois de três, quatro, dez dias pesquisando sem sucesso, você já está emputecido e acaba indo falar com os amigos. Fala com fulano e ele diz que não pode atendê-lo, está ocupado. Fala com sicrano e ele só vai ver a sua mensagem dois dias depois pra te dizer que não sabe como te ajudar. Fala com beltrano, mas ele mora na Europa e o fuso horário dele é diferente em 6 horas do seu e por conta de disso e dos afazeres da vida de ambos, as trocas de mensagens podem durar dias! E aí você fala com outro amigo que, por Deus, pode conversar com você naquela hora, mas o que ele te fala é: "Cara, tu tá fazendo isso no framework XYZ porquê? Não sabia que isso aí tá desafasado, que é cheio de bug, que o mercado nem quer isso? Eu nem mexo com isso! Cara, é muito melhor fazer usando a ferramenta XPTO-2, que vai te economizar mó tempão e dor de cabeça! Vai por mim!"
O pior é que o cara ainda consegue te fazer mudar a porcaria do código de novo, (e tome mais estudos e dias ou semanas de trabalho) não pelo poder de persuasão em si, mas pela lógica dos argumentos. Volta de novo pra velha prancheta.
Tudo que eu falei aqui, todos esses perrengues, os ciclos se repetem em loop infinito. Tem sempre uma tecnologia melhor, tem sempre um bug pra te parar por dias, semanas, tem sempre gente ocupada demais pra ajudar (é óbvio que ninguém tem a obrigação de ajudar ninguém, né? Mas não deixa de ser broxante pra quem tá aprendendo) e muitas vezes tem até gente que critica a sua maneira de estudar. Eu, por exemplo, sou daqueles que gostam de estudar TUDO pra depois colocar a mão na massa. E não há nada de mais nisso. Mas a galera, quando ajuda, falo dos meus amigos pessoais, sempre dá uma alfinetada, dizendo que isso é contraproducente, que é pecado, que é errado, que tem que ir estudando e programando simultaneamente, etc. Mas cada um é cada um. Tem gente que faz de um jeito e tem gente que faz do outro. Deixa eu enumerar aqui, pra ficar mais claro, os perrengues que eu passo e que me desestimulam:
- Insistentes sugestões de troca de tecnologia quando você pede ajuda aos amigos. É preciso muita paciência pra não desistir por conta disso. Quando você pensa que tá abafando, quando você tá se achando, surge aquela tabela dinâmica que você tem que implementar e que o seu amigo te fala que em JS puro você terá o trabalho que o cão não teve, mas que em React isso é feito quase que num passe de mágica. Aí você resolve estudar React, coisa que você até tinha em mente, mas não tão cedo, pra não acumular estudos demais, pra ver a coisa andar rápido. Você finalmente aprende o raio do React, até implementa a tal tabela, mas depois descobre que terá que refazer todo o código do resto do projeto, não só a tabela, pra deixar tudo em React, porquê o React não suporta (pelo menos em teoria) um fragmento do projeto usando uma tecnologia e o resto em outra (JS puro).
- Falta de suporte, de gente mesmo que tenha tempo, conhecimento, disposição, boa vontade de ajudar. Geralmente a comunidade adora ajudar, mas o tempo da galera é escasso. E quem pergunta precisa entender isso. Postar em fóruns, eu particularmente tenho meus traumas. Sou de uma época em que a galera falava "procura na porr4 do AltaVista", o Google da minha época (anos 90). Naquela época o conhecimento não era difundido simpaticamente como hoje, e gritavam como se a gente não tivesse se dado o trabalho de procurar. Hoje a galera não fala mais nada assim, nesse tom, mas às vezes as pessoas dão a entender que gostariam muito de falar isso. Cursos ainda são caros, muitas vezes inacessíveis e mesmo pagando caro, em certos casos você não recebe a atenção necessária pra avançar rapidamente.
- Tecnologias mil pra escolher. Nem sempre você faz a escolha certa. Nem sempre a tecnologia mais top das galáxias, aquela que todo mundo tá comentando, seria a melhor escolha pro seu projeto. Seja pela sua natureza desatualizada, seja pelo suporte inexistente no seu ciclo de amigos, seja pelo valor monetário que você teria que desembolsar pra aprender ou até mesmo pra comprar licenças, seja até mesmo porquê você não foi com a cara da sintaxe da coisa, dentre outros motivos.
- E quando você estuda tudo, faz o código bem bonitinho, você tem certeza que programou tudo certinho, coisa mais fofa do mundo e a aplicação não se comporta do jeito esperado? Aí você se sente um b0st4. Depois de muita pesquisa você descobre que o Mario (Nintendo) tinha que dar um salto, pra dar um soco para o ar numa posição bem improvável na fase, pra bater e desvendar aquele bloco, que vai fazer subir um pé de feijão, que vai te levar pra a saída! Pois é. Aquele teu amigo, depois de muito tempo ocupado, consegue te ajudar e te informa que aquele seu conhecimento sobre a tecnologia que você estudou e está usando, que foi até aprendido em boa documentação, não seria o suficiente pra te tirar daquele sufoco e que precisaria de uma ou duas linhas de código completamente apócrifas.
- E por último, mas não somente isso (pra não prolongar demais o artigo), experimenta pedir ajuda a galera num grupo de Telegram ou WhatsApp! O sicrano vai falar que a melhor tecnologia é a dele, o beltrano, por sua vez, fala que a melhor opção é usar a sua solução, o fulano vem no seu privado e fala pra não dar ouvidos a nenhum dos dois, que a melhor opção é usar a tecnologia ABC-8. Enquanto isso você fica num fogo cruzado, sem saber em quem acreditar, sem lenço e sem documento.
Meus amigos, não se metam com programação se vocês não estiverem dispostos a pagar o preço. E o preço é alto! Gostar da coisa é só um pré-requisito pra ser programador. Eu mesmo decidi que a programação na minha vida será uma coisa secundária, não será a minha principal fonte de renda. Já desisti dessa ideia aos 45 anos. Adoro programação, mas ainda não me encontrei nela. E eu tenho certeza que tudo o que eu falei aqui é motivo de muita gente desistir e recomeçar várias vezes. Eu mesmo tento programar desde 1998, pasmem! Claro que dando longas pausas e recomeços com a linguagem do momento, ou seja, sempre do zero. Mas graças a Deus tenho meu emprego que paga as minhas contas e que não me deixa passar fome enquanto luto no campo do desenvolvimento de software, que hoje eu encaro como um hobbie. Falo inglês fluentemente e não fui morar fora ainda, um sonho antigo, porquê ainda não encontrei o caminho da programação. Mesmo com tudo isso jamais abrirei a minha boca pra dizer: "programação não é pra mim".
Espero que este meu primeiro artigo seja útil para alguém, que inspire, dê uma ideia, que faça alguém refletir. O meu objetivo não é desmotivar ninguém, pelo contrário, é apresentar uma opinião para que as pessoas parem e pensem se querem mesmo isso pra suas vidas, pra que não percam tempo valioso onde poderiam estar fazendo outras coisas que poderiam também lhes deixar realizadas.
Obrigado pela leitura até aqui. Pretendo continuar contribuindo da forma que eu puder.