programando no notebook

A carreira de programador: qual curso fazer primeiro?

(Última atualização em: 1 de fevereiro de 2017)

Uma das perguntas que mais gosto de responder é para ajudar alguém a encontrar um primeiro caminho na carreira de desenvolvimento de software.

Gosto de programar, começei aos 9, e sempre pude ter meu irmão, o Paulo, fundador da Caelum e do GUJ, como guia. Mas e quem não teve essa sorte? Tento repassar um pouco do que aprendi com ele nesses últimos 25 anos.

Temos Java, .NET, PHP, Ruby, Python, Javascript e por aí vai. O maior mercado de desenvolvimento hoje em dia é web (sites web e aplicativos mobile usam aplicações web) e todas essas linguagens se encaixam nesse nicho.

Passo 1 – Ainda não sabe programação?

O primeiro passo é um curso de lógica, mas não de diagramas, fuja de cursos de diagramas puros. Nem você nem eu vemos diagramas no dia a dia, no mundo real. Não é natural. Repito: fuja de aprender através de diagramas sem prática de código – eles são válidos, mas limitados.

Vamos então direto para aprender lógica na prática.

Comece logo com algo real ao aprender lógica ao desenvolver um jogo de adivinhação em Ruby, um jogo da forca, e finalizando com um curso onde criamos um Pacman em modo texto. Você verá não só conceitos de lógica, mas entenderá como funciona o computador e os desafios de criar um programa no mundo real.

Prefere outra alternativa? Aprenda lógica com Javascript para resolver problemas reais. E logo em seguida reforce essa base ao criar um jogo que envolve gráficos também com Javascript.

Passo 2 – A base para a web

Para quem já sabe programar ou quem já fez esses cursos acima, o leque de oportunidades se abre – e muito.

Aprenda agora o básico de HTML e CSS construindo um site na prática, e logo depois o básico de banco de dados relacionais com MySQL novamente resolvendo problemas reais.

Passo 3a – Programando e ganhando dinheiro logo, de casa mesmo

Você quer começar a trabalhar logo, de casa mesmo, criando alguns sites para familiares ou conhecidos? Se você fez o curso de lógica em Ruby, já pode aprender Rails para implementar um sistema real.

Se fez os cursos de lógica em Javascript, pode aprender PHP e Mysql com fundamentos para criar um sistema Web e cookies, sessões e mais recursos.

Tanto Ruby on Rails quanto PHP são amplamente utilizados nesse nicho.

Passo 3b – Conseguindo um estágio no mercado

Existe um grande mercado de vagas de desenvolvedores Java e C#. Claro que a maior demanda é por desenvolvedores com mais experiência, mas mesmo assim a demanda é muito grande.

Um próximo passo agora que você já entende como funciona a criação e os problemas de se desenvolver um site é entrar no mundo Java ou C#.

Os dois caminhos são mais longos do que os de Ruby, PHP e até mesmo Python, sendo que esses três cursos apresentam a base da linguagem. Claro que todas as outras linguagens também possuem vagas no mercado, mas de acordo com o google trends a busca por essas duas ainda é muito forte e é o que recomendo.

Passo 3c – Criando um jogo no mundo real

Criar um jogo no mundo real, no mundo físico, é uma tarefa muito divertida que fazemos com o Arduíno. A linguagem é baseada em C, portanto se quiser ir para esse lado aprenda lógica e programação com a introdução a C, avançando na linguagem C, e recursos avançados da linguagem antes.

Passo 4 – Como continuar

Não queria deixar em branco o próximo passo… já aprendi uma linguagem e já estou programando para a web. Como todos os nossos cursos e livros, é fundamental entender e utilizar boas práticas de código. Além disso é importantíssimo ter uma boa prática de estudo para não deixar de estudar daqui a pouco.

Agora você está livre para continuar o caminho que escolheu, claro que sempre buscando boas práticas e bons professores.

Tech Education Leader no Alura

  • Henrique

    Ótimo artigo Guilherme, dicas valiosas para quem está começando!
    Mas restou uma dúvida, é interessante aprender uma linguagem para web (como PHP ou Ruby), antes de se aprofundar em Java para Web? Ou no Passo 3a por exemplo, posso já aprender Java e Java para Web e posteriormente criar um sistema web?

    • Se é o que você deseja, eu já iria para Java e Java para Web sim. Sem problema!

      • Yury Lima

        Oi boa tarde Guilherme, eu gosto dessa área mais quero começar do zero para aprender tudo se possível, de onde começo meu amigo me dê um empurrão para eu seguir a carrega que gosto.

        • Guilherme Silveira

          Bom dia Yuri, tente começar pelos cursos de html, css e javascript. A partir daí você terá uma noção melhor se seu interesse maior é frontend/backend ou design!

          []s

  • Excelente dica Guilherme!

    Quando eu estava iniciando em ciência da computação eu estava muito perdido, cheguei até pensar que não ia dar certo, mas a minha jornada foi muito parecido com a sua dica, aprendi bastante lógica de programação, então conheci o Alura e tive a oportunidade de aprender a criar aplicações web e mobile, como também aprender as boas práticas que até hoje fazem muita diferença quando vou desenvolver um projeto.

    Parabéns e obrigado pelo Alura.

  • cesar

    Quando você é responsável pelo projeto ou o projeto é seu, o PHP, Ruby e Phyton Atendem muito bem. Agora para trabalhar para os outros, no mercado profissional a demanda maior é por JAVA e C# e ERP. Acho o JAVA um linguagem fantástica, porem no Brasil a área de atuação é mais retritas a banco e alguns portais web, além de definitivamente ter uma dificuldade de aprendizado grande para iniciantes. O C# é um pouco mais engessado nos recursos, pode usa um excelente plataforma de desenvolvimento, o dot.net, o C# é menos remunerado, porem tenho a impressão de área de atuação melhor mais possibilidades. A escolha da tecnologia no planejamento de um projeto pode ter vários fatores. Será necessário segurança? Portabilidade entre dispositivos? Quanto posso gastar com licença de software? Quanto custa a mão de obra especializada?

    • Ótimas perguntas Cesar. Todas elas devem ser levadas em consideração a medida que saimos do nível de base inicial.

  • Victor Cavalcante

    Parabéns Guilherme. Muito bom o seu post. Acho que estava faltando um guia para o pessoal iniciar.

  • fabio

    não sei nada de nada de nada de nada , mais tenho muito interesse em sistema da informção , por onde começar ?
    Podemia me dizer a diferença de cada área ? sistema da informação , ciência da computação e redes de computadores ?

    • Samuel Damasceno

      Fabio, recomendo que você busque entender essa diferença nas universidades que você pretende estudar. Converse com o coordenador. Foi assim que fiz e deu super certo, escolhi meu curso e concluí. E vi muitas pessoas desistirem por não ter feito esse exercício o básico e fundamental: conversar com o coordenador do seu curso e sentir o clima da universidade.
      Sucecsso!

  • Laurielcio Assis

    Guilherme,

    Muito boa essa publicação. Se possível, poderia responder essas dúvidas?
    Qual é a sequência do curso de Java no Alura: Java, Java Avançado e Java Web ou Java, Java Web e Java Avançado?

    Parabéns pelo trabalhos de todos da Alura.

    Att.,
    Laurielcio.

  • Adriano Oliveira

    Obrigado pelas dicas! Este excelente guia também pode ser usado para orientar e acompanhar os estagiários da empresa.

  • Ótimo guia! Parabéns. Poderia fazer um similar, para desenvolvedor Front-End?

  • Pingback: Quais os cursos mais recomendados pelos alunos em 2015? | Blog do Alura()

  • Manoel

    Guilherme
    Primeiro quero parabenizar pelas aulas do Alura. Realmente você tem a didática de um bom professor com bons exemplos e excelentes explicações.
    Tenho feito os cursos do Java no Alura há um tempo. Meu interesse é fazer a prova da certificação o quanto antes. Estou revisando o conteúdo nos últimos dias. Já trabalho com Sistema em PHP e meu foco é desenvolvimento web mesmo. Meu conhecimento vai de HTML, CSS, Java Script, MYSQL, Orientação a objetos com PHP e agora com o Java. Qual sua recomendação para quem pretende tirar certificação da Oracle na área de desenvolvimento web? Além da inicial, é claro, qual seria interessante?
    Grande abraço

  • Leandro

    Muito obrigado! Precisamos de profissionais que, da mesma forma que você, nos informam com qualidade!

  • Jeferson Luiz

    Guilherme boa tarde!

    Então eu espero me formar no final desse ano em Ciência da Computação.
    Por escolha de grade estou fazendo agora no sétimo período a disciplina de Linguagens de Programação. Já tenho ideia do meu projeto final e questionei ele com relação qual melhor linguagem ao meu projeto. Estudei Python no Alura comprei acesso anual, mas ele vive me “pilhando” para dar uma olhada em Ruby.
    Ando pesquisando, mas não vejo muitas oportunidades aqui no Rio de Janeiro. E a impressão que tive da comunidade foi um tanto esnobe. Fora que vivem dizendo que o melhor é programar em Mac, mas hj nem de longe tenho possibilidade de investir nisso.
    Dúvida cruel é investir um tempo numa linguagem na qual se parece muito com Python, mas mercado de trabalho é um tanto fraco.
    O que vc diz?
    Vai crescer como Python?
    Desenvolvimento em aplicações mobile em Ruby como é?
    Não vejo tantos Frameworks como tem um PHP apenas o Rails.
    Olhei a linguagem de achei bem interessante e o momento de investir tempo é agora, pois meu projeto de TCC preciso começar agora e acho que não deve se resumir apenas um TCC.

    Por favor abra minha mente!rsrs Me ajuda com um norte!

    • jeferson luiz

      boa noite!
      fiz algumas perguntas, mas não tive retorno. É complicado, pois achei que teria uma resposta em algum momento.

  • Pingback: O que será de mim quando terminar a faculdade? | joaolurato()

  • Pingback: O que será de mim quando terminar a faculdade? – Carreira Dev()

  • Pingback: Blog do Alura – O que será de mim quando terminar a faculdade?()

  • Michel

    Prezados.

    Eu já sou programador, mais uma linguagem procedural Agora gostaria de programar aplicativos, porém minha experiencia em java e orientação a objetos são parcas. Por onde começar ?

    Desde já obrigado.

  • Robson

    Salve, Gui!
    Seguinte: Já conclui alguns cursos de identidade e peças gráficas no alura e agora desejo migrar pra web, porém fiquei com uma dúvida: Vc sugere me familiarizar com lógica primeiro antes mesmo de saber estruturar um site com HTML e CSS? (Não possuo nenhuma experiência em programação).
    Isso de alguma forma me ajudará quando for iniciar a parte de comportamento? (Minha linguagem de escolha será JS).

    Forte abraço carioca e obg por td

    • Oi Robson tudo bem? Que ótimo que já esteja encaminhado. Se o seu interesse for programar em frontend, sugiro a ordem html/css e depois o curso de lógica com javascript sim. Assim quando chega no curso de JS voce ja tem algumas coisas a mais para brincar.

      []

      • Robson

        Tudo bem. Entendi, fechado! Farei isso. MT OBG pela orientação. Abrax 😉

  • Gessica Krislen Chaves

    Otimas dicas, estou começando o Alura hoje.

    • Guilherme Silveira

      Que ótimo Gessica! Depois nos conta como foi!

  • Mário António

    Olá, Guilherme… Eu ja estudei redes, e telecomunicaçõe mas oque quero fazer a seguir é programação e ser um bom desenvolvidor. Não sabia por onde iniciar nem como, fui ao goggle e peguei a tua materia. Vou seguir estes passos/dica e esperar que dê td certo do meu lado.

    Um Abraço!!!
    Mário (Luanda-Angola).

    • Guilherme Silveira

      Olá Mario! Espero que esteja aproveitando! Abraços

  • olá, o curso de lógica em javascript, serve como entrada pra quem quer seguir carreira na linguagem java?

    • Guilherme Silveira

      Bom dia David, na verdade o curso de Javascript serve como base para linguagens de programação em geral. Apesar do nome similar, Java e Javascript são linguagens diferentes. Se estiver começando do zero e ainda não sabe lógica, pode comecar pelo javascript. Se você já programa em outra linguagem, pode começar pelo Java.

  • Renata Silva

    Gostei , na verdade sou analista de infra mas entusiasta DevOps e com a nova cultura estou voltando a estudar programação só vi o básico na faculdade ainda ou seja estou bem desatualizada rs .. adorei o Alura estou conhecendo o site e acho que vai dar pra aprender bastante e depois pretendo fazer aulas presenciais na caelum mas com uma bagagem inicial do Alura.

    • Guilherme Silveira

      Que ótimo Renata, bons estudos, depois nos conte como tem sido o dia a dia! Também gosto muito de escutar e conversar com o pessoal de devops

  • Renata Silva

    Uma dúvida como vou iniciar os cursos de java 1 existe nos cursos iniciais dicas de instalalação dos softwares necessários versões etc ?

    • Guilherme Silveira

      Bom dia Renata, com certeza, cada curso que precisa de instalação de um software novo, ensinamos nos exercícios e/ou nos vídeos a instalar. Se é o segundo curso de Java, por exemplo, a instalação estará no primeiro curso. Bons estudos!

  • Jefferson

    Olá, eu caí de cabeça nesse mundo de programação, eu sempre tive interesse nisso tudo. Porém, eu nunca me via exercendo essa profissão, até que um dia eu resolvi tentar. Comecei com Python a uma semana e amei muito, desde então comecei a pesquisar sobre o assunto e venho me perguntando se contínuo com Python, ou é melhor ir para JavaScript, não sei a melhor ordem para ter uma boa aprendizagem, poderiam me dá algumas dicas dos melhores caminhos?

    • Guilherme Silveira

      Não estou envolvido no dia a dia com a comunidade Python,m as pelo que conheco ela é uma comunidade muito forte e existe boas vagas de emprego ao redor dela. Javascript é uma linguagem que acaba sendo usada basicamente por todos os projetos web (e muitos projetos mobile!), o que faz com que seja uma linguagem fundamental para quem quer ser um desenvolvedor que trabalhe em frontend web ou em backends que usam JS. Pessoalmente aprenderia o Javascript sim! Se quiser temos os cursos de Node e React para a parte de back/frontend JS, após ter aprendido sobre a linguagem.

  • Net 7 Mares

    Pergunto: é possível desenvolver um site focado fortemente em banco de dados MySQL e HTML5, usando o Python?

  • Alexandre Pereira

    Bom dia, você acha que Java tem um bom futuro pela frente, ou tende a perder espaço para outras tecnologias?

  • Já estudou isso agora estuda isso. Já estudou isso agora isso. Agora isso. Agora isso. E mais isso. Que bosta kk

  • Kerginaldo Mattos

    Olá, acabei de me inscrever. A página indicada como link acima (https://www.alura.com.br/curso-online-logica-de-programacao) está com erro 404

    • Alex Felipe

      Oi Kerginaldo, tudo bem? Foi uma atualização que fizemos no curso de lógica de programação! Obrigado por avisar 🙂

      Abraços.

  • Wesley Soares

    Guilherme, comecei ontem meus cursos, queria aprender sobre banco de dados, por onde devo começar?

    • Guilherme Silveira

      Bom dia Wesley, se o começo é do zero sugiro começar com o passo 1 do post. Abraço!

      • Wesley Soares

        Ok, obrigado Guilherme.

  • Kleber

    Guilherme, boa tarde!

    Acabei de fazer a inscrição no Alura… Hoje já sou desenvolvedor ADVPL (protheus – Totvs), porém sinto que fico muito limitado apenas nesta linguagem, sei que tenho um mercado bom, porém gostaria de aprender novas linguagens.
    Gostaria de algo mais voltado para web, até mesmo para fazer alguns trabalhos free, por exemplo, criação de sites, etc…
    Enfim, me indica alguns cursos ou carreiras aqui no Alura?
    Ah e se futuramente desejar incluir alguns cursos de Protheus, tenho mais de 5 anos de experiência, talvez poderia ser um teacher rsrs
    Muito obrigado,
    Kleber Ribeiro

    • Guilherme Silveira

      Boa noite Kleber,

      Se o objetivo é pegar inicialmente alguns trabalhos freelance, minha sugestão seria ir por PHP ou Android. Tem bastante projeto freelance na internet das duas áreas. Claro que tem também em outras linguagens, mas as duas são o que mais vejo o pessoal comentando no dia a dia. Como voce já tem a base de programação, não vai demorar muito para produzir algo nelas.

      []s

Próximo ArtigoO que é encapsulamento?