Jump to content

Quero aprender programação! Por onde começar?


Postagens Recomendadas

  • Administradores

Oi, gente! Preciso de uma ajuda, principalmente dos desenvolvedores/programadores. 

 

Quero aprender programação, tudo 100% em casa e de forma autodidata.

Por isso preciso de dicas e até mesmo qual a melhor linguagem que devo aprender primeiro.

Ou seja, não sei por onde começar... kkkk me ajudem!! 

 

E aí, qual dica de ouro você tem para mim e que gostaria muito que alguém deveria ter de dado a você quando começou a programar? 

  • Curtir 2
  • Amei 1
Link to comment
Compartilhe em outros sites

Oi Giovanna tudo bem?

Tudo depende mais ou menos dá área que você vai atuar.

Mas pra quem está iniciando no desenvolvimento, estude as 3 tecnologias básicas: HTML, CSS e Javascript. Quando estiver confiante nestas 3 ai você escolhe o caminho que quer seguir:

Back-end: Ex. Node, C#, Java
Front-end: SASS, ReactJS, VueJS

Mobile: React Native, Flutter, Kotlin, Swift e etc.

 

A dica de ouro é: estude e persevere que o seu dia de atuar no mercado vai chegar :D

  • Curtir 2
Link to comment
Compartilhe em outros sites

  • Pessoal da TecnoSpeed

Minha opinião é de que, se for prá aprender primeiro, prá pegar gosto, vai de Python, é uma das linguagens mais fáceis de aprender e já dá até prá entrar em algumas áreas como desenvolvimento para web (backend) e ciência de dados.

Agora prá trabalhar mesmo, eu recomendaria também Javascript, é a mais versátil atualmente, a que mais chega perto de ser uma "faz tudo", só não é tão boa para desktop, nesse caso o bom-e-velho Delphi eu ainda acho melhor.

Minha dica é: não se intimide! A área é grande mas ninguém sabe tudo (é impossível!), e também ninguém nasceu sabendo. O importante é sempre ser uma pessoa curiosa e aprender um pouquinho por dia, estar sempre testando algo novo para "ver como funciona".

  • Curtir 2
Link to comment
Compartilhe em outros sites

As minhas dicas são:

1) Escolha onde você quer chegar. Quer programar só por hobby? Quer ser um(a) desenvolvedor(a) de aplicativos mobile? Existem várias linguagens que resolvem vários problemas diferentes, fica a seu critério decidir qual problema você quer resolver. À princípio, qualquer linguagem serve para aprender. As mais fáceis, no meu ponto de vista, são JavaScript e Python.

2) Procure o que o mercado está usando. Nas vagas de emprego, a galera coloca uma lista de tecnologias que o candidato precisa, ou é desejável, saber. Dá pra ir se baseando nelas.

3) Faça um mapa do que você deve aprender. É normal a gente se desesperar ao ver aquele monte de requisitos das vagas de emprego, por isso é necessário organizarmos nossos estudos para não nos perdermos. Caso você queira ser um desenvolvedor de aplicativos web, dá pra usar esse mapa como base: https://github.com/kamranahmedse/developer-roadmap

4) Faça cursos procurando se especializar em determinada tecnologia, não estudando "um pouco de cada". Na Udemy, por exemplo, existem cursos de nível iniciante, intermediário e avançado. É mais proveitoso fazer dois cursos de JavaScript de níveis diferentes do que fazer um curso de Java e outro de Python.

5) Mostre pras pessoas o que vc está fazendo. Dá um ânimo a mais apresentar aquele projetinho pro colega, amigo, familiar. Tem algumas plataformas, como o Github, que permitem que você hospede seu código e mostre pra galera.

 

É isso! 😄

  • Curtir 5
Link to comment
Compartilhe em outros sites

Olá Giovana.

O primeiro passo será pegar alguns cursos de algotimos  e lógica de programação independente da linguagem.

Posteriormente decidir para que lado da programação você gostaria de focar, back ou front.

Depois seria o ideal verificar as linguagens mais utilizadas e atualizadas para o back ou front e escolher uma delas.

Focar em cursos sobre esta linguem escolhida e tentar desenvolver projetos pessoais.

Obs: Aprender sobre o versionamento de cod (git e github) no decorrer do seu desenvolvimento.

Qualquer coisa estou a disposição para conversar. ^^

  • Curtir 2
Link to comment
Compartilhe em outros sites

Oi @Giovanna Wisniewski ... vou escrever um montão de coisas e não vou responder especificamente sua pergunta, mas quero te mostrar que essa não é uma pergunta muito fácil de responder.

Começando pelo contexto da área de software
     Eu gosto de fazer analogia da construção de software com construção civil (casas, prédios, etc). Se considerarmos que linguagens são ferramentas, um pedreiro (dev) não conseguiria construir construir sozinho uma casa do começo ao fim só com um martelo e mais nenhuma ferramenta... ou só com uma chave de fenda e mais nenhuma ferramenta... e etc. Ele precisaria usar diversas ferramentas e, na grande maioria das vezes, trabalhar em time, para que a construção da casa (software) seja atendida. 
     Muitas vezes, nestes times de construção as pessoas acabam virando especialistas em algo (engenheiro / arquiteto / pedreiro / encanador / eletricista / pintor,... etc) e da mesma forma acontece na carreira de software (eng. software/ arq software / programador full-stack / programador front-end / programador back-end / programador mobile / DEVOPS, etc...) e aqui ainda existem tangentes quanto a diferentes linhas de software/dados (engenharia de software, ciência da computação, ciência de dados, ... etc).
     É normal que ao longo do tempo algumas categorias, carreiras, profissões, linguagens, práticas, e etc vão surgindo, pois a área de computação ainda é nova e a cada evolução de hardware e redes, um novo mar de possibilidades se abre para softwares (devido a novas capacidades... exemplo: faria sentido uber a 20 anos atrás com a internet móvel disponível na época e com os dispositivos móveis da época? será que a netflix faria sentido a 30 anos atrás? O que virá com o 5G? Será que o que conhecemos HOJE ainda fará sentido daqui a 5 anos/10 anos?). O "estado da arte" muda constantemente.
     Em resumo: Não se prenda a linguagens/papéis/cargos/profissões, pois nunca se sabe até quando elas farão sentido ou serão relevantes no mercado.

Aqui, algumas playlists do canal do Fábio Akita sobre isto:

https://www.youtube.com/watch?v=pk6gkQOTKGs&t=235


https://www.youtube.com/watch?v=A2-yU3YjB1U&list=PLdsnXVqbHDUcAWAN3cXHWnM9JEw2gjIN9


https://www.youtube.com/watch?v=O76ZfAIEukE&list=PLdsnXVqbHDUc7htGFobbZoNen3r_wm3ki

Construindo uma boa base/Por onde começar

     Ainda na analogia da construção de casa/software. Como um engenheiro sabe que uma parede não vai cair? E um mestre de obras... como ele sabe que a parede não vai cair? E o pedreiro? .... Para construir um software, precisa ser formado? Qual formação eng. de software / analise de dados / ciência da computação?

     Eis o embate entre Conhecimento Teórico X Conhecimento Técnico X Experiência Profissional. Aqui não tem certo ou errado, cada caso é um caso, mas independente do que se escolha, existe alguns pontos que creio que sejam vitais pro seu começo (aqui é opinião minha mesmo):

  • Inglês (leitura);
  • Lógica de programação
  • Estrutura de dados e algoritmos
  • Banco de Dados / SQL
  • Clean Code
  • Gerenciador de repositórios (Github, gitlab, bitbucket, SVN...)
  • Orientação objetos/Orientação Eventos

Esta base raramente muda, e provavelmente você vai usa-la em qualquer vertente/ramificação da área de software.

Deixo alguns links relacionados ao assunto:

Sobre processos de construção de software: https://dev.to/ankushsinghgandhi/software-engineering-3gbm
Trilha de curso/formação em ciência da computação somente com vídeos abertos no youtube: https://laconicml.com/computer-science-curriculum-youtube-videos/
Livros sobre arquitetura de software: https://github.com/mhadidg/software-architecture-books

 

Conhecendo as áreas de dev e as linguagens/tecnologias para cada área
    
Recomendo que olhe o site https://roadmap.sh/
    Atualmente está separado por Frontend, Backend, Devops, Android, DBA e está em construção o QA Engineer. Em cada um destes, terá um diagrama passando por todos os conhecimentos necessários, tecnologias e linguagens envolvidas. Através deste ponto, creio que seja a base que você terá para saber quais cursos comprar/procurar/estudar e o que fará sentido para cada trilha de carreira.

Vou tentar organizar (de acordo com minha visão PESSOAL) as linguagens comumente usadas em áreas de interesse:

Ciência de Dados

  • Python (usada para automatização, scrapping e etc)
  • C/C++
  • R (mais usada por matemáticos e para plotagem)

