olá pessoal fábio akita nesse terceiro episódio da série começando aos 40 vamos finalmente começar a falar sobre o currículo básico para quem quer se tornar um desenvolvedor web veja que não existe somente web você pode escolher desenvolvimento mobile para fazer apps para smartphones ou mesmo algo mais tradicional como aplicativos nativos desktop todo mundo que está iniciando tem que começar do zero um pouco de html um pouco de css um pouco de java script quem está fazendo algum curso de tecnólogo começa com um pouco de java talvez um pouco de charme ou php mas praticamente todos
esses cursos para mostrar tudo o que você realmente vai precisar para montar uma carreira e claro como eu já disse antes sabendo um pouco do básico você já começa a ser capaz de começar a trabalhar ea importância de trabalhar numa empresa como a equipe é porque justamente você ainda não vai ser capaz de fazer um projeto do começo ao fim sozinho simplesmente porque em um ou dois anos é impossível saber tudo que você precisa e o que exatamente é esse tudo que se precisa eu disse que essa série vai ser bem longa no episódio de
hoje vamos começar com os conhecimentos mais básicos que você vai precisar vamos lá [Música] um ou dois anos atrás eu esbarrei no repositório subterrâneo chamado developer road map ele tem sido atualizado uma vez por ano ea versão 2019 tá lá o autor por acaso é de uma empresa de curso chamada hacker ponto aí o que eu nunca parei pra ver então não sei dizer se os cursos são bons ou não esse roadmap é online e mep é uma representação gráfica de idéias em conceitos na prática é um monte de caixinhas ligadas no gráfico o que
eu achei interessante é que ele lista caixinhas obrigatórias para cada carreira e caixinhas opcionais mais desejáveis e no geral eu concordo com as divisões e prioridades que ele colocou então é uma boa referência pra vocês e note que eu disse que ele atualiza todo ano nos últimos dois anos não mudou tanto mas ele tivesse começado cinco ou dez anos atrás vocês iam ver que a carreira mudou bastante nesse período lembra do episódio anterior que eu falo sobre o tempo pois é considera que esse roadmap pode mudar muito ainda daqui dois anos ou mais se você
for aprender tudo o que está nesse roadmaps estudar e treinar com afinco precisar de uns três a cinco anos no mínimo e eu diria que esse roadmap é básico tem muito mais além disso ainda mas não se assusta você não precisa saber tudo de uma vez só mas tenha na cabeça que nossa carreira vai exigir que você esteja estudando constantemente não existe fazer um curso de seis meses e achar que já saí sabendo tudo este road map se divide em quatro partes primeiro e o tema desse episódio são conhecimentos gerais que todo mundo precisa saber
daí ele separa em carreira de front end que se preocupa mais com a parte visual que as pessoas normalmente vem o html e css final javascript e tudo que envolve usabilidade então você tem um black and que a carreira mais complexa em termos de coisas para aprender e se preocupa com o software que roda por trás as regras de negócio as integrações os bancos de dados finalmente uma carreira nova que chamamos erroneamente de devops eu vou explicar porquê em outro episódio e como disse antes essas não são as únicas carreiras são as primeiras três dentro
do mundo de webb a idéia é você usar este road map como um check list cada caixinha amarela é um corpo de conhecimento grande você vai encontrar cursos inteiros para cada caixinha mas lembre se do que eu já falei no episódio sobre faculdade você não deve tentar aprender 100% de cada assunto de uma vez apresenta no máximo 20% os primeiros 20% que vão te permite resolver 80% dos problemas eu vou dar um exemplo na primeira parte de conhecimentos gerais a primeira caixinha gift beach é um ver senador de arquivos essa ferramenta foi desenvolvida inicialmente pelo
criador do kernel do linux o famoso linus torvalds e o atual mantenedora júnior romano pense assim como centenas de desenvolvedores podem editar os mesmos códigos num projeto como lino senão vira uma bagunça colossal é por causa de ferramentas como git nos anos 90 e começo dos 2000 haviam várias como cvs que era uma grande porcaria mas era o que tinha substituído pelo subverte o svn que era - porcaria e eu usei muito inclusive fiz um pet para a ferramenta tortoise svn para ele funcionar em windows em projetos com visual studio que não suportava diretórios que
começava com um ponto havia ferramentas comerciais também em porcaria como rancho ao criar case ou a droga do microsoft office safe eram todos ver senadores centralizados e daí nos anos 2000 começamos a ir para ver senadores distribuídos com o mit equipe perforce darks bazar que era usado pela canonical e mercúrio ou eu comecei a organizar a geek no brasil por volta de 2007 como você pode ver em meu blog posts mais antigos nem casos a descrição abaixo e nós da comunidade ruby on rails ajudamos muito geek rami que é feita em ruby on rails a
crescer rapidamente por causa disso disse se tornou o padrão embora em ambientes comerciais alguns ainda fica empresas a ferramentas como microsoft services mas esquece 99% do mundo de desenvolvimento usaid tieu simples fato que a maior parte dos melhores softwares open source do mundo estarem lá no beach rugby um geek em si possui centenas de comandos e permutações você usa dite para baixar código dos repositórios preservando um histórico de comics e são trechos de alteração de código você pode navegar para trás no tempo num sistema de se recuperar o estado do código como ele era ontem
o semana passada o ano passado e cada modificação que você faz você ímpar cota nesses comics e em honra ou da push para um repositório elegido como central que todos usam embora de ti em si não precise de um servidor central o fluxo de trabalho convite que a maioria dos desenvolvedores web usam é derivado do que nós da comunidade raios desenvolvemos junto com o kit rami o mecanismo que chamamos de público s fox a comunidade do kernel do linux usa um fluxo de trabalho diferente por exemplo agora os tais 20 por cento que eu falei
antes você precisa saber talvez uma dúzia é só de comandos como beach smith para iniciar um repositório git ad pra acumular as modificações que fez agora beach committee para empacotar essas modificações de tipo che para enviar as modificações para outro repositório de origem de tipo pra puxar as últimas modificações desse repositório se você dominar esses comandos já consegue participar de um projeto só que isso é ultra básico porque existem várias coisas importantes que você vai precisar aprender como o que são brindes e como trocar de brindes como fazer chéri piquem como reescrever comics as diferenças
entre beise emerge o que é estende para que serve o squash the committee pra que serve by 7 pra que serve flog diferenças entre os 7 clean e assim por diante mas você pode aprendendo um comando de cada vez o gift é praticamente um sistema de arquivos avançados sua estrutura de dados é baseado num dag que é um da euronext a sic graf e se você entender como ele funciona internamente você pode usar o kit para fazer coisas avançadas por exemplo você poderia criar um produto que é um mini cone do dropbox usando um kit
você pode integrar um kit com sistemas de depoentes ou seja que toda vez que você dá um pio xii no repositório ele toma uma ação como atualizar o servidor ou rodar os testes do repositório um sistema de contínuos integration as opções são infinitas mas a tenha se em aprender os primeiros 20% a primeira uma dúzia de comandos não se preocupa se você for curioso você vai aprender tudo do ggit eventualmente mas se tentar aprender tudo de uma só vez você vai ficar meses estudando a teoria e não vai entender tudo gasta uma semana em tutoriais
iniciais do kit o próprio kit hang ten o site de xabi gás que vai te dar o básico e obviamente trainee em dezenas de arquivos na sua própria máquina é e dezenas de vezes para ver o comportamento de cada comando esta os limites de cada comando mas de onde vamos arranjar esses arquivos e projetos para você treinar um road map está correto em colocar gift em primeiro lugar porque uma das coisas que você logo no começo e precisa fazer é forçar muito geek rani agora entenda uma grande verdade de qualquer curso o tutorial todos os
passos que eles mostram sempre funcionam porque a demonstração foi preparada para funcionar começa com algum exercício do tipo vamos fazer um aplicativo de lista de tarefas daí ele vai te dando passo a passo tudo na ordem certa para no final você tem um pequeno aplicativo mais o espaço só funcionam dentro de um ambiente muito controlado quase de laboratório se divergir um pouquinho vai dar errado e você não vai saber o que tem que fazer pra quem só está iniciando claro que é importante ver as coisas sendo construídas de forma ordenada só entenda que isso é
irreal todo tutorial em curso não tem absolutamente nada a ver com a vida real na vida real você quase sempre a participar de um projeto que já existe ou começar com outras pessoas e vai baixar código que já existe e tem que participar do código dos outros e esse código não vai estar perfeito aliás normalmente vai estar muito longe de perfeito as coisas vão quebrar as instruções não vão funcionar e você vai ficar em dúvida se é o código do projeto que está quebrado ou você que não está entendendo alguma coisa trivial muito do processo
de programação é tentativa e erro um dos grandes defeitos de cursos e tutoriais é que eles mostram só o passo a passo perfeito tutoriais não ensinam a lidar com erros isso é um enorme problema eu mesmo cansei de receber mensagens de pessoas que falam aqui total seguindo-se todo esse tutorial e de um erro você sabe como resolve daí eu falo me manda mensagem de erro que está aparecendo aí daí eu pego essa mensagem de erro jogo no google e mandou o primeiro link aparece pergunto e aí era isso aí a pessoa responde a quinta você
é mesmo resolveu aí eu fico filho da mãe eu virei proxy do google sério se você é iniciante assuma que 99% de todos os erros que você encontrar você certamente não é o primeiro muita gente já passou pelo mesmo erro que você está passando e eles já foram documentados nas lixos do kit hang ou em sites como estética overflow stec exchange em fóruns como reddit antigamente nos anos 80 e começo dos 90 a gente simplesmente não tinha onde procurar online por quem tinha internet então quando tinha um erro a gente precisava aprender descobrir tudo sozinho
por isso o povo depende de empresas como microsoft e ibm outras que costumavam ter uma comunidade interna somente para quem pagava a assinatura e você tinha acesso a bancos de conhecimento que vinham em cds como oms dele mas hoje em dia o google vai te responder 90% das coisas que você vai precisar isso tudo dito em vez de ficar só fazendo passo a passo de vários tutoriais vai no derrame procura alguma coisa como clone instagram o java script vai aparecer vários alguns muito parecidos alguns uma porcaria não importa e agora que você já aprendeu básico
the gift cone o projeto na sua máquina e tenta rodar você vai sofrer um bocado na primeira vez e vai cair na segunda caixinha do road map que diz beise que terminam usaid essa caixinha junto com outras como ssh vai te dar muito trabalho entenda outra verdade quando você for subir seu primeiro projeto de verdade para o público ele não vai estar na sua máquina vai estar um servidor seja você um programador front end o bê quente você precisa o quanto antes aprender mais sobre sistemas operacionais a maioria de vocês provavelmente está usando o windows
não tem nenhum problema eu uso o windows também porém você deve obrigatoriamente aprender sobre distribuições baseadas em linux você pode fazer isso do jeito difícil ou do jeito 13 difícil o jeito difícil se sua máquina aguentar é baixar e usar o programa virtual box ou versões pagas como viemos com o parallels hoje em dia se tornou muito comum rodar linux em máquinas virtuais todo novo cpu suporta o que chamamos de instruções vtx no caso da intel ou amd vê no caso da amd que são funções a cpu para fornecer o máximo de performance de acesso
ao hardware quanto possível em ambientes virtualizados significa que você consegue rodar uma distribuição de linux como o ubuntu fedora o arc inteira dentro de um virtual box a maioria das pessoas nunca instala seu próprio sistema operacional nem configura nada simplesmente contra a máquina e usa do jeito que veio isso é um erro um programador escreve software software em código que diz a máquina o que fazer a máquina é controlada por um sistema operacional se você não conhece o seu sistema operacional sua programação sempre vai ter muito machismo e chutes você acaba se tornando supersticioso e
em vez de resolver os problemas procura alguma mandinga claro é impossível aprender tudo só em poucos dias ou semanas por isso o melhor caminho para começar é de cara tirar a rodinha da bicicleta e começar a apanhar não começa com uma distribuição fácil comumente ou o ubuntu começa a instalar no sistema operacional manual do zero e pra isso não tem nada melhor do que uma distribuição linux como o ar que linux que me lembra um pouco minha época de slack 1.0 no meio dos anos 90 se você ainda não sabe disso o linux é o
nome do kernel binário responsável por iniciar a máquina configurar os dispositivos e oferecer serviços para os aplicativos poderem falar com a máquina existem dezenas de distribuições que usam o kernel do linux o que varia em cada uma é a seleção de aplicativos formas de configuração gerenciamento de pacotes e ecossistema na dúvida você vai acabar escolhendo algo como ubuntu mente elemento e fedora sente mais o peso usa manjado dentre outros um boom tu ou mesmo fedora são muito simples eles já fazem tudo pra você e no final é como se tivesse instalado o windows ou mac
oeste você vai só apertando próximo próximo próximo e no final não aprendeu nada porque os instaladores tão bons o suficiente para fazer quase tudo sozinhos mas o arc linux não ele vai exigir que você realmente preste atenção estude e vá configurando cada componente sozinho a cada passo você não vai saber o que precisa fazer e pra ajudar e existe o site arquivo week que tem páginas inteiras detalhando cada pequeno componente do sistema em detalhes um ar que vai reforçar ficar na linha de comando e digitar comandos que mesmo que você não entenda exatamente o que
está fazendo vai te dar a primeira sem a ação de que você está colocando as mãos de verdade no computador vai ver dezenas de mensagens de erro e vai perder horas em tentativa e erro a cada passo e quando chegar o final vai ter aquela satisfação de que você fez alguma coisa funcionar sozinho quando eu falo que as pessoas ficam supersticiosa se imagina quando alguma coisa não funciona eo que a primeira coisa que todo mundo pensa a reboots a máquina que volta a funcionar não porque você vai resultar primeiro entendesse precisa reputar normalmente é quando
você muda alguma configuração que algum serviço precisa um dimon por exemplo falando em demons você vai precisar entender que você tem sempre pelo menos dois níveis de permissão no sistema o acesso geral do administrador ou ruth e o mais limitado do seu usuário um spotify roda sobre os privilégios do seu usuário e não tem privilégios para afetar coisas importantes do núcleo do sistema como reputar máquina mas existem serviços ou demons e não dá em mons demons que aliás não tem nada a ver com diabo mas com antigos demônios que performam tarefas em background que o
sistema operacional começa a iniciar depois do boot e rodam sobre privilégios maiores para poder controlar coisas como sua rede seu sistema de arquivos geral tudo em background sem você perceber um programa que você manualmente abril como seu editor de textos você pode matar a qualquer momento mais íntimo precisam de privilégios para reiniciar e aí você começa a aprender sobre ferramentas como surdo que você vai ver em vários tutoriais que permitem que seu usuário em por área mente tenha privilégios de administrador no windows isso é aquela janela de confirmação que escurece sua tela toda vez pedindo
uma confirmação em que obviamente você nunca lei só dá ok mais do que isso para rodar linguagens como java script clube python php java você precisa saber quais versões instalar porque códigos antigos podem precisar de versões mais antigas de cada linguagem se tentar rodar na mais nova provavelmente falhar se você tem o python mais novo instalado na sua máquina com uma versão 3 mas você entra numa empresa que precisa da manutenção num projeto mais antigo que ainda não foi atualizado usando digamos python 2.6 como você faz pra ter múltiplas versões rodando na máquina ao mesmo
tempo você vai ter que aprender que quando digita o comando python na linha de comando ele vai olhar uma coisa chamada pef uma variável de ambiente que dizem quais diretórios procurar pelo executável se quiser ter múltiplas versões basta instalar algum gerenciador dessas variáveis como o virtual enviou mais poderoso a sbf que vai gerenciar o pf e outras variáveis do ambiente pra você mas pra isso você precisa ter essa noção que cada linguagem é um conjunto de executáveis coisas como interpretador compilador de banger bibliotecas onde eles ficam na sua máquina como você como programador não sabe
onde fica cada componente da linguagem que está usando você precisa saber então corre atrás disso finalmente as duas coisas mais importantes que você precisa aprender e treinar logo de cara é como gerenciar código usando ferramentas como git serviços como terreng e onde fica cada ferramenta que você vai usar o sistema operacional você precisa aprender a ter controle sobre sua própria máquina porque a principal função de um programador é controlar as máquinas para que façam exatamente o que você quer ea forma de dar essas ordens é através de programas gerados com o código que você escreve
se você não consegue controlar seu sistema operacional e sequer sabe onde estão suas ferramentas e porque os funciona é a máquina que vai controlar você e não o contrário sem isso você sempre vai fazer algum código muitas vezes vai chutar e se realmente funcionar você continua sem saber por que funcionou e desse jeito nunca vai evoluir como programador coloca isso na sua cabeça a máquina serve a você e não o contrário do ministro as ferramentas e faça com que elas sirvam a você e como podem ver hoje falamos somente das duas primeiras caixinhas durante a
série algumas serão mais curtas algumas mais longas mas o assunto claramente a longo aproveitem pra dar uma olhada no developing world map e joguem dúvidas nos comentários abaixo talvez eu possa aproveitar alguns nos próximos episódios se curtir um vídeo mandei um jóia compartilhe com seus amigos assim um canal e cliquem no sininho a gente se vê semana que vem até mais