Por onde começar na T.I?
Tags: beginners, help, github, git
Published: 2021-03-04 03:39:34

Olá para todos. Pra quem não me conhece, eu sou a Mary do @alternativa.nerd, e se você já me conhece, bem vindo(a) à este novo canal de comunicação.
Esse post é feito para 'guiar' ou ajudar a quem ainda não tem um direcionamento tão bom na programação e quer se tornar um autodidata!

# Primeiro de tudo...
Tenha paciência e não ache que vai devorar todos os livros e conteúdos possíveis de uma vez. Da mesma forma que João conseguiu aprender a programar e emprego em 5 meses, Paulo também conseguiu só que em mais tempo. Tudo é um processo, e todos tem condições diferentes.

## Dito isso...

Primeiro eu tenho que saber se você já conhece a lógica de programação básica. Sua resposta é sim? Ótimo! Continue lendo o post, acho que algo aqui pode contribuir com você.

# Lógica de programação:
Você sabe o que é um algoritmo? Sabe lógica e raciocínio? Sabe matemática? (_Nessa parte não se preocupe, caso não saiba, a prática ajuda_ ~e a calculadora também~)

Caso você não conheça, não tem problema, é por ai que começamos! De primeira eu já quero te apresentar alguns criadores de conteúdo, _totalmente gratuito_, no mundo da programação. Eles são:

* [Curso em vídeo] no YouTube: <https://www.youtube.com/user/cursosemvideo>
* CBF Cursos: <https://www.youtube.com/user/canalfessorbruno>
* Free code camp (_esse é em inglês_): <https://www.youtube.com/channel/UC8butISFwT-Wl7EV0hUK0BQ>

Agora que eu te dei um material inicial muito bom, _muito bom mesmo!_, vou te dar uns conselhos a respeito. Inicie aos poucos, **baby steps**, isso mesmo, comece a aprender devagar, absorva ao máximo tudo. E tente fazer exercícios e desafios ao máximo, isso ajuda a por em prática tudo o que você aprendeu.

## Depois de lógica de programação...

# Estrutura de dados e algoritmo...
Essa parte, boa parte das pessoas pulam, e acredite, eu pulei e me arrependi.

Na faculdade encontrei a disciplina de **Estrutura de dados**, ministrada por um professor, que hoje em dia é um conselheiro pra mim e inspiração, diferente do usual. Nas primeiras aulas desanimei por não conseguir entender a matéria, fiquei mal a ponto de quase abandonar a disciplina. O professor não era o problema, mas sim a minha forma de aprender. Na época estava estagiando e sempre chegava antes do meu horário, comecei a aproveitar para estudar mais a matéria. Não deu outra... Minhas notas melhoraram exponencialmente, uma prova que tirei 0.5 de 5 consegui tirar 3.5 de 5 e nota máxima nos trabalhos.

A matéria em si foi fundamental para consolidar e melhorar mais ainda minha lógica. Então, sugiro que você a faça e pratique bastante com seus códigos. Abaixo segue playlists que usei do YT para estudos:

* <https://www.youtube.com/watch?v=bryesHll0vY&list=PL8iN9FQ7_jt6H5m4Gm0H89sybzR9yaaka>
* <https://www.youtube.com/watch?v=XZ0MEDhb4oE&t=6s> <https://www.youtube.com/watch?v=3zmjQlJhBLM><https://www.youtube.com/watch?v=GqVRiqNl1UA>
* https://www.youtube.com/watch?v=y0B-vQI6Tiw&list=PLxI8Can9yAHf8k8LrUePyj0y3lLpigGcl

# Primeira linguagem de programação...

Okay, meu caro nerd, já passamos pelo pior, certo? **Errado**!
Vamos começar com a primeira linguagem de programação... _Okay, Mary, qual você indicaria?_ Sinceramente? **Não sei!**
Motivo? Simples... Qual objetivo? Trabalho? Aprendizagem? Entrar no mercado?

### Linguagens que vão te levar longe e para mercado:
* JavaScript e suas bibliotecas; WEB
* Python; Dados
* Flutter; Mobile

Certo, seu objetivo é aprender de maneira hard core?

* C
* Java
* C++

Mas vamos em partes... **Primeiro aprenda a programação básica**, de nada adianta sair só replicando código sem entender o que está sendo feito. Pratique, faça exercícios e além de tudo, registre seus estudos! Como com ferramentas que todo dev deve aprender. _(Sacaram o trocadilho? Ruim, né? Eu sei)_

# Primeiras Ferramentas...
Considere aprender **Git** e **Github**, duas ferramentas poderosas e que vão te auxiliar em toda jornada! O Github, nada mais é que um servidor para você registrar seus códigos e Git é um versionador, o que é um versionador? Bom... Digamos que você tem um relatório para entregar e seu supervisor pediu para você corrigir determinadas partes, você vai lá e nomeia como:

* Versão - final
* Versão - oficial
* Versão - agora vai

E dai por diante, então, o Git vai te auxiliar nisso, recomendo aprender Git e terminal, vai mudar sua vida!

* <https://www.youtube.com/watch?v=UbJLOn1PAKw>
* <https://www.youtube.com/watch?v=xEKo29OWILE&list=PLHz_AreHm4dm7ZULPAmadvNhH6vk9oNZA>

## Conhecendo as primeiras ferramentas e escolhido uma linguagem especifica...

Vamos começar com POO. O que é POO? É o conceito de programação orientada à objetos! Isso parece complicado, mas não é, _não tanto_.
Link para consulta:
<https://www.youtube.com/watch?v=QY0Kdg83orY>
<https://www.youtube.com/watch?v=KlIL63MeyMY>

Depois de registrar os estudos e códigos mais básicos no GitHub, você vai começar uma nova fase ao treinar POO. Isso vai te fazer evoluir mais tanto em lógica como dev.
Os canais que registrei no começo contém cursos de POO também!

# Web dev

Vamos falar de uma carreira que nunca ta em falta e eu sugiro começar por ai? _Web developer_! O que são? O que comem? Onde vivem?
Se você está usando a interface desse site, dê graças a eles. Eles são os profissionais responsáveis pela forma que usamos a tecnologia de internet atualmente. Existem 3 principais que vou listar aqui:

* Front end: é o responsável pela interface, ou seja, a parte que o usuário interage com a página Web.
* Back end: é o responsável por aquilo que acontece por trás do front, requisições e programação mais abstrata.
* Full stack: é aquele que mexe com as duas partes, tanto front como back

Quem é o melhor da disputa? Nenhum, todos são maravilhosos em suas funções!
Então como começar a desenvolver na parte Web?
Simples! Primeiro comece com HTML propriamente dito, ele é o encarregado pelo esqueleto do site! No começo é meio feio de ver, maaaaas junto com CSS as coisas começam a melhorar. E junto você pode incrementar com JavaScript! Sim, com uma linguagem de programação no front! Vai deixar bem interessante, além de mostrar seu interesse na área.
_Obs.: O HTML e CSS não são linguagens de programação, mas se assemelham bastante! Então não tem problema quem ta começando escolher eles._

* HTML: <https://www.youtube.com/playlist?list=PLHz_AreHm4dlAnJ_jJtV29RFxnPHDuk9o>
* CSS: <https://www.youtube.com/watch?v=Ejkb_YpuHWs&list=PLHz_AreHm4dkZ9-atkcmcBaMZdmLHft8n>
* JS: <https://www.youtube.com/watch?v=epDCjksKMok&list=PLH4WTsFKLXIeSP93ZT5BW69E-ThrNmbUg> 
* Somente JS: <https://www.youtube.com/watch?v=1-w1RfGIov4&list=PLHz_AreHm4dlsK3Nr9GVvXCbpQyHQl1o1>

Enfim! Ficou enorme o post, mas acho que falei o suficiente para vocês terem uma base tranquila a respeito. Deixarei um link de uma plataforma gratuita e com certificação válida no Brasil!
<https://digitalinnovation.one/sign-up?ref=3WVDH2UGIM>

ps.: Você pode ser contatado na plataforma para trabalho!

Foi ótimo estar aqui para compartilhar experiência. Até a próxima, nerds! :heart: :nerd: