5 passos para aprender a programar

Está começando agora a sua carreira como programador? Ou então nem começou mas precisa de um “empurrãozinho” para dar o ponto de partida? Então da uma olhada nessas dicas que farão toda a diferença para você trilhar a sua jornada!

1 – Escolha uma linguagem de programação.

Em diversos grupos, redes sociais ou em qualquer tipo de comunidade de estudantes/programadores uma das maiores dúvidas de qualquer pessoa que está começando é:

“Qual linguagem de programação devo começar?”.

Para esse tipo de pergunta, é bem comum obtermos diversas respostas, como por exemplo, C, Java, C#, C++, Ruby, Python, PHP, JavaScript entre diversas linguagens que temos atualmente.

Entretanto, quando estamos começando, a linguagem em si não importa, pois a lógica é a mesma para todas as linguagens!

Nesse exato momento, você pode estar se perguntando:

“Se a lógica é a mesma para todas, pouco importa qual linguagem eu devo utilizar?”.

Teoricamente sim, porém, na prática, recomendo fortemente que escolha uma linguagem que tenha menos barreiras na curva de aprendizagem.

Em outras palavras, linguagens como por exemplo o JavaScript, que pode ser escrito em qualquer editor de texto e executado em qualquer navegador (até mesmo o IE em versões não tão antigas), é uma ótima escolha, pelos seguintes motivos:

  • Não precisa instalar uma ferramenta específica para codificar.
  • É uma linguagem de fácil aprendizagem.

Não à toa o nosso curso de lógica de programação, que foi totalmente regravado e melhorado esse mês, utiliza JavaScript.

2 – Práticar gera mais resultados do que teoria

Além da linguagem, um dos pontos principais quando estamos aprendendo é justamente a prática. Mas como assim a prática?

Até hoje não conheci nenhum programador que só aprendeu na teoria!

É isso mesmo, colocar a mão na massa, tentativa e erro, praticar diversas vezes até compreender um conceito ou algo novo que viu, faz parte do dia-a-dia de qualquer programador.

Portanto, tudo que você escutar, ler ou assistir, coloque em prática! Pois quanto mais praticamos, mais compreendemos.

Por exemplo, já tiveram diversas vezes que eu só fui entender o que realmente o meu código estava fazendo na quinta vez que o implementei!

E confesso que foi a partir dessa sensação de “domínio do que estava fazendo” que eu comecei a me apaixonar por programação.

3 – A lógica de programação em primeiro lugar

Uma das dicas mais importantes (se brincar a mais importante de todas) para qualquer iniciante é procurar aprender, antes de tudo, a lógica de programação.

Mas por que a lógica de programação? Por que não Orientação a Objetos, ou programação funcional, ou estrutura de dados ou qualquer outro tópico da programação?

É justamente porque todos os outros tópicos que envolve programação são baseados na lógica de programação!

Em outras palavras, a lógica de programação são os ingredientes do bolo, ou seja, programar sem lógica de programação é a mesma coisa que tentar fazer um bolo sem ingredientes.

Com toda certeza esse bolo não vai sair como o esperado! 😉

4 – Procure um amigo para estudar

Além dos passos mencionados, uma das melhores escolhas que você vai fazer na sua vida é procurar um amigo para estudar junto com você! Então você pode pensar:

“Mas eu não consigo aprender sozinho?”

Sim, você consegue, porém, ter uma pessoa próxima para que você consiga exibir suas ideias, discutir implementações ou até mesmo compartilhar o que aprendeu em um novo curso, faz toda a diferença!

Em diversas vezes eu tive mais vontade de aprender uma nova tecnologia, conceito ou realizar um novo curso a partir de um feedback de amigo.

Portanto, um amigo ali do seu “lado” para que você possa compartilhar suas experiências e ele as dele, fará com que, tanto você quanto ele, compreendam com mais facilidade tudo que estudaram.

5 – Crie um projeto seu e compartilhe com todos

Uma das melhores sensações para qualquer programador é justamente terminar um projeto e compartilhá-lo com algum familiar, amigos ou até mesmo com a comunidade. Portanto, durante o seu aprendizado, coloque tudo em prática em um projeto seu e o compartilhe!

Lembrando que não precisa ser um projeto mega complexo e com diversas funcionalidades, é a partir de projetos como calculadoras básicas, contas bancárias ou cadastro de vendas que damos os nossos primeiros passos.

Além disso, uma das práticas comum é compartilhamos nossos projetos com a comunidade a partir de um github, por exemplo. Dessa forma podemos pegar um feedback de programadores mais experientes.

Você também pode aprender a programar com a nossa carreira de iniciante em programação, com uma sequência de cursos focada em quem está começando. Outra possibilidade são os cursos presenciais da Caelum que conta com diversas turmas abertas para quem quer iniciar com programação.

Curtiu as dicas? Então compartilhe conosco um pouco de sua experiência durante o início de sua jornada como programador 😀

Fique por dentro

(Última atualização em: 3 de julho de 2017)

Content Editor at Alura and Software Developer

  • Rodolfo

    Dicas cruciais para um inicio de estudos sólidos! desisti muitas vezes no começo, agora estou firme nos estudos!

    • Muito bom Rodolfo, eu sei bem que o começo é justamente o momento mais desafiador para nós programadores. Por isso, é sempre bacana compartilharmos nossas experiências para ajudar a todos os iniciantes 😀

  • Maxwel

    Muito bom, respondeu algumas dúvidas que estou tendo no momento, inclusive estou fazendo o Curso presencial de Java Web pela Caelum e aprendendo bastante com o Instrutor Rafael Rollo, também sou usuário do Alura a alguns meses.

    Equipe muito mais do que recomendada!

    • Boa Maxwel! Fico contente que as dicas tenha ajudado você 🙂

      Aproveite bastante os nossos cursos, pois estudar nunca é demais 😉

      Nós da Caelum/Alura agradecemos o seu ótimo feedback.

  • Deixo aqui meu post sobre o Python como linguagem de programação e pq escolhi ela
    http://www.programadorlivre.com/por-que-python/

    • Oi Sérgio, li o seu post e gostei bastante, deixei meu comentário também, parabéns 🙂

  • Moisés

    Com todo o respeito, discordo do que foi dito no item 1.
    Acho um absurdo até hoje todo e qualquer curso ensinar lógica (programação estruturada) antes de ensinar orientação a objetos.
    Por quê?
    Porque orientação a objetos é uma metáfora excelente da maneira como enxergamos o mundo.

    Você aperta o interruptor, a lâmpada liga. (Como liga, não interessa.)
    Você vira a chave, o carro liga. (Como liga, não interessa.)
    Você aperta um botão, o liquidificador liga. (Como liga, não interessa.)
    Todas essas coisas tão diferentes são parecidas por terem uma operação: ligar.
    Pronto, foi ensinado o conceito de interface, tão importante e crucial em OO.

    Agora tente ensinar o conceito de interface para alguém que programa com programação estruturada há muito tempo.
    Demora um tempão para o cara entender…
    Mesma coisa com quem acabou de aprender programação estruturada e acha que é assim que se programa.

    Na verdade, antes mesmo de ensinar OO, o professor tem que dizer:
    “Existem formas de pensar diferentes, para resolver problemas diferentes.”
    Nem todo problema pode/deve ser resolvido com OO ou com programação estruturada!
    E as linguagens de programação refletem isso, cada uma implementa um (ou mais) paradigmas, isto é, formas de pensar.

    No médio/longo prazo, é muito mais útil saber que problemas são mais fáceis de resolver com qual paradigma do que cair de cabeça em determinada linguagem e sair aprendendo sua biblioteca de trás pra frente.
    É um caso em que, sabendo a teoria, você se vira na prática!

    • Moisés

      Aliás, discordo do que foi dito no item 3.

      • peass22

        oi Moisés. Seus argumentos fazem bastante sentido, mas de maneira geral, nossa experiência de ensinar os primeiros passos da programação na Caelum, na Alura e nos cursos de verao da USP sempre foram melhores usando algo imperativo do que orientado a objetos. mas essa realmente é uma opiniao, muita gente tem feito de outras formas, focado só no funcional por causa do viés matemático, etc. às vezes que tentamos dar programação para quem nunca programou junto com orientação a objetos pareceu atrapalhar mais do que ajudar

        Onde voce diz: “Existem formas de pensar diferentes, para resolver problemas diferentes. Nem todo problema pode/deve ser resolvido com OO ou com programação estruturada!”. Claro, acho ótimo o estudante saber disso. Mas certamente não no primeiro contato dele com a primeira linguagem de programação dele onde ele não sabe nem o que é estruturado, nem o que é orientado a objetos. Meu objetivo, quando quero que alguém aprenda a programar para ver se é aquilo que ele quer para a vida, é que ele entenda variáveis, funcoes, if e while. 4 pontos apenas.

  • Frean

    Acho que não sou boa neste negócio… to quase desistindo! 🙁

    • Oi Frean, tudo bem? Pode compartilhar conosco como está sendo a sua experiência? Provavelmente, podemos ajudá-la 🙂

      • Frean

        Não sei se o método que estou usando é o método correto. Eu vou assistindo as aulas e e praticando ao mesmo tempo depois leio a explicação e depois os exercícios, mas na hora da prática… da pau o tempo todo….

        • Oi Frean, eu sei muito bem como é isso, acredite, em algum dia da vida, todo mundo já passou por difuculdades durante o aprendizado. Então, vou compartilhar um pouco mais de como foram os meus passos bem no começo dos meus estudos:

          • 1) Apenas assistia a aula (Sempre evitei o máximo possível fazer junto, pois não conseguia entender e fazer ao mesmo tempo).
          • 2) Fazia os exercícios.
            • Caso eu tivesse dificuldade, assistia novamente o vídeo e ficava mais atento justamente no ponto que eu não havia entendido direito.
            • Caso o exercício fosse complexo, procurava um amigo para discutir e ver se a implementação que eu fiz estava legal.
          • 3) Por fim, após terminar o curso, pegava todos os conceitos que havia aprendido e colocava em prática fazendo um projeto meu aplicando tudo que aprendi e mais um pouco.

          Dentre todos esses passos, o que eu via mais resultado é o terceiro, pois era nele que eu tirava a “prova real” de que eu tinha aprendido ou não. Por exemplo, se tivesse alguma coisa que eu havia esquecido de como fazer, eu revia a aula novamente. Portanto, é bem comum que tenhamos dificuldades em aprender algo novo, porém, como você pode notar, todos os passos envolve bastante treino e prática para que seja possível aprender.

          Além disso, costumava também mostrar o meu projeto para amigos para pegar feedback. Vale lembrar que quando você está implementando um projeto seu, é bem comum que surja diversas necessidades que não são vistas no curso, é justamente nesse momento que você precisa pesquisar maneiras de solucionar um determinado problema, ou então, discutir com pessoas mais experientes para que elas possam dar uma luz, em outras palavras, participar de fórums, grupos ou qualquer comunidade 🙂

          Espero que tenha ajudado.

    • Isabela Gayno

      Olha que bem legal esta iniciativa. Procuramos mulheres que desejam entrar para area de TI

      https://goo.gl/z4zHNL

  • Muito legal suas dicas! ^_^ Algo que você disse, e é uma realidade, muita coisa eu entendi fazendo… Umas das coisas que me fazem gostar de programação e desenvolvimento de software, apesar de ainda não trabalhar na área, é poder misturar técnica (teoria) com a criatividade!

    • Oi Vanessa tudo bem? Fico contente que tenha gostado das dicas! 🙂

      Pois é, em programação, só teoria não basta, tem que colocar a “mão na massa” mesmo. Lembro que também muitas das coisas que eu pensava que seriam complexas, antes mesmo de tentar implementar, foram mais fáceis do que eu imaginei, como por exemplo, criar aplicações com interface gráfica. Chegava até pensar: “isso é muito difícil, não vou conseguir fazer…”. Porém, sempre fui persistente, e então, naquele esquema de pesquisar e tentativa e erro eu fui aprendendo aos poucos até chegar um momento que eu conseguir criar minhas primeira aplicação com um visual mais bacana haha.

      Esse detalhe da criatividade é um ponto bem bacana mesmo, pois quando temos um projeto para desenvolver, existe a possibilidade de criarmos algo que ainda nem existe! Em outras palavras, temos a oportunidade de ser pioneiros de um produto com grande potencial! Ou então, usar a criatividade para melhorar serviços/produtos já existentes… Veja que são diversas as possibilidades que temos 😉

  • Renata Silva

    OLÁ … Tive matérias muito básicas na faculdade enfim estou iniciando mesmo do inicio assinei o allura e vou começar pelo curso “curso de lógica de programação,”so mesmo tempo a grande vontade e ansiedade de iniciar o “Desenvolvedor Java Júnior”.. é melhor terminar todo o curso de lógica primeiro ou posso intercalar os dois cursos ?????

    • Oi Renata tudo bem? Eu entendo muito bem a sua ansiedade em querer aprender algo mais avançado, porém, recomendamos fortemente que o aluno conheça bem todo o conteúdo visto em lógica de programação antes de iniciar na carreira de Desenvolvedor Java Júnior, pois fica muito mais fácil de absorver todo o conteúdo que apresentamos no curso. É válido lembrar que, caso você saiba todo o conteúdo proposto pelo nosso curso de lógica de programação, eu não vejo problema algum em iniciar a carreira Java Júnior. 😉

      Resumindo, se você acha que ainda não aprendeu totalmente o conteúdo de lógica de programação então termine ele primeiro, pratique bastante, e então, quando perceber que já dominou o conteúdo, avance para a carreira Java Júnior. 🙂

    • Alex Felipe

      Oi Renata tudo bem? Eu entendo muito bem a sua ansiedade em querer aprender algo mais avançado, porém, recomendamos fortemente que o aluno conheça bem todo o conteúdo visto em lógica de programação antes de iniciar na carreira de Desenvolvedor Java Júnior, pois fica muito mais fácil de absorver todo o conteúdo que apresentamos no curso. É válido lembrar que, caso você saiba todo o conteúdo proposto pelo nosso curso de lógica de programação, eu não vejo problema algum em iniciar a carreira Java Júnior. 😉

      Resumindo, se você acha que ainda não aprendeu totalmente o conteúdo de lógica de programação então termine ele primeiro, pratique bastante, e então, quando perceber que já dominou o conteúdo, avance para a carreira Java Júnior. 🙂

    • Isabela Gayno

      Conhece a comunidade de mulheresnati no slack? Não? https://goo.gl/z4zHNL

  • Pingback: Quem está por trás das principais linguagens de programação? - Blog da Alura: desenvolvimento, design e muita tecnologia()

Próximo ArtigoOtimizando imagens para melhorar a performance