Front-end e Back-end na prática: Trajetórias de desenvolvimento
Quer entender melhor a diferença entre front-end e back-end? Ou saber como nossos colaboradores na dti constroem sua trajetória na área? Fique até o final do artigo!
Sumário
Front-end e Back-end: Contextualização e Introdução
Assistimos em um determinado momento da história da computação a passagem do desenvolvimento de aplicações nativas ao sistema operacional, para o desenvolvimento de aplicações Web, que seriam totalmente controladas pelo usuário através do próprio navegador (em eras antigas o Internet Explorer, atualmente o Chrome), um único software que permitiria o acesso a um vasto número de aplicações.
As consequências deste breve resumo de uma fase da história da computação que compreende os anos 90/2000 podem ser vistas até hoje, na alta complexidade em que as aplicações Web são produzidas e entregues, seja pelos próprios setores de tecnologia das empresas como pelas fábricas de software no mundo todo. Toda esta complexidade levou os profissionais de TI a serem obrigados a absorverem uma alta carga de conhecimento para suportar toda a stack destas aplicações. Se você ainda não ouviu essa buzzword, neste momento você deve estar se perguntando o que é uma stack.
Stack
Stack numa tradução literal significa pilha, e pode se referir a diversos conceitos dentro da computação, desde estruturas de dados até o desenvolvimento de redes de computadores. Mas a definição que estamos interessados é a de Solution Stack, ou numa tradução livre, pilha de solução. Em cada elemento desta pilha, existe um subsistema que compreende, quando agrupados nessa stack, o sistema como um todo.
Para que fique mais claro, vejamos um exemplo prático. Suponha que você precise desenvolver uma aplicação Web para a sua empresa, que, por exemplo, controle o estoque do armazém da companhia. Como estamos falando de um contexto em que há armazenamento de dados (os dados do estoque) provavelmente além da aplicação em si, precisaremos de um banco de dados.
Um diagrama inicial da sua aplicação seria algo do tipo:
Se quisermos trazer o exemplo para um contexto mais moderno de desenvolvimento podemos quebrar o bloco Aplicação Web em mais subsistemas (lembre-se da definição da Solution Stack). Pois bem, agora adicionamos também que há um desacoplamento entre a parte que cuida da interface do usuário, ou seja a parte visual da aplicação e aquela em que há o tratamento das regras de negócio e acesso aos dados da aplicação. Depois desta quebra e já usando alguns nomes do mercado de exemplo para os novos subsistemas, sua aplicação provavelmente ficará assim:
Qual a diferença de Front-end e Back-end?
Temos a partir do diagrama acima uma stack, que compõe-se de 3 subsistemas: a parte que cuida da interface de usuário podemos chamar de front-end, a parte que cuida do tratamento das regras de negócio e acesso aos dados podemos chamar de back-end e o banco de dados não precisamos renomear. Pronto! O diagrama expressa uma típica stack de desenvolvimento moderno e você agora sabe, mesmo que não aprofundado, o que significa algumas palavrinhas que circulam por aí sobre este contexto.
Se você quiser saber em mais alto nível a diferença dessas camadas e entender conceitualmente o que é front-end e quais os conhecimentos necessários para se especializar nessa parte da stack, da uma olhada nesse outro artigo aqui do nosso blog ;).
Agora que entendemos de uma forma mais prática como é a divisão de uma stack de desenvolvimento. Vamos ver um case real de como eu direcionei a minha carreira para uma das partes desta pilha, a de front-end.
Trajetórias em Front-end e Back-end
Outros tipos de atuação dentro e fora da dti
Entrei para o mercado em 2018 como desenvolvedor full-stack. Logo que fui absorvendo as primeiras demandas de front-end já comecei a me encantar com a área e querer entender cada vez mais sobre como as pessoas poderiam interagir com as aplicações que eu desenvolvia. Trabalhei até 2019 com alguns frameworks e libs como Dojo JS, Angular JS e React JS.
Nessa época também começou meu envolvimento com os profissionais de UX/UI que atendiam a antiga empresa. Percebia ali como esses profissionais pensavam em toda a experiência dos produtos e como aquilo iria impactar o meu dia a dia de desenvolvimento. Cada elemento, cada detalhe faziam a diferença para todo o fluxo, o que me fez ganhar muito respeito por estes profissionais.
Minha carreira na dti
Ainda em 2019 eu entrei para a dti com o foco total no framework Angular. Agora tendo o desafio de ter que aprender essa ferramenta nova além de encabeçar no time toda a parte de interface, sempre em contato com os profissionais de UX/UI. Nessa época eu fazia questão de estar sempre a frente das demandas que exigiam front. Isto visando um aprendizado mais focado e que me levasse a me especializar nessa área.
E como aqui na dti temos como pilar o compartilhamento de conhecimento. Ao mesmo tempo que aprendia, repassava muita coisa para a empresa. Numa maneira de reforçar o meu conhecimento e corrigir as falhas com as opiniões das pessoas mais experientes. Ademais, esse pilar abriu inúmeras portas para mim dentro da empresa e fora, levando a minha voz para a comunidade também, através dos Techshots.
Das várias atuações que um desenvolvedor web pode ter (algumas delas você pode visualizar nesse artigo), aceitei o desafio de assumir a posição de Desenvolvedor Líder aqui da dti. Então além das responsabilidades de encabeçar a operação dos projetos, ainda tenho que me preocupar com a qualidade das entregas. E, é claro, com acompanhamento da carreira dos membros do time. Um baita desafio que trouxe muitos aprendizados extra-desenvolvimento!
Trajetória e aprendizado
Ao longo da minha trajetória aqui na dti já pude ter contato com inúmeras ferramentas de desenvolvimento front-end. Tanto dentro do time como na nossa Guilda de Front-End e Back-end. Já tive a oportunidade de aprender sobre outros frameworks, também. Por exemplo: lidar com interfaces que são publicadas na nuvem, testar o front-end de maneira adequada, lidar com design systems, dentre outros desafios que me motivam a cada dia. Inclusive, participei do Entre Chaves sobre esse tema, o podcast técnico da dti.
Tem interesse nas áreas de tecnologia e quer integrar um time que entende de agilismo na prática e sabe o valor da diversidade? Acesse nossa página de carreiras e venha ser dti!
Desenvolvimento Profissional
Confira outros artigos
Como se tornar um analista de segurança da informação
O modo antigo de Segurança propunha modos de trabalho onde equipes trabalhavam separadas. Entretanto, na medida em que as empresas vão se transformando digitalmente, esse cenário também precisa se adaptar. Para tal, busca-se um modelo de trabalho em que o analista de segurança da informação encaixe o seu modelo de trabalho no modus operandi atual, […]
Desenvolvimento Profissional
Jogos para o ensino do SCRUM e das histórias de usuários
Vivemos em um cenário em que o ensino do levantamento de requisitos e a gerência de projetos não é muito abordado no universo da Engenha de Software. Para sanar essa dor, apresentamos uma estratégia de ensino do Scrum para que a geração atual e as próximas possam experimentar uma abordagem que agrega a teoria e […]
Desenvolvimento Profissional
Trajetórias negras no contexto digital e no agilismo
Quando falamos do contexto digital e trajetórias negras no agilismo, temos algumas pré-concepções de falarmos sobre times anti-frágeis, multidisciplinares, criativos e com várias outras características positivas. Nenhuma dessas concepções são errôneas, mas te convido a pensar que talvez, elas sejam incompletas se não analisadas em suas diferentes faces, e uma delas, é a face da […]
Desenvolvimento Profissional