Quando comecei a programar, uma das coisas que meu irmão, de quem herdei a profissão, dizia e que guardo na memória era: “Nossa primeira função é humanizar a máquina; a segunda, é não permitir que a máquina desumanize o homem”. Há outra frase dele que também gosto, acho cômica, mas que tem um fundo de verdade: "nosso trabalho consiste em resolver problemas que antes não existiam".
Quando entrei na área, minhas opções de linguagem eram limitadas: COBOL ou… COBOL. Um contraste com o cenário atual, que, embora favorável para profissionais experientes, pode se tornar um verdadeiro labirinto para iniciantes. Por isso, neste artigo, quero ajudar a iluminar o caminho de quem está começando na programação, dentro do contexto em que atuo.
Por Onde Começar?
Tudo depende da área que você pretende atuar. Acredito que o caminho mais óbvio seria um curso superior. Embora eu tenha visto alguns programadores dizerem no YouTube que não é necessário, isso é o que tem funcionado para a grande maioria. Na faculdade, você vai entender os conceitos básicos da programação: lógica, controles de fluxo, banco de dados, algoritmos, orientação a objetos, etc. Eu não segui por essa linha e, certa vez, precisei procurar emprego, e o certificado de graduação me fez falta. Como falei, você vai aprender o básico, pois a pressão é grande e o tempo curto. Todavia, terá uma visão mais ampla do mercado e saberá onde se encaixa melhor. Mas, se quiser aprender de fato no ambiente acadêmico, terá que partir para uma pós-graduação, mestrado, doutorado, etc. A menos que queira se tornar um cientista — o que é bem legal também —, faça a graduação e comece a explorar por conta própria. Ciente de que dificilmente você chegará a um salário compatível com o de alguém que passou pelas iniciações do caminho cartesiano. Se você é jovem, gosta de estudar e pretende lecionar no futuro de repente seja uma boa opção.
Outro caminho seriam os cursos online. No Brasil, existem escolas voltadas a programadores de renome, nas quais você aprenderá do básico ao avançado, além de construir uma rede enriquecedora de relacionamentos. Os preços não são tão acessíveis, mas creio que saem mais em conta do que cursos de graduação. Se você tem paciência para passar horas, dias, semanas, meses, assistindo vídeos — o que não é o meu caso —, é uma boa opção! Há também os cursos aleatórios mais em conta, porém serão de pouca valia se você comprar um monte e assisti-los pela metade. Mas lembre-se: a maioria das vagas para programadores exige formação acadêmica. Pelo menos era assim quando precisei. Certamente, se você puder unir a graduação com cursos online teria o melhor dos dois mundos.
Um terceiro caminho, mais árduo, porém gratificante, é aprender por conta própria. Você precisa gostar de ler. Se é o seu caso, a documentação, no meu entendimento, sempre foi o melhor ponto de partida. Cada um tem sua maneira específica de aprender; para mim, o que funciona bem é a leitura seguida da prática. Sempre começo projetos desafiadores quando estou estudando algo novo, e a maioria acabo deixando de lado depois que interiorizo o conteúdo. O projeto faz surgir desafios — problemas que não existiam. É legal você estar por dentro do que estão falando sobre a ferramenta. Uma vez que você se decidiu por ela, procure ler a respeito. Hoje, com as IAs, isso se tornou uma tarefa deliciosa.
Qual Linguagem Escolher?
O leque é amplo, mas algumas linguagens se destacam mais em determinadas áreas.
A porta de entrada para a web foi, por muito tempo, e talvez ainda seja para muita gente, o PHP. Às vezes, imagino que todos os sites do mundo foram feitos no WordPress — nunca sei se isso um é sonho ou realidade. O PHP no tempo que iniciei na programação web era o carro-chefe; ele é uma ótima linguagem, mas acho meio verboso para quem está começando. Entretanto, se seu objetivo é apenas criar em cima de um CMS (Content Management System), ele ainda continua sendo uma boa opção de entrada. Acredito que uma das melhores. Tem CMS para tudo. Basta aprender HTML, CSS e um pouquinho de JavaScript enquanto você dá algumas pinceladas no PHP. Se pegar gosto por ele, depois que tiver uma base sólida pode se aventurar pelos frameworks da linguagem, tais como, Laravel, Symfony, etc. Só não me peça ajuda para subir isso para produção. Alguns frameworks PHP são burocráticos quando o assunto é infra. Todavia há serviços de hospedagem que facilitam as coisas para você.
Já que você vai aprender HTML e CSS, aprenda do jeito certo. Estamos na era do HTML5; não há mais a necessidade de fechar tags com “/>”. Aprenda a usar as tags <header>, <main>, <section>, <nav>, <footer>, <article>, etc. Não crie um emaranhado de DIVs, pois isso atrapalha o ranqueamento do seu site. Aprenda flexbox, sistema de grids e outras formas de medidas além do pixel no CSS, algumas delas são ótimas para o desenvolvimento de sistemas responsivos. De repente, vale a pena investir uns trinta reais em um curso e aprender direitinho.
Depois da popularização das ferramentas de frontend — digo, React —, eu via muita gente começando com o Node nos grupos que participava. Elas atacavam tanto no back quanto no front — daí nasceu essa leva de fullstacks que temos hoje. Obviamente eles já tinham uma boa base de programação. Portanto, o JavaScript pode ser um bom ponto de partida se você já tiver uma base sólida. Mas tenha em mente que ele não é desse mundo; foi deixado por ETs na Terra. Brincadeiras a parte, Javascript apesar de ser uma linguagem com algumas particularidades, não é difícil de aprender e o Node tem um ecossistema colossal.
O framework web mais incrível que conheço, em termos de produtividade, é o Django. Ele é o Framework! O Python também é uma linguagem razoavelmente simples, além de cobrir uma ampla gama de cenários além da web. De repente, seria uma ótima alternativa ao PHP e JavaScript. Sem contar que você vai se habituar a fazer as coisas do jeito fácil e, quando menos esperar, estará brincando com mineração de dados. O Python é uma das linguagens mais abrangentes que temos atualmente; você vai de aplicações desktop a aprendizado de máquina com ela.
Ruby é uma linguagem linda, entretanto o Rails, seu framework mais popular, pode ser um tanto quanto enigmático para quem está começando. E para quem já começou também.
Para aplicações comerciais — aplicações grandes, com bancos de dados gigantes e recheadas de regras de negócio —, o Java, acredito, ainda é uma das melhores alternativas, embora outras linguagens estejam se destacando nesse cenário atualmente.
Se sua intenção é trabalhar no back-end, é essencial aprender bem a lidar com bancos de dados. Você pode fazer cursos e tal, mas acredito que só a prática vai te capacitar bem para o mercado. Portanto, nesse sentido, pratique o máximo que puder. Na vida real os SQLs são enormes; geralmente, dependendo do banco de dados, você precisará juntar informações de uma dúzia de tabelas para gerar relatórios, arquivos ou criar views.
Tenho grande apreço por aplicações desktop — deve ser nostalgia da minha infância de programador. Creio que o C# domine esse mercado, mas continuo dando preferência ao Java em meus projetos e tenho uma queda pelo PySide, embora não tenha nada em produção com ele. Existem tecnologias modernas promissoras para esse mercado, como Flutter, Electron, etc. São tecnologias relativamente novas e estão amadurecendo a medida que os anos passam. Ainda não uso nenhuma delas.
Eu não poderia deixar de falar das ferramentas No Code e Low Code. Se seu objetivo não é se tornar um programador de carreira, mas apenas transformar suas ideias em realidade a um custo relativamente baixo, talvez o caminho menos tortuoso para isso sejam ferramentas como Webflow, Bubble, OutSystems, dentre outras. Pesquise, existem muitas e a maioria tem planos gratuitos para você conhecer a ferramenta.
Conclusão
A jornada para se tornar um programador é repleta de escolhas, desafios e aprendizados constantes. Seja por meio de uma graduação, cursos online ou estudo autodidata, o importante é encontrar o caminho que melhor se adapta ao seu perfil e objetivos. A escolha da linguagem de programação também é crucial e deve ser feita com base na área de atuação desejada e nas tendências do mercado. Linguagens como Python, JavaScript e Java continuam sendo opções sólidas, enquanto ferramentas No Code e Low Code abrem portas para quem busca soluções rápidas e eficientes sem se aprofundar muito na programação tradicional.
No fim das contas, a programação é uma arte que exige criatividade, resiliência e, acima de tudo, muito amor. Como meu irmão dizia, nossa missão é garantir que a máquina sirva ao homem, e não o contrário. Portanto, independentemente do caminho que escolher, lembre-se de que a tecnologia é uma ferramenta poderosa, e cabe a nós, programadores, usá-la de forma ética e responsável para construir um futuro mais humano e inclusivo.