No mundo de desenvolvimento de software, existem três termos muito comums que provavelmente você já se deparou: front-end, back-end e fullstack.
É muito comum vermos vagas de empregos com os títulos: “Programador Front-end”, “Programador Back-end” e “Programador Fullstack.”
Mas o que isso significa?
Quem é responsável pelo que?
Tem alguma especialidade que é mais valorizada que outra, geralmente?
É sobre isso que você vai aprender neste artigo.
Front-end
O front-end é todo o código da aplicação responsável pela apresentação do software (client-side).
Em se tratando de aplicações web, é exatamente o código do sistema que roda no navegador.
Um desenvolvedor front-end, geralmente, trabalha com linguagens como HTML, CSS e JavaScript, além de frameworks e bibliotecas, como por exemplo Angular, React, Vue.js, etc.
Existem diversas oportunidades no mercado para desenvolvedores especialistas em front-end. Nestes casos, esses programadores não conhecem nada ou conhecem muito pouco de back-end.
São pessoas que preferiram se especializar no front da aplicação.
Embora esses programadores não precisem conhecer como desenvolver código de back-end (vamos falar sobre isso daqui a pouco), é extremamente importante que eles conheçam os fundamentos sobre a arquitetura do software, porque afinal, o código que eles produzem fazem parte de um todo e se comunica com o back-end.
Desenvolvedores front-end não lidam diretamente com banco de dados, servidores de aplicação complexos e várias outras coisas que só quem trabalha com back-end conhece.
Os desafios são outros: criar páginas ou telas com boa usabilidade e carregamento rápido, garantir o funcionamento nos diferentes navegadores, integrar com os serviços do back-end, etc.
Back-end
O back-end é a parte do software que roda no servidor, por isso também é conhecida como server-side.
É o back-end que fornece e garante todas as regras de negócio, acesso a banco de dados, segurança e escalabilidade.
Embora o front-end também possa ter algumas regras e validações, é o back-end que deve garantir a integridade dos dados.
Desenvolvedores que preferem se especializar apenas em back-end, geralmente, não são muito bons em deixar páginas bonitas e com boa usabilidade, mas são melhores em regras de negócio, banco de dados e todas as coisas que rodam no servidor.
Esses desenvolvedores trabalham com linguagens de programação como, por exemplo, Java, C#, PHP, Python, Ruby ou até mesmo JavaScript (sim, tem jeito de rodar JavaScript no servidor também).
Cada linguagem de programação é um mundo a parte, com comunidades, eventos, frameworks, livros, cursos, etc.
Fullstack
Quem trabalha tanto com front-end quanto back-end é conhecido como “Desenvolvedor Fullstack” ou “Programador Fullstack”.
Esse é um tipo de profissional mais completo, que pode entregar um projeto do início ao fim, sem necessariamente precisar de ajuda de outra pessoa para criar uma parte do sistema.
Naturalmente, é um profissional mais valorizado no mercado, especialmente se for realmente bom em front-end e back-end de forma semelhante, ou seja, não é um desenvolvedor meia boca em front ou back.
Para se tornar um Desenvolvedor Fullstack reconhecido e valorizado no mercado, o primeiro passo é conhecer os fundamentos da arquitetura e tecnologias que você vai utilizar.
É um grande erro começar a aprender desenvolvimento de software pelas tecnologias, sem entender antes a base da arquitetura.
Exatamente por esse motivo que milhares de pessoas ficam “patinando” por vários e vários meses e até anos, e nunca aprendem corretamente como criar software profissional.
Imagine um trabalhador da construção civil aprender a assentar janelas e enfileirar tijolos, sem antes entender como tudo isso vai se sustentar? Bom, é quase a mesma coisa com software!
A boa notícia é que nós publicamos um e-book, que você pode baixar gratuitamente, que tem como objetivo ser um guia para você aprender os fundamentos de uma arquitetura moderna e como algumas tecnologias que estão no auge e em pleno crescimento se encaixam.
Vamos falar de uma arquitetura e tecnologias usadas por empresas no mundo todo, inclusive no Brasil, como Google, Microsoft, Citibank, NBA, Netflix, PayPal, etc.
Ao finalizar a leitura do livro, você será capaz de identificar, entender e até discutir sobre uma arquitetura moderna de desenvolvimento de software, onde o back-end é entregue com projetos do ecossistema Spring e o front-end com Angular.
O que você achou desse artigo? Comente aí e vamos conversar.
Aproveite e deixe uma sugestão para um próximo artigo.
Um abraço.
Olá,
o que você achou deste conteúdo? Conte nos comentários.