{"id":439,"date":"2019-01-11T11:39:03","date_gmt":"2019-01-11T14:39:03","guid":{"rendered":"https:\/\/blogs.opovo.com.br\/varanda\/?p=439"},"modified":"2019-01-11T11:39:03","modified_gmt":"2019-01-11T14:39:03","slug":"programador-e-agora-o-que-aprender","status":"publish","type":"post","link":"https:\/\/blogs.opovo.com.br\/varanda\/2019\/01\/11\/programador-e-agora-o-que-aprender\/","title":{"rendered":"Programador: &#8220;E agora? O que aprender?&#8221;"},"content":{"rendered":"<section class=\"section section--body section--first\">\n<div class=\"section-content\">\n<div class=\"section-inner sectionLayout--insetColumn\">\n<h3>Texto por Murilo Parente, a<span class=\"m_-6254188247380928901gmail-lt-line-clamp__line\">tual diretor de produto e tecnologia da Digital Influencers e desenvolvedor desde os 13 que viu no empreendedorismo uma forma de unir o que mais ama:\u00a0<\/span><span class=\"m_-6254188247380928901gmail-lt-line-clamp__line m_-6254188247380928901gmail-lt-line-clamp__line--last\">Construir ideias; Inovar; Impactar a vida das pessoas.<\/span><\/h3>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-434\" src=\"https:\/\/blogs.opovo.com.br\/varanda\/wp-content\/themes\/veen\/assets\/images\/transparent.gif\" data-lazy=\"true\" data-src=\"https:\/\/blogs.opovo.com.br\/varanda\/wp-content\/uploads\/sites\/72\/2019\/01\/01_Programador-740x548.jpg\" alt=\"\" width=\"740\" height=\"548\" data-srcset=\"https:\/\/blogs.opovo.com.br\/varanda\/wp-content\/uploads\/sites\/72\/2019\/01\/01_Programador-740x548.jpg 740w, https:\/\/blogs.opovo.com.br\/varanda\/wp-content\/uploads\/sites\/72\/2019\/01\/01_Programador-300x222.jpg 300w, https:\/\/blogs.opovo.com.br\/varanda\/wp-content\/uploads\/sites\/72\/2019\/01\/01_Programador-768x569.jpg 768w, https:\/\/blogs.opovo.com.br\/varanda\/wp-content\/uploads\/sites\/72\/2019\/01\/01_Programador-120x89.jpg 120w, https:\/\/blogs.opovo.com.br\/varanda\/wp-content\/uploads\/sites\/72\/2019\/01\/01_Programador.jpg 1486w\" data-sizes=\"auto, (max-width: 740px) 100vw, 740px\" \/><\/p>\n<p id=\"f711\" class=\"graf graf--p graf-after--h3\">Se voc\u00ea \u00e9 programador, voc\u00ea precisa saber programar, e a tecnologia \u00e9 totalmente indiferente nesse caso. Os conceitos e paradigmas b\u00e1sicos de programa\u00e7\u00e3o podem ser encontrados em 90% das linguagens. Para aprender a programar, voc\u00ea n\u00e3o precisa de uma linguagem robusta, \u00e0 prova de falhas, que consegue achar a localiza\u00e7\u00e3o do planeta habit\u00e1vel mais pr\u00f3ximo em 0.5ms, voc\u00ea s\u00f3 precisa que ela funcione. A minha dica \u00e9 que ela seja a mais b\u00e1sica poss\u00edvel. N\u00e3o ter aquela biblioteca que vai fazer tudo por voc\u00ea ou aquela fun\u00e7\u00e3o\u00a0<em class=\"markup--em markup--p-em\">ResolveAnyProblem()\u00a0<\/em>vai te for\u00e7ar a trabalhar sua l\u00f3gica, criando solu\u00e7\u00f5es da sua maneira, e isso \u00e9 o que importa. C, C++ e Java s\u00e3o cl\u00e1ssicos que ainda funcionam muito bem.<\/p>\n<p id=\"405d\" class=\"graf graf--p graf-after--p\">Agora que voc\u00ea j\u00e1 sabe o b\u00e1sico, \u00e9 hora de aprender as tecnologias que est\u00e3o em alta para conseguir aproveitar as oportunidades de mercado! Eu tenho uma p\u00e9ssima not\u00edcia, voc\u00ea n\u00e3o vai conseguir ser excelente em todas, mas isso n\u00e3o \u00e9 de longe um problema pra quem est\u00e1 come\u00e7ando. Voc\u00ea j\u00e1 sabe o b\u00e1sico, qualquer tecnologia que voc\u00ea tiver que aprender, vai conseguir com uma facilidade muito maior e em bem menos tempo. A minha dica \u00e9: foque na que te empolga mais, porque quando se trabalha com uma tecnologia que voc\u00ea gosta, tudo fica mais f\u00e1cil. Das outras que restarem, escolha uma que voc\u00ea vai chamar de linguagem secund\u00e1ria e dedique tempo a ela de acordo com a oferta de oportunidades.<\/p>\n<p id=\"9316\" class=\"graf graf--h3 graf-after--p\"><strong>&#8220;Mas meus problemas s\u00e3o os frameworks!&#8221;<\/strong><\/p>\n<p id=\"c1d0\" class=\"graf graf--p graf-after--h3\">Eu sei, meu amigo! Tem vaga exigindo que voc\u00ea saiba pelo menos uns 30, mas n\u00e3o se assuste! Framework n\u00e3o \u00e9 problema, \u00e9 solu\u00e7\u00e3o! Se voc\u00ea tem domin\u00e2ncia na linguagem em que o framework foi desenvolvido, voc\u00ea vai perceber que todos eles s\u00e3o apenas ferramentas pra te ajudar a ser mais produtivo. O problema \u00e9 quando se pula direto para o framework. Al\u00e9m da curva de aprendizado ser muito maior, voc\u00ea fica preso a ele, n\u00e3o conseguindo ter uma migra\u00e7\u00e3o suave para outros frameworks da mesma linguagem, ou at\u00e9 mesmo, impactando na sua qualidade de c\u00f3digo na linguagem quando se remove o framework.<\/p>\n<p id=\"087a\" class=\"graf graf--p graf-after--p\">Note que em nenhum momento eu falei que tecnologia, linguagem ou framework voc\u00ea deve aprender (tirando os cl\u00e1ssicos, que \u00e9 b\u00e1sico), porque isso n\u00e3o importa!<\/p>\n<p id=\"ffaf\" class=\"graf graf--h3 graf-after--p\"><strong>&#8220;Certo, entendi. Agora que eu j\u00e1 sei de que ponto vou partir, como posso melhorar e agilizar meu aprendizado?&#8221;<\/strong><\/p>\n<p id=\"e5a9\" class=\"graf graf--p graf-after--h3\">Voc\u00ea est\u00e1 me perguntando como aprender r\u00e1pido, certo? Eu diria que essa \u00e9 a pergunta de $ 1m para quem \u00e9 programador! O mundo em que vivemos est\u00e1 em constantes mudan\u00e7as, onde tecnologias novas aparecem a todo instante. Aprender r\u00e1pido \u00e9 uma habilidade que precisa ser desenvolvida, e posso te adiantar que voc\u00ea est\u00e1 no caminho certo! Come\u00e7ar corretamente \u00e9 sem d\u00favidas um investimento que vai te fazer economizar muito tempo mais na frente.<\/p>\n<p id=\"958e\" class=\"graf graf--p graf-after--p graf--trailing\">Mas o que importa \u00e9 como posso te ajudar a aprender a linguagem que voc\u00ea escolheu (vamos denominar ela de WW, tamb\u00e9m conhecida como Wade Wilson). Eu n\u00e3o me importo com qual\u00a0<a class=\"markup--anchor markup--p-anchor\" href=\"https:\/\/pt.wikipedia.org\/wiki\/Paradigma_de_programa%C3%A7%C3%A3o\" target=\"_blank\" rel=\"nofollow noopener\" data-href=\"https:\/\/pt.wikipedia.org\/wiki\/Paradigma_de_programa%C3%A7%C3%A3o\">paradigma<\/a>\u00a0voc\u00ea escolheu ou para qual finalidade WW foi criada, porque isso n\u00e3o interfere nas t\u00e9cnicas para te ajudar a aprender. Se virar e tentar encaixar \u00e9 o grande desafio. N\u00e3o importa se voc\u00ea vai fazer isso a partir do terminal, criar um interface pro usu\u00e1rio ou at\u00e9 mesmo uma p\u00e1gina na WEB, o importante \u00e9 voc\u00ea resolver o problema.<\/p>\n<\/div>\n<\/div>\n<\/section>\n<section class=\"section section--body\">\n<div class=\"section-content\">\n<div class=\"section-inner sectionLayout--insetColumn\">\n<p id=\"5a46\" class=\"graf graf--h3 graf--leading\"><strong>Os desafios:<\/strong><\/p>\n<p id=\"b9c2\" class=\"graf graf--h4 graf-after--h3\"><strong>CRUD<\/strong><\/p>\n<p id=\"6fb5\" class=\"graf graf--p graf-after--h4\"><em class=\"markup--em markup--p-em\">Create, Read, Update and Delete\u00a0<\/em>(CRUD) s\u00e3o opera\u00e7\u00f5es b\u00e1sicas vistas comumente em banco de dados relacionais. Mas como isso pode te ajudar?<br \/>\nPrimeiro voc\u00ea precisa imaginar uma situa\u00e7\u00e3o real, para voc\u00ea passar por problemas reais, como por exemplo, um programa de gerenciamento de agenda de uma cl\u00ednica m\u00e9dica, ou ent\u00e3o, um programa de gerenciamento de delivery de restaurantes. Pegue algo que voc\u00ea possa observar e tentar aplicar ao m\u00e1ximo no seu projeto, depois comece.<\/p>\n<p id=\"ead8\" class=\"graf graf--p graf-after--p\">Vamos usar o exemplo de delivery de restaurantes. O que voc\u00ea vai precisar fazer?<br \/>\nPrimeiro, liste as features, por exemplo:<br \/>\n&#8211; Criar um restaurante (Create);<br \/>\n&#8211; Listar todos os restaurantes (Read);<br \/>\n&#8211; Visualizar um restaurante (Read);<br \/>\n&#8211; Atualizar um restaurante (Update);<br \/>\n&#8211; Apagar um restaurante (Delete);<\/p>\n<p id=\"9aab\" class=\"graf graf--p graf-after--p\">Viu quanta coisa que voc\u00ea vai ter que fazer? E n\u00e3o estou nem na metade, ainda tem a parte de cadastramento de pratos, pedidos, usu\u00e1rios, avalia\u00e7\u00e3o etc.<br \/>\n\u00c9 assim que voc\u00ea vai aprender! Com problemas reais e n\u00e3o com desafios do tipo ache a raiz quadrada de 242034 a vig\u00e9sima pot\u00eancia mostrando todos os n\u00fameros primos, porque voc\u00ea n\u00e3o vai ver isso quando for trabalhar.<\/p>\n<p id=\"d95a\" class=\"graf graf--p graf-after--p\">Depois, v\u00e1 aperfei\u00e7oando seu projeto, refazendo partes antigas, aplicando coisas novas que voc\u00ea aprendeu, melhorando o c\u00f3digo e a interface, implementando um banco de dados etc. Isso nada mais \u00e9 que a prova clara da sua evolu\u00e7\u00e3o. Por \u00faltimo, mas n\u00e3o menos importante, defina metas! Quando voc\u00ea encontra um grande desafio ou problema, as coisas tendem a ficar chatas, e se voc\u00ea ignorar isso, ser\u00e1 de grande preju\u00edzo. As metas servem pra te proteger e te dar a sensa\u00e7\u00e3o de inacabado. Esse incomodo \u00e9 muito importante, porque quando voc\u00ea concluir todas as metas, a sensa\u00e7\u00e3o de dever cumprido ser\u00e1 muito maior e voc\u00ea vai ficar mais confiante quando estiver colocando a m\u00e3o na massa profissionalmente.<\/p>\n<p id=\"0d4e\" class=\"graf graf--h4 graf-after--p\"><strong>C\u00f3digo fonte<\/strong><\/p>\n<p id=\"30f7\" class=\"graf graf--p graf-after--h4\">Sabe o que um programador precisa saber fazer t\u00e3o bem quanto escrever c\u00f3digo? Ler c\u00f3digo!<\/p>\n<p id=\"d155\" class=\"graf graf--p graf-after--p\">A habilidade de ler c\u00f3digo \u00e9 essencial no mercado, e ningu\u00e9m d\u00e1 a devida aten\u00e7\u00e3o a isso, todos levam a vida da forma ut\u00f3pica de que todos os seus parceiros de trabalho v\u00e3o escrever um c\u00f3digo impec\u00e1vel, documentado e totalmente autoexplicativo. Se voc\u00ea pensa dessa forma, voc\u00ea est\u00e1 muito enganado. Voc\u00ea precisa saber ler c\u00f3digo, sendo ele bom ou ruim. Quando se trabalha em grandes projetos, n\u00e3o se tem tempo para fazer tudo, nem de refazer as coisas a sua maneira. N\u00e3o saber ler c\u00f3digo \u00e9 um dos grandes gargalos em times jovens de desenvolvimento, atrasam projetos em meses, e como voc\u00ea deve saber muito bem, tempo \u00e9 dinheiro. A empresa n\u00e3o vai gostar de ter um time de desenvolvimento caro e improdutivo.<\/p>\n<p id=\"07c7\" class=\"graf graf--p graf-after--p graf--trailing\">E sabe como voc\u00ea aprende a ler c\u00f3digo? Lendo c\u00f3digos! \u00d3bvio, n\u00e3o \u00e9? Parece que n\u00e3o, porque quase ningu\u00e9m faz isso. Quantas vezes voc\u00ea j\u00e1 abriu o\u00a0<em class=\"markup--em markup--p-em\">src\/<\/em>daquela biblioteca que voc\u00ea usa diariamente para saber como ela trabalha? Quantas vezes j\u00e1 entrou no\u00a0<a class=\"markup--anchor markup--p-anchor\" href=\"http:\/\/www.github.com\/\" target=\"_blank\" rel=\"nofollow noopener\" data-href=\"http:\/\/www.github.com\">GitHub<\/a>, pesquisou bibliotecas ou frameworks e tentou entender exatamente como ele funciona? Abriu arquivo por arquivo, criando linhas de pensamento e tentando pensar logicamente como os desenvolvedores chegaram naquela solu\u00e7\u00e3o? Aposto que poucas vezes, e ainda desistiu quando encontrou o primeiro bloco de c\u00f3digo que n\u00e3o conseguiu entender. S\u00e3o nessas dificuldades que voc\u00ea aprende a ler c\u00f3digo, e de tabela, voc\u00ea ainda melhora sua l\u00f3gica e aprende features da ferramenta que voc\u00ea nem sabia que existia. Fazendo isso, quando voc\u00ea encontrar aquele c\u00f3digo que pede um exorcismo, voc\u00ea vai entender exatamente o que ele faz, porque voc\u00ea j\u00e1 passou por casos bem piores.<\/p>\n<p class=\"graf graf--p graf-after--p graf--trailing\">Espero ter te ajudado, boa\u00a0sorte!<\/p>\n<\/div>\n<\/div>\n<\/section>\n","protected":false},"excerpt":{"rendered":"<p>Texto por Murilo Parente, atual diretor de produto e tecnologia da Digital Influencers e desenvolvedor desde os 13 que viu no empreendedorismo uma forma de&#8230;<\/p>\n","protected":false},"author":166,"featured_media":434,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6,38,12,86],"tags":[87,56],"class_list":["post-439","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-casa-azul","category-convidados","category-intermediario","category-tecnologia","tag-programacao","tag-tecnologia"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/blogs.opovo.com.br\/varanda\/wp-json\/wp\/v2\/posts\/439","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.opovo.com.br\/varanda\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.opovo.com.br\/varanda\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.opovo.com.br\/varanda\/wp-json\/wp\/v2\/users\/166"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.opovo.com.br\/varanda\/wp-json\/wp\/v2\/comments?post=439"}],"version-history":[{"count":1,"href":"https:\/\/blogs.opovo.com.br\/varanda\/wp-json\/wp\/v2\/posts\/439\/revisions"}],"predecessor-version":[{"id":440,"href":"https:\/\/blogs.opovo.com.br\/varanda\/wp-json\/wp\/v2\/posts\/439\/revisions\/440"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blogs.opovo.com.br\/varanda\/wp-json\/wp\/v2\/media\/434"}],"wp:attachment":[{"href":"https:\/\/blogs.opovo.com.br\/varanda\/wp-json\/wp\/v2\/media?parent=439"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.opovo.com.br\/varanda\/wp-json\/wp\/v2\/categories?post=439"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.opovo.com.br\/varanda\/wp-json\/wp\/v2\/tags?post=439"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}