Web

  • HTML/CSS (básico do básico da web... eh a primeira coisa q vc deve estudar)
  • JavaScript/TypeScript (crescendo muito)
  • C# 
  • PHP 
  • Java (caindo mas ainda bastante relevante no mercado)
  • Python (Django)

Desktop

  • Delphi (ainda existem MUITOS sistemas legados que ainda usam)
  • Java 
  • C / C++ (geralmente começara seus estudos por elas... provavelmente em alguma aula de algoritmo/estrutura de dados)

Mobile

  • JavaScript
  • Java
  • Swift (Apple)
  • Kotlin

Links Úteis:
Trabalho incrível da stackoverflow atualizado anualmente :https://insights.stackoverflow.com/survey/2021#technology-most-popular-technologies
Linguagens populares no GitHub: https://madnight.github.io/githut/#/pull_requests/2021/2
Top 20 linguagens populares 2021 IEEE: https://becominghuman.ai/top-20-most-popular-programming-languages-for-2021-and-beyond-735ee8370c61
Github com tutoriais práticos com várias linguagens: https://github.com/practical-tutorials/project-based-learning
Lista de livros diversas linguagens: https://csgordon.github.io/books.html
101 repositórios do github interessantes: https://neven.hashnode.dev/101-github-repos-absolute-list-of-useful-repos


Se eu for estudar tudo isso, não vai dar tempo 😞 ... tem como resumir?
     Para quem está começando, eu recomendo C++, PYTHON, Java, JavaScript. Pois são comunidades grandes e provavelmente você encontrará bastante material de apoio em abundância. 
     Como PRIMEIRA linguagem, te recomendo Python.

    Medium post sobre as melhores linguagens para 2021: https://medium.com/quick-code/the-best-programming-languages-to-learn-in-2021-5708c1a9d95c

     

    Se atualize sempre
         Baseado na sua área de interesse, busque saber quais são as empresas e profissionais referência na área. Veja as vagas de trabalho, provavelmente nela terão os requisitos da vaga e ali da pra ter uma noção do que o mercado está "esperando" que você saiba. Acompanhar os profissionais da área é importante, principalmente se conseguir encontra-lo no LinkedIn, dê uma olhada nas experiências (descrição do que ele fazia na vaga em que trabalhou) e veja os cursos/certificações... isto pode te dar um norte.
         Como já falado, a área de software está em constante mudança/crescimento... dando origem a novos cargos/papéis/funções com novas tecnologias/linguagens/ferramentas o tempo todo. É arriscado ficar sem se atualizar tecnicamente muito tempo. Busque por locais ricos em informação e que sejam sintetizadas de uma forma que você goste... aqui é questão de gosto mesmo. A maioria dos conteúdos que consumo são gratuitos, seguem:

    • Alura (ouço MUITO o podcast e e raramente faço alguns cursos)
    • Coursera
    • Udemy (você pode encontrar diversos cursos gratuitos... tem grupos no facebook que só postam código de desconto de cursos do Udemy)
    • Youtube (siga alguns canais que fale de coisas do seu interesse, passei aqui o Fábio Akita, mas tem o Felipe Dechamps, Loiane Groner, Kenzie Academy, Hashtag Programação, Codigo Fonte TV, e vários outros)
    • Medium (siga assuntos de seu interesse que constantemente aparecerão conteúdos relevantes)
    • Newsletter de pessoas que você goste (eu recebo news do Gabs Ferreira, Felipe Dechamps e Paulo Silveira)
    • Twitter/Linkedin (escolhi algumas pessoas referência em alguma área de conhecimento de dev e que são bastante ativas nas redes sociais... geralmente elas postam provovações e sempre tem comentários interessantes com vários pontos de vista)
    Editado por JordanGuimaraes
    faltou responder a pergunta da Giovanna e estruturar os assuntos um pouco melhor
    • Curtir 6
    Link to comment
    Compartilhe em outros sites

    • Administradores
    22 horas atrás, Alessandro Barros Pereira disse:

    Olá Giovana.

    O primeiro passo será pegar alguns cursos de algotimos  e lógica de programação independente da linguagem.

    Posteriormente decidir para que lado da programação você gostaria de focar, back ou front.

    Depois seria o ideal verificar as linguagens mais utilizadas e atualizadas para o back ou front e escolher uma delas.

    Focar em cursos sobre esta linguem escolhida e tentar desenvolver projetos pessoais.

    Obs: Aprender sobre o versionamento de cod (git e github) no decorrer do seu desenvolvimento.

    Qualquer coisa estou a disposição para conversar. ^^

    ótimas dicas, estou começando a ver que tem uma receitinha pra quem tá iniciando! Muito obrigada!! 

    • Curtir 1
    Link to comment
    Compartilhe em outros sites

    • Administradores
    18 horas atrás, JordanGuimaraes disse:

    Oi @Giovanna Wisniewski ... vou escrever um montão de coisas e não vou responder especificamente sua pergunta, mas quero te mostrar que essa não é uma pergunta muito fácil de responder.

    Começando pelo contexto da área de software
         Eu gosto de fazer analogia da construção de software com construção civil (casas, prédios, etc). Se considerarmos que linguagens são ferramentas, um pedreiro (dev) não conseguiria construir construir sozinho uma casa do começo ao fim só com um martelo e mais nenhuma ferramenta... ou só com uma chave de fenda e mais nenhuma ferramenta... e etc. Ele precisaria usar diversas ferramentas e, na grande maioria das vezes, trabalhar em time, para que a construção da casa (software) seja atendida. 
         Muitas vezes, nestes times de construção as pessoas acabam virando especialistas em algo (engenheiro / arquiteto / pedreiro / encanador / eletricista / pintor,... etc) e da mesma forma acontece na carreira de software (eng. software/ arq software / programador full-stack / programador front-end / programador back-end / programador mobile / DEVOPS, etc...) e aqui ainda existem tangentes quanto a diferentes linhas de software/dados (engenharia de software, ciência da computação, ciência de dados, ... etc).
         É normal que ao longo do tempo algumas categorias, carreiras, profissões, linguagens, práticas, e etc vão surgindo, pois a área de computação ainda é nova e a cada evolução de hardware e redes, um novo mar de possibilidades se abre para softwares (devido a novas capacidades... exemplo: faria sentido uber a 20 anos atrás com a internet móvel disponível na época e com os dispositivos móveis da época? será que a netflix faria sentido a 30 anos atrás? O que virá com o 5G? Será que o que conhecemos HOJE ainda fará sentido daqui a 5 anos/10 anos?). O "estado da arte" muda constantemente.
         Em resumo: Não se prenda a linguagens/papéis/cargos/profissões, pois nunca se sabe até quando elas farão sentido ou serão relevantes no mercado.

    Aqui, algumas playlists do canal do Fábio Akita sobre isto:

    https://www.youtube.com/watch?v=pk6gkQOTKGs&t=235


    https://www.youtube.com/watch?v=A2-yU3YjB1U&list=PLdsnXVqbHDUcAWAN3cXHWnM9JEw2gjIN9


    https://www.youtube.com/watch?v=O76ZfAIEukE&list=PLdsnXVqbHDUc7htGFobbZoNen3r_wm3ki

    Construindo uma boa base/Por onde começar

         Ainda na analogia da construção de casa/software. Como um engenheiro sabe que uma parede não vai cair? E um mestre de obras... como ele sabe que a parede não vai cair? E o pedreiro? .... Para construir um software, precisa ser formado? Qual formação eng. de software / analise de dados / ciência da computação?

         Eis o embate entre Conhecimento Teórico X Conhecimento Técnico X Experiência Profissional. Aqui não tem certo ou errado, cada caso é um caso, mas independente do que se escolha, existe alguns pontos que creio que sejam vitais pro seu começo (aqui é opinião minha mesmo):

    • Inglês (leitura);
    • Lógica de programação
    • Estrutura de dados e algoritmos
    • Banco de Dados / SQL
    • Clean Code
    • Gerenciador de repositórios (Github, gitlab, bitbucket, SVN...)
    • Orientação objetos/Orientação Eventos

    Esta base raramente muda, e provavelmente você vai usa-la em qualquer vertente/ramificação da área de software.

    Deixo alguns links relacionados ao assunto:

    Sobre processos de construção de software: https://dev.to/ankushsinghgandhi/software-engineering-3gbm
    Trilha de curso/formação em ciência da computação somente com vídeos abertos no youtube: https://laconicml.com/computer-science-curriculum-youtube-videos/
    Livros sobre arquitetura de software: https://github.com/mhadidg/software-architecture-books

     

    Conhecendo as áreas de dev e as linguagens/tecnologias para cada área
        
    Recomendo que olhe o site https://roadmap.sh/
        Atualmente está separado por Frontend, Backend, Devops, Android, DBA e está em construção o QA Engineer. Em cada um destes, terá um diagrama passando por todos os conhecimentos necessários, tecnologias e linguagens envolvidas. Através deste ponto, creio que seja a base que você terá para saber quais cursos comprar/procurar/estudar e o que fará sentido para cada trilha de carreira.

    Vou tentar organizar (de acordo com minha visão PESSOAL) as linguagens comumente usadas em áreas de interesse:

    Ciência de Dados

    • Python (usada para automatização, scrapping e etc)
    • C/C++
    • R (mais usada por matemáticos e para plotagem)

    Web

    • HTML/CSS (básico do básico da web... eh a primeira coisa q vc deve estudar)
    • JavaScript/TypeScript (crescendo muito)
    • C# 
    • PHP 
    • Java (caindo mas ainda bastante relevante no mercado)
    • Python (Django)

    Desktop

    • Delphi (ainda existem MUITOS sistemas legados que ainda usam)
    • Java 
    • C / C++ (geralmente começara seus estudos por elas... provavelmente em alguma aula de algoritmo/estrutura de dados)

    Mobile

    • JavaScript
    • Java
    • Swift (Apple)
    • Kotlin

    Links Úteis:
    Trabalho incrível da stackoverflow atualizado anualmente :https://insights.stackoverflow.com/survey/2021#technology-most-popular-technologies
    Linguagens populares no GitHub: https://madnight.github.io/githut/#/pull_requests/2021/2
    Top 20 linguagens populares 2021 IEEE: https://becominghuman.ai/top-20-most-popular-programming-languages-for-2021-and-beyond-735ee8370c61
    Github com tutoriais práticos com várias linguagens: https://github.com/practical-tutorials/project-based-learning
    Lista de livros diversas linguagens: https://csgordon.github.io/books.html
    101 repositórios do github interessantes: https://neven.hashnode.dev/101-github-repos-absolute-list-of-useful-repos


    Se eu for estudar tudo isso, não vai dar tempo 😞 ... tem como resumir?
         Para quem está começando, eu recomendo C++, PYTHON, Java, JavaScript. Pois são comunidades grandes e provavelmente você encontrará bastante material de apoio em abundância. 
         Como PRIMEIRA linguagem, te recomendo Python.

      Medium post sobre as melhores linguagens para 2021: https://medium.com/quick-code/the-best-programming-languages-to-learn-in-2021-5708c1a9d95c

       

      Se atualize sempre
           Baseado na sua área de interesse, busque saber quais são as empresas e profissionais referência na área. Veja as vagas de trabalho, provavelmente nela terão os requisitos da vaga e ali da pra ter uma noção do que o mercado está "esperando" que você saiba. Acompanhar os profissionais da área é importante, principalmente se conseguir encontra-lo no LinkedIn, dê uma olhada nas experiências (descrição do que ele fazia na vaga em que trabalhou) e veja os cursos/certificações... isto pode te dar um norte.
           Como já falado, a área de software está em constante mudança/crescimento... dando origem a novos cargos/papéis/funções com novas tecnologias/linguagens/ferramentas o tempo todo. É arriscado ficar sem se atualizar tecnicamente muito tempo. Busque por locais ricos em informação e que sejam sintetizadas de uma forma que você goste... aqui é questão de gosto mesmo. A maioria dos conteúdos que consumo são gratuitos, seguem:

      • Alura (ouço MUITO o podcast e e raramente faço alguns cursos)
      • Coursera
      • Udemy (você pode encontrar diversos cursos gratuitos... tem grupos no facebook que só postam código de desconto de cursos do Udemy)
      • Youtube (siga alguns canais que fale de coisas do seu interesse, passei aqui o Fábio Akita, mas tem o Felipe Dechamps, Loiane Groner, Kenzie Academy, Hashtag Programação, Codigo Fonte TV, e vários outros)
      • Medium (siga assuntos de seu interesse que constantemente aparecerão conteúdos relevantes)
      • Newsletter de pessoas que você goste (eu recebo news do Gabs Ferreira, Felipe Dechamps e Paulo Silveira)
      • Twitter/Linkedin (escolhi algumas pessoas referência em alguma área de conhecimento de dev e que são bastante ativas nas redes sociais... geralmente elas postam provovações e sempre tem comentários interessantes com vários pontos de vista)

      Que máximo, @JordanGuimaraes!!! Muito obrigada por todas as dicas, todas elas vão me ajudar a escolher o melhor caminho para começar!! Vlww demais!! 

      • Curtir 1
      Link to comment
      Compartilhe em outros sites

      Crie uma conta ou entre para comentar 😀

      Você precisa ser um membro para deixar um comentário.

      Crie a sua conta

      Participe da nossa comunidade, crie sua conta.
      É bem rápido!

      Criar minha conta agora

      Entrar

      Você já tem uma conta?
      Faça o login agora.

      Entrar agora


      ×
      ×
      • Create New...