todos os artigos
/// Career ///

Série: Desenvolvedor web. Parte 2: Front-end vs Back-end

O que é front-end e back-end, as tecnologias de cada área, salários, e o roteiro de estudos completo para quem quer começar no desenvolvimento web.

21 de August de 2020 · ~8 min de leitura · #back-end #backend #carreira ·
Série: Desenvolvedor web Parte 2 de 2

Quer entrar no mercado de TI ou só aprender por hobby mas está perdido e não sabe nem o que procurar para começar? Leia este post que vou tentar te dar um rumo!

Antes de mais nada é preciso saber que na área de TI existem diversas profissões e que uma mesma profissão pode executar trabalhos diferentes conforme a empresa a qual você presta serviço. Neste artigo vou abordar especialmente as profissões de desenvolvimento: desenvolvedor web, analista de desenvolvimento, programador, back-end, front-end, e qualquer outro nome que essa mesma tarefa possa ter.

A maioria das empresas leva em consideração mais sua experiência na área do que sua formação acadêmica, por isso o curso que você fez ou faz na faculdade não fará muita diferença para um desenvolvedor. Eu mesmo abandonei a faculdade de ADS, não me formei e sempre trabalhei na área. Não estou falando para você fazer o mesmo, mas não se prenda muito à faculdade — aprendemos bem mais por fora dela do que dentro.

Atenção
Se você está entrando nesta área pelo retorno financeiro, tome muito cuidado. Pessoas que ganham bem são pessoas que gostam e exercem bem suas atividades. Entrar em qualquer área por dinheiro geralmente é um erro — fazer algo que não gosta pode desmotivar e frustrar até o ponto que você desista.

Escolha um trabalho que você ame e não terás que trabalhar um único dia em sua vida. — Confúcio

· · ·
01

Front-end

O front-end é a parte do sistema web que o usuário final vê — a interface gráfica. É feita por um desenvolvedor front-end, com ou sem o apoio de um UX, ou por um fullstack.

Cabe ao front-ender os conhecimentos necessários para construir uma tela responsiva que leve a melhor experiência ao usuário sem consumir recursos demasiados do navegador, internet e computador de cada pessoa.

A stack básica do front-end é composta por três tecnologias obrigatórias:

HTML
HyperText Markup Language — a linguagem universal dos navegadores. Estrutura o documento e o conteúdo. Sem ela não existe interface gráfica web.
CSS
Cascade Style Sheets — define a apresentação visual: responsividade, animações, temas, grid e flexbox.
JavaScript
Atualmente a única linguagem de script suportada por todos os navegadores. Manipula o DOM, cria interatividade e realiza requisições ao back-end.

Além da stack básica, um front deve conhecer pelo menos uma biblioteca JS e um framework de UI:

React
Biblioteca JS mantida pelo Meta. Maior ecossistema e comunidade. Padrão de mercado em 2020.
Angular
Framework completo mantido pelo Google. Mais opinativo, curva de aprendizado maior.
Vue
Curva de aprendizado menor. Popular em projetos de porte médio.
jQuery
Ainda muito usada em sistemas legados. Para novos projetos o JS nativo + CSS3 já cobre praticamente tudo que antes exigia jQuery.
Bootstrap
Framework CSS mais popular. Rápido para começar, grid system consolidado.
Materialize / Bulma / Foundation / Semantic
Alternativas ao Bootstrap com abordagens visuais e filosóficas diferentes.
Diferenciais
Conhecer técnicas de UI/UX, usabilidade, SEO, paleta de cores, teste A/B, pré-processadores CSS (Sass, Less), arquitetura CSS (BEM), e os conceitos de SPA e PWA são diferenciais importantes para um front-ender.
· · ·
02

Back-end

Back-end é a parte do sistema que realiza o processamento — onde ficam a lógica e as regras de negócio. É no back-end que ocorre a conexão com banco de dados, envio de e-mails, processamento de pagamentos e integração com outros sistemas. É a parte que o usuário não pode e não deve ver.

Segurança
Tudo que está no front-end o usuário consegue alterar, intencionalmente ou não — criando brechas de segurança. Por isso é fundamental fazer validações no back-end mesmo que elas já existam no front-end. No front valide apenas para melhorar a experiência do usuário e evitar requisições desnecessárias.

Diferente do front-end que tem uma stack de 3 tecnologias obrigatórias, no back-end não existe padronização — praticamente qualquer linguagem pode ser usada. O que pode ser feito com uma pode ser feito com qualquer outra, mudando apenas o paradigma ou a implementação.

Mito a combater
Não acreditem em nenhum vídeo, artigo ou comentário falando que linguagem X ou Y vai morrer — isso são pessoas tentando direcionar você para outra linguagem que preferem, ou pura ignorância do mercado.
PHP
Menor curva de aprendizado. Maioria das vagas de júnior no mercado. Muito usado em agências, e-commerces e sistemas de pequeno porte.
JavaScript (Node.js / Deno)
O mesmo JS do front-end, agora no back. Funciona também no mobile e desktop. Grande volume de vagas e curva de aprendizado baixa.
Python
Fácil de aprender, forte em dados e ML. Menos vagas web para júnior comparado a PHP e JS.
C# (.NET)
Dominante em grandes empresas, fintechs e sistemas corporativos. Curva de aprendizado maior.
Java
Padrão em bancos, indústria e enterprise. Verboso, mas extremamente maduro e estável.
Rust / Go / Elixir / Ruby / Kotlin / outros
Cada uma com seu nicho e paradigma. Menos vagas para iniciantes, mas crescimento acelerado em diferentes segmentos.

Partindo do princípio que você sabe zero de qualquer linguagem, você vai levar em média 6 meses a 2 anos para estar apto a conseguir uma vaga. Você só precisa saber de uma linguagem para a vaga de back-end — diferente do front, que exige a stack completa (mas o front dá para aprender em 3 meses a 1 ano).

· · ·
03

Salários e mercado

As duas profissões pagam relativamente o mesmo. O que varia é o contexto:

ContextoTende a pagar mais para
Agências de publicidade, e-commerce, marketing digitalFront-end (apelo visual maior)
Sistemas corporativos (ERP, WMS, TMS, CRM, bancos)Back-end (lógica e performance)
Startups, SaaSFullstack ou equilibrado

Lembrando que isso não é uma regra — é um padrão observado ao longo dos anos. Não existe garantia que esse cenário permaneça para sempre.

· · ·
04

O que estudar para começar

Para começar como desenvolvedor web — seja front-end, back-end ou fullstack — é importante conhecer a stack básica. Recomendo a seguinte ordem de aprendizagem:

1. HTML
Funcionamento básico · Protocolo HTTP · Tags e atributos · UI e UX · Semântica · SEO
3 a 4 semanas
2. CSS
Seletores · Atributos · Media queries · Pseudo classes · Grid system · Flexbox · BEM · Sass/Less
4 a 8 semanas
3. JavaScript
DOM · Tipos primitivos · Variáveis e escopo · Condicionais e loops · Arrays e Objetos · JSON · Funções · Eventos · AJAX/fetch · Promises · WebSockets
2 a 6 meses

A barreira do primeiro emprego

O mercado é competitivo para quem está entrando — isso é real. Mas depois que você quebra a barreira do primeiro emprego, fica muito mais fácil. O que importa nessa fase não é o salário, é o aprendizado.

Escolha a área que mais te atrai, estude com consistência, construa um portfólio com projetos reais e fuja de atalhos. Não existe caminho mágico.

 Categorias

 Tópicos deste artigo

URL copiada!