{"id":26820,"date":"2018-08-29T16:13:56","date_gmt":"2018-08-29T16:13:56","guid":{"rendered":"https:\/\/devlooper.blog.br\/\/materiais\/artigos\/confira-o-passo-a-passo-para-se-tornar-um-desenvolvedor-full-stack\/"},"modified":"2018-08-29T16:13:56","modified_gmt":"2018-08-29T16:13:56","slug":"confira-o-passo-a-passo-para-se-tornar-um-desenvolvedor-full-stack","status":"publish","type":"post","link":"https:\/\/www.locaweb.com.br\/blog\/temas\/codigo-aberto\/confira-o-passo-a-passo-para-se-tornar-um-desenvolvedor-full-stack\/","title":{"rendered":"Confira o passo a passo para se tornar um desenvolvedor full stack"},"content":{"rendered":"<p>Combinando algumas habilidades <a href=\"https:\/\/devlooper.blog.br\/\/categoria\/front-end\/\" target=\"_blank\" rel=\"noopener noreferrer\">front-end<\/a>,\u00a0<a href=\"https:\/\/devlooper.blog.br\/\/categoria\/back-end\/\" target=\"_blank\" rel=\"noopener noreferrer\">back-end<\/a>, devops e neg\u00f3cios,\u00a0o desenvolvedor Full Stack \u00e9 um perfil cada vez mais buscado por empresas de tecnologia que precisam otimizar suas equipes com profissionais vers\u00e1teis que tenham uma vis\u00e3o hol\u00edstica de todo o processo de constru\u00e7\u00e3o de um software.<\/p>\n<p>Mas a jornada para se tornar um desenvolvedor full stack n\u00e3o \u00e9 f\u00e1cil. Para chegar l\u00e1, \u00e9 preciso conhecer sobre todas as camadas do desenvolvimento de aplica\u00e7\u00f5es, estudar bastante sobre diferentes temas\u00a0e dominar alguma\u00a0linguagem\u00a0de programa\u00e7\u00e3o.<\/p>\n<p>Pensando nisso, neste artigo explicamos o passo a passo para quem ambiciona ser um desenvolvedor full stack e o que \u00e9 preciso para atingir esse objetivo. Boa leitura!<\/p>\n<h2>Como come\u00e7ar a jornada de desenvolvedor full stack?<\/h2>\n<p>Antes de tudo, \u00e9 importante entender que o desenvolvedor full stack n\u00e3o precisa ser um especialista em todos os assuntos. Geralmente o perfil desse tipo de profissional \u00e9 aquele em formato de \u201cT\u201d, que \u00e9 um especialista com um profundo conhecimento em uma \u00e1rea e um dom\u00ednio razo\u00e1vel em assuntos relacionados.<\/p>\n<p>Portanto, \u00e9 seguro dizer que a maior parte dos devs full stack hoje come\u00e7aram o caminho se especializando em uma \u00e1rea como o front-end ou o back-end e aos poucos foram expandindo\u00a0seus conhecimentos at\u00e9 dominarem todas as camadas do desenvolvimento e serem capazes de assumir qualquer fun\u00e7\u00e3o na cria\u00e7\u00e3o de um software. Desde a vis\u00e3o t\u00e9cnica, at\u00e9 a camada de neg\u00f3cio.<\/p>\n<p>Para quem est\u00e1 dando os primeiros passos na \u00e1rea de programa\u00e7\u00e3o, o primeiro passo portanto \u00e9\u00a0iniciar e se especializar em alguma habilidade e ser capaz de trabalhar confortavelmente como front-end ou back-end.<\/p>\n<p>Existe um projeto open source no GitHub onde os pr\u00f3prios desenvolvedores montaram um caminho evolutivo para a carreira de web developer. Esse projeto pode ser acessado atrav\u00e9s <a href=\"https:\/\/github.com\/kamranahmedse\/developer-roadmap\" target=\"_blank\" rel=\"noopener noreferrer\">deste link<\/a>.<\/p>\n<p>Depois disso, \u00e9 hora de expandir os horizontes e adquirir novos conhecimentos. E existem algumas habilidades que precisam estar no repert\u00f3rio de todo dev full stack. Vamos conhecer algumas delas!<\/p>\n<h2>O que \u00e9 preciso saber para se tornar um desenvolvedor full stack?<\/h2>\n<p>O principal pr\u00e9-requisito para quem quer se tornar um desenvolvedor full stack \u00e9 a curiosidade: \u00e9 preciso ser uma pessoa interessada em aprender coisas novas o tempo todo e aprimorar suas habilidades de forma cont\u00ednua.<\/p>\n<p>E isso n\u00e3o significa ser um especialista em todos os assuntos que conhece, mas sim saber o suficiente para executar um trabalho com qualidade em diversas \u00e1reas complementares.<\/p>\n<p>Dito isso, entre as\u00a0habilidades que devem ser desenvolvidas\u00a0por quem almeja ser um dev full stack, uma das mais importantes, \u00e9 conhecer bem uma ferramenta de controle de vers\u00e3o como o Git. Na pr\u00e1tica, isso \u00e9 algo que todo programador deve aprender, mas se torna ainda mais essencial para aqueles que querem organizar a evolu\u00e7\u00e3o de sua aplica\u00e7\u00e3o.<\/p>\n<p>Sobre as\u00a0<a href=\"https:\/\/devlooper.blog.br\/\/materiais\/artigos\/conheca-as-linguagens-de-programacao-mais-utilizadas-do-mercado\/\" target=\"_blank\" rel=\"noopener noreferrer\">linguagens de programa\u00e7\u00e3o<\/a>, \u00e9 importante que o dev full stack tenha conhecimentos s\u00f3lidos sobre uma linguagem, mas entenda que n\u00e3o existe &#8220;bala de prata&#8221;.\u00a0Para cada problema deve ser analisado qual a melhor linguagem e arquitetura a ser utilizada.<\/p>\n<p>Com o surgimento de frameworks JavaScript, como node.js, angular e vue.js, j\u00e1 existem produtos feitos com JavaScript do come\u00e7o ao fim, portanto, n\u00e3o \u00e9 um exagero dizer que saber escrever c\u00f3digo nessa linguagem \u00e9 algo que conv\u00e9m para um full stack que atua nas duas camadas.<\/p>\n<p>Para quem atua em uma camada mais alto n\u00edvel, o HTML\u00a0e CSS s\u00e3o tamb\u00e9m\u00a0conhecimentos importantes, especialmente quando o objetivo \u00e9 um produto para web. J\u00e1 na camada de baixo n\u00edvel\u00a0s\u00e3o muitas linguagens poss\u00edveis, como\u00a0Ruby, Python, Elixir, Clojure e muitas outras.\u00a0N\u00e3o se esquecendo dos frameworks de back-end como Rails e Django que facilitam o dia a dia na codifica\u00e7\u00e3o.<\/p>\n<p>\u00c9 importante lembrar de garantir a qualidade de seu c\u00f3digo, assim aprenda e aplique testes (unit\u00e1rios, funcionais, regress\u00e3o, etc) tanto na camada de back-end como a de front-end.<\/p>\n<p>N\u00e3o \u00e9 preciso conhecer profundamente todas, mas vale a pena se esfor\u00e7ar para, pelo menos, saber a diferen\u00e7a de uma linguagem orientada a objetos para uma orientada a eventos, por exemplo, o que faz diferen\u00e7a se for preciso aprender uma linguagem nova para um projeto espec\u00edfico.<\/p>\n<p>Quem\u00a0j\u00e1 tem experi\u00eancia desenvolvendo com mais de uma linguagem certamente ter\u00e1 facilidade em aprender novas linguagens\u00a0em consideravelmente pouco tempo.<\/p>\n<p>Outro conhecimento\u00a0que n\u00e3o deve ficar de fora\u00a0\u00e9 o conhecimento de bancos de dados, sejam eles relacionais como um MySQL,\u00a0ou um n\u00e3o relacionais como o Cassandra. Trabalhar com a complexidade e o volume de bancos de dados complexos \u00e9 algo que pode parecer intimidador, mas \u00e9 o tipo de desafio que faz parte do dia a dia de um dev full stack.<\/p>\n<p>Para finalizar, estude sobre sistemas operacionais (linux, windows), servidores de aplica\u00e7\u00e3o (nginx, apache) e cont\u00eaineres (docker, kubernetes) que est\u00e3o em alta no ambiente de desenvolvimento e ajudam na produtividade.<\/p>\n<h2>Quais habilidades podem complementar a forma\u00e7\u00e3o de um desenvolvedor full stack?<\/h2>\n<p>Com os conhecimentos anteriormente mencionados\u00a0\u00e9 muito prov\u00e1vel que o desenvolvedor j\u00e1 se sinta pronto para colocar o full stack no seu curr\u00edculo. E, de fato, o b\u00e1sico desse perfil \u00e9 o que foi descrito acima.<\/p>\n<p>Por\u00e9m, para se destacar, \u00e9 interessante que o dev se interesse e desenvolva habilidades complementares que n\u00e3o est\u00e3o diretamente ligadas com o c\u00f3digo, mas podem ser decisivas para se ter uma vis\u00e3o hol\u00edstica de um projeto e compreender melhor qual o tipo de trabalho ser\u00e1 feito.<\/p>\n<p>Entre os v\u00e1rios caminhos que podem ser seguidos, uma recomenda\u00e7\u00e3o \u00e9: aprender sobre o\u00a0neg\u00f3cio de seu produto. Muitas vezes, a falta de comunica\u00e7\u00e3o entre o time de desenvolvedores e o cliente, resulta em produtos que custam caro e est\u00e3o cheios de funcionalidades que ningu\u00e9m utiliza.<\/p>\n<p>Conhecer metodologias de desenvolvimento \u00e1gil como o Scrum, Kanban e pr\u00e1ticas de entrega cont\u00ednua\u00a0tamb\u00e9m \u00e9 algo que precisa fazer parte do repert\u00f3rio de um bom desenvolvedor full stack. Com essas habilidades, al\u00e9m de saber como realizar bem o trabalho do ponto de vista t\u00e9cnico, o dev tamb\u00e9m entende como otimizar seu\u00a0esfor\u00e7o gerando valor mais r\u00e1pido ao cliente final de seu produto.<\/p>\n<p>Por fim, um desenvolvedor tamb\u00e9m pode se aprofundar em conhecimento de neg\u00f3cios relacionado ao mercado em que atua, trocando experi\u00eancias com os times de outros setores e conhecendo melhor as possibilidades e aplica\u00e7\u00f5es reais dos softwares que ele criar\u00e1.<\/p>\n<p>E agora que voc\u00ea j\u00e1 sabe como se tornar um desenvolvedor full stack, aproveite para aprender mais acompanhando nosso\u00a0<a href=\"https:\/\/www.linkedin.com\/company\/locaweb\/\">LinkedIn<\/a>, assinando nosso\u00a0<a href=\"https:\/\/www.youtube.com\/user\/locaweb\">canal no YouTube<\/a>, curtindo nossa p\u00e1gina no\u00a0<a href=\"https:\/\/www.facebook.com\/locaweb\">Facebook<\/a>\u00a0e seguindo nosso\u00a0<a href=\"https:\/\/twitter.com\/locaweb\">Twitter<\/a>!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Combinando algumas habilidades front-end,\u00a0back-end, devops e neg\u00f3cios,\u00a0o desenvolvedor Full Stack \u00e9 um perfil cada vez mais buscado por empresas de tecnologia que precisam otimizar suas equipes com profissionais vers\u00e1teis que tenham uma vis\u00e3o hol\u00edstica de todo o processo de constru\u00e7\u00e3o de um software. Mas a jornada para se tornar um desenvolvedor full stack n\u00e3o \u00e9 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":277,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[5],"tags":[],"class_list":["post-26820","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-codigo-aberto"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/posts\/26820","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/comments?post=26820"}],"version-history":[{"count":0,"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/posts\/26820\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/media\/277"}],"wp:attachment":[{"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/media?parent=26820"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/categories?post=26820"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/tags?post=26820"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}