Programador Full Stack, front-end e back-end o que é? o que faz?
A final de contas, o que é um programador full stack? O que ele faz no seu dia a dia? Esse artigo se propõe a responde todas essas perguntas de uma forma bem objetiva e simples.
À medida que a Web evoluiu e ainda está em constante evolução e naturalmente se tornou um pouco mais complexa, fez necessário que os desenvolvedores se especializassem. Isso significa que o desenvolvimento web agora tem varias especialidades e necessidades diferentes, hoje em dia essas especializações se dividem em trés categorias principais, são ela:
- Front-End (Puramente a parte visual da aplicação / site e suas interações).
- Back-End (Aqui fica a parte de bancos de dados e infraestrutura, regras de negócio "sob o capô")
- Programador Full Stack (Um híbrido de ambos). O programador full stack faz ambas as especialidades, cuida da parte vísual e da parte de banco de dados, regra d negocio e toda a infraestrutura para deixa um sistema 100% funcional.
Para entender quais são as especialidades que envolver a programação web, vou passar por cada especialidade e quais habilidade que você que almeja essa função terá que ter para se tornar um bom programador full stack.
O que é um programador front-end?
Os desenvolvedores front-end criam as partes visíveis dos sites que os usuários veem e interagem em seus navegadores.
O front end de um site (ou aplicativo da web ou móvel) é a parte que o usuário vê e com a qual interage diretamente. O front end é construído com linguagens como:
- HTML
- CSS
- JavaScript
HTML (HyperText Markup Language) é a espinha dorsal da web. Cada site que você visita é construído com HTML. Cuida de toda a estrutura e conteúdo. HTML5 é a versão atual do HTML na Web, embora sites construídos com versões mais antigas ainda funcionem bem em seu navegador.
Ebook HTML
CSS (Cascading Style Sheets) é o que controla a aparência do HTML na página. CSS define as cores, fontes, imagens de fundo e até mesmo a forma como a página é disposta (você pode usar CSS para organizar os elementos HTML em uma página como quiser, mesmo se for diferente da ordem em que estão dispostos no arquivo HTML). CSS3 é a versão atual do CSS na Web e adiciona uma tonelada de recursos para coisas como interatividade básica e animações.
Veja alguns artigos importantes que estão publicados aqui no blog
- Variáveis CSS como criar as propriedades personalizadas
- CSS Viewport: Entenda as unidades de visualizações do CSS
- Bulma CSS - Guia básico para iniciante
Agora, você pode criar um site apenas com HTML e CSS , mas é o JavaScript que muda o jogo (além disso, é o que está causando todos os borrões mencionados acima). Para simplificar, o JavaScript permite que você adicione interatividade, animações mais complexas e até torna possível construir aplicações Web com todos os recursos.
No canal do TipsCode tem vários projetos e treinamentos para lhe ajudar nesta jornada
Antigamente (como em 2012), os navegadores web costumavam ser muito ruins em interpretar muito código JavaScript, então adicionar funcionalidades complexas com JS nem sempre era uma boa ideia. Mas os navegadores se tornaram muito mais poderosos, tornando possível fazer com JavaScript o que costumava ser reservado para linguagens de programação de “back end”.
E houve avanços no próprio JavaScript (incluindo a criação de frameworks e plataformas como AngularJs, React, VueJS e Node.js entre outras). Resumindo, houve uma mudança radical na forma de desenvolver a parte visual do site / e aplicações web nos últimos anos.
Resumindo, os desenvolvedores front-end usam HTML, CSS e JavaScript para codificar sites/aplicações web. São eles que pegam o design e criam um site funcional a partir dele. Alguns sites são construídos apenas com HTML, CSS e JavaScript. Outros sites, no entanto, têm mais código escondido no back-end do site, para aumentar ou aprimorar o front-end do site.
O que é um programador back-end?
Os desenvolvedores de back-end criam as partes “ocultas” dos sites com as quais os usuários não interagem diretamente.
Então, o que isso significa para front end vs back end? Embora o front end seja tudo com que o usuário interage diretamente, o back end fica muito mais nos bastidores e pode ter algumas vantagens sobre as tecnologias de front end para projetos específicos. As linguagens de programação de back end incluem:
- JavaScript
- Java
- PHP
- Ruby
- Python
Uma coisa a observar: você provavelmente não verá muitas listas de empregos dizendo que uma empresa está procurando um "desenvolvedor back-end". Em vez disso, você encontrará listagens procurando por desenvolvedores NodeJS, Ruby ou desenvolvedores PHP, etc., porque a linguagem de programação real que um desenvolvedor conhece é a chave para se adequar a um determinado trabalho.
Antes a linguagem JavaScript era super limitada, porém com as novas versões e a criação da plataforma NodeJS e própria ganhou super poderes e hoje sem dúvidas algum é uma excelente escolha para criação back-end, porém quero deixa claro aqui, a pesa de ser um entusiasta da linguagem as vezes criar o back-end com ela pode não ser a melhor opção, então acima de tudo você como um bom profissional tem que analisar a melhor linguagem para aquele determinado projeto.
Os desenvolvedores back-end geralmente trabalham com um desenvolvedor de front-end para fazer seu código funcionar no design do site ou aplicativo (ou para ajustar esse design quando necessário) e no front end. O que finalmente nos traz a pergunta principal desse artigo o que é um programador full stack.
O que é um programador full stack
Um desenvolvedor full stack é um desenvolvedor ou podemos também chama-lo de engenheiro web que trabalha com a parte do front-end e back-end de um site ou aplicação, o que significa que eles podem lidar com projetos que envolvem bancos de dados, construir sites voltados para o usuário ou até mesmo trabalhar com clientes durante a fase de planejamento de projetos.
Desenvolvedores web full stack:
Programador Full Stack
- Estão familiarizados com HTML, CSS, JavaScript e uma ou mais linguagens de back end.
- A maioria dos desenvolvedores full stack se especializam em uma determinada linguagem de programação de back-end, como JavaScript, Ruby ou Python, embora alguns, especialmente se já trabalham como desenvolvedores há algum tempo, trabalhem com mais de uma. Em listas de empregos, você geralmente verá vagas para “desenvolvedor javascript full stack” ou algo semelhante.
- Alguns desenvolvedores full stack, especialmente em 2020, também aprendem habilidades de gerenciamento de projetos, design visual, web design ou experiência do usuário - para completar sua "pilha", se você quiser
À medida que a linha entre o que pode ser feito no front-end e no back-end torna-se cada vez mais obscura, mais desenvolvedores estão se tornando o que chamamos de "stack completo"
Muitos empregadores (especialmente agências que trabalham em diferentes tipos de sites) procuram desenvolvedores que saibam como trabalhar em todas as partes de um site, para que possam usar as melhores ferramentas para o trabalho, independentemente de ser tecnicamente “front end ”Ou“ back end ”. Daí o aumento de empresas que listam o desenvolvimento de pilha completa em requisitos de trabalho.
Agora, ao contrário do que muitas pessoas pensam, “full stack completo” não significa necessariamente que um desenvolvedor está escrevendo todo o código de um site. Muitos desenvolvedores Web full stack passam a maior parte do tempo escrevendo o código de front-end ou back-end de um site /aplicação.
Mas o ponto é que eles sabem o suficiente sobre o código em toda a camada para que possam mergulhar em qualquer lugar, se necessário. E alguns desenvolvedores full stack desenvolver tudo, e normalmente eles estão trabalhando como freelance.
Quais habilidade eu preciso para me tornar um desenvolvedor full stack
Normalmente, você verá uma combinação de habilidades de front e back end listadas em listas de empregos de desenvolvedor da web full stack, incluindo:
- HTML, CSS, JavaScript
- Idealmente, um ou mais framework/biblioteca como React, Express por exemplo;
- Linguagem de programação eu indico JavaScript;
- Banco de Dados (Recomendo o MondoDB)
- Controle de versão (Git)
- Conhecimento de segurança e práticas
- Conhecimento do funcionamento web e design visual, com usabilidade
Deve ser um programador full stack?
Já que ser um desenvolvedor full stack (ou engenheiro full stack) significa que você pode trabalhar tanto na frente quanto atrás do processo de desenvolvimento web, isso significa isso passará a ser o grande objetivo?
Não necessariamente.
Se trabalhar para uma grande empresa de tecnologia (como por exemplo Facebook ou Google) é o seu sonho, ser um desenvolvedor full stack é sem dúvidas um caminho para chegar lá ou trabalhar para você mesmo como frelance (ou abrir sua própria empresa) que sem dúvidas é o que recomendo, a habilidade full stack é para você.
Se você está pensando em fazer a transição de volta para a força de trabalho depois de um tempo ausente, ou deseja começar um trabalho de meio período além de seu trabalho diário, provavelmente não precisa ser full stack.
Os empregos gerais de desenvolvimento web, especialmente os empregos de desenvolvedor web de front end, pagam bem - e há muitas vagas disponíveis.
Isso não quer dizer que você não pode aprender linguagens de back-end e chegar mais perto de um conjunto completo de habilidades à medida que progride em sua carreira com tecnologia - o ponto principal aqui é simplesmente não permitir que a pressão para aprender tudo de uma vez o mantenha paralisado. começando.
Nota: Aqui vai uma recomendação pessoal, eu lhe recomendo a fazer um curso, pois você terá uma noção muito mais completa e poderá tira suas próprias conclusões. O curso que recomendo hoje é o Programador FullStack JavaScript da escola OnebitCode e você pegando esse curso por aqui, ganhará meus treinamentos exclusivos.
Conclusões
Eu recebo muitas perguntas sobre esse tema, isso me motivou a escrever esse artigo respondendo a maiores das perguntas, espero que tenha feito sentido para você essa leitura e espero te lhe ajudado de algum forma, qualque dúvida deixa aqui nos comentários ok, que Jesus lhe abençoes, um forte abraço.
Alisson Suassuna