Skip to content

Do back ao mobile: de onde surgiu a programação fullstack #4

@antonioalexandre1984

Description

@antonioalexandre1984

Conhecimento e domínio das stacks são recursos fundamentais para toda pessoa programadora na web
O mercado da programação é bastante exigente no que se refere às novas tecnologias e conhecimentos em termos de carreiras e experiências. A comunidade é extremamente apaixonada no que faz e precisa, constantemente, se manter atualizada nas tendências do mercado.

Basta acessar blogs ou comunidades de programadores pela internet que você vai ver tópicos com discussões ferrenhas,de devs defendendo algum ponto de vista — seja para provar qual a tecnologia do momento ou para definir um termo que ainda não é consenso.

Tudo isso é relevante, inclusive é o que define, de fato, as decisões do mercado de trabalho. Por exemplo: nos últimos dez anos a comunidade beirou a loucura para definir o que é, afinal, um programador fullstack. “O que fazem, de onde vieram e o que comem?”

É uma discussão que surgiu nessa última década. Seria até uma grande ousadia afirmar que existe qualquer tipo de consenso surgido da noite para o dia. Mas existem algumas coisas importantes a saber, até porque é bastante comum encontrar vagas de emprego que exigem essa habilidade nos currículos.

Pilhas completas de informação e desempenho
A tradução literal de fullstack para português significa pilha completa e, na programação, está relacionada à quantidade de informações reunidas que o programador consegue manipular no código ao desenvolver qualquer aplicação.

Como em um jogo — pegamos o Jenga, por exemplo — uma peça, uma linha, uma informação, estão direta e indiretamente ligadas entre si: se uma delas deixa de funcionar, o sistema inteiro pode desabar.

Na programação web esse empilhamento é dividido nas stacks (pilhas) front end e back end. E ainda podemos incluir o mobile na lista.

O front é definido pelo que é aparente no produto final, é a parte frontal do sistema. A superfície do negócio, os primeiros blocos que removemos do Jenga. Geralmente a sua construção está ligada ao design da aplicação, à experiência do usuário (UX) com o que foi desenvolvido. Basicamente é o que permite o fluxo e a interação das pessoas com as informações disponíveis.

Mas o front não opera sozinho.

É o back end que constrói a estrutura do sistema por trás dos panos. Nele são criadas soluções relacionadas ao servidor (server side). Por exemplo: o armazenamento de dados e informações complexas. Se o seu site, fórum ou comunidade favorita saiu do ar por algumas horas, pode ter certeza que um grupo de programadores ficou por trás das cortinas, no back end, procurando alguma solução entre as linhas de código.

E é aqui que entra o dev fullstack. Na definição mais simples do termo, é basicamente a pessoa responsável em desenvolver soluções ponta-a-ponta (end-to-end) de um sistema. Desde a experiência inicial do usuário no front end, até a manipulação do código no back end para garantir estabilidade no sistema.

Para isso, ele precisa dominar a stack completa e as tecnologias de operação.

Uma história por trás do termo
Lá atrás — agora vamos para a década de 70 e 80 na era pré-web — desenvolver qualquer sistema de ponta-a-ponta era a premissa de qualquer programador ou engenheiro de sistemas.

Não existiam termos ou funções específicas para os programadores. Se você sabia codar, já era considerado fullstack teoricamente. Essa foi a norma até chegarmos na década atual.

A separação entre front end e back end só foi começar a existir a partir de 2008*, com o desenvolvimento acelerado da web e a popularização de novas tecnologias, como redes sociais e smartphones. Segundo o Google Trends, as buscas por front-end development, back-end development e fullstack development eram praticamente obsoletas antes de 2010.

💡
*Curiosidade: em 2008 esse blog falava sobre programação fullstack e o que significava naquele contexto. Alguns blogs consideram essa referência como a primeira citação da palavra fullstack para definir as habilidades de um programador. Apesar das mudanças tecnológicas que aconteceram na última década, o uso do termo foi ganhando popularidade a partir deste ponto.
A demanda do mercado por profissionais especializados em cada área é o que explica essa segmentação. A construção da web exigiu que os processos de desenvolvimento se tornassem mais práticos e ágeis, mobilizando equipes maiores de programadores divididos em núcleos, stacks.

Quanto mais bagagem e conhecimento os programadores possuem de uma determinada área, quanto mais ele domina a sua stack e se dedica a ela, mais precisas são as informações do sistema e melhor será o desempenho do produto final.

No entanto, enquanto a demanda por devs qualificados continua em alta na tecnologia, se torna cada vez mais comum programadores ganharem o título de fullstack, muitas vezes responsáveis por programar e manter sistemas inteiros na web.

A complexidade do trabalho, o intenso treinamento para obter o título e sua validade no mercado de trabalho foi tema de um de nossos podcasts com o Diego Fernandes.

Afinal, vale a pena ser fullstack?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions