Article image
Flávio Sousa
Flávio Sousa28/11/2023 10:20
Compartilhe

Back-End: É tudo CRUD mesmo?

    Estou passando por diversas dificuldades, mas isso é algo comum na vida de um programador e universitário, especialmente quando se combinam essas duas variáveis. Recentemente, um comentário de um colega me fez questionar: "Ah, no back-end é só fazer CRUD e nada mais; é bem melhor focar apenas no front-end." .

    Então, decidi pesquisar um pouco no nosso querido amigo Google, ChatGPT, e em algumas pesquisas salariais. Essa pesquisa me motivou a escrever este artigo.

    Ao analisar a pesquisa salarial da Código Fonte no ano de 2023, percebemos que a maioria dos desenvolvedores atua na área web, seguida pelo back-end, como mostra a imagem a seguir:

    image

    Essa pequena parte revela muito sobre o mercado atual no Brasil e dos brasileiros que trabalham no exterior. Áreas como Segurança da Informação, DevOps, QA, Embarcados, entre outras, têm correlação tanto com o back-end quanto com o front-end.

    Agora, com dados do Stack Overflow:

    image

    Ao ampliar a área de busca para o mundo inteiro, observamos que a situação muda um pouco, com mais desenvolvedores back-end do que front-end.

    Mas, por que alguns não escolhem trabalhar apenas com o front-end ou o back-end? O básico já funciona bem, não é?

    Sim, e funciona muito bem. No entanto, essas áreas são mais específicas, como a segurança, e é aí que devemos nos preocupar. Se sou um desenvolvedor front-end/back-end, por que devo dar tanta atenção a essas áreas específicas? Nada melhor do que alguém que tenha interesse e se dedique especialmente a essa área, já que essa pessoa se preocupa em proteger as informações, não apenas em garantir se os dados que enviei/recebi da minha API estão corretos.

    Não quero assustar os novatos que estão começando a engatinhar na programação e acham que dominam uma tecnologia só porque fazem um CRUD, uma tela de produtos estática ou até mesmo uma calculadora simples. Não entenda errado; não estou menosprezando quem faz esses projetos ou uma Pokedex, que todo bom programador tem no Github. O que quero dizer é que essas pessoas geralmente ficam no básico, com 50 projetos, mas todos básicos.

    Muitas vezes, temos a impressão de que o software que criamos está pronto. Mas, o que realmente significa estar pronto? É apenas não apresentar bugs e cadastrar um novo produto na sua API? Seu software/solução precisa de melhorias constantes.

    Como exemplo recente, desenvolvi uma aplicação FullStack para a disciplina de Banco de Dados 2. O objetivo era cadastrar e visualizar ocorrências criminais (Crime Alert). Eu poderia ter feito apenas isso, mas como a vida é um desafio, resolvi dificultar um pouco. Na primeira versão, implementei um cadastro de usuários com login, usando JWT. Isso já vai além do CRUD, concorda? Se você ainda não concorda, tudo bem; vamos para a segunda versão do projeto. Agora, temos uma seção de gráficos com os dados do banco de dados (MongoDB), mostrando ao usuário de forma mais simples e direta o que está ocorrendo na sua cidade ou circunvizinhanças, e o horário geralmente em que esses eventos acontecem.

    Ainda não satisfeito com os exemplos? Então, permita-me ser mais claro. Na terceira versão do projeto citado acima, onde preciso escolher uma funcionalidade que faça sentido na lógica de negócios, a funcionalidade é livre para escolha, mas temos que usar um banco de grafos nessa funcionalidade.

    Diante do abordado neste artigo, conclui-se que ser um desenvolvedor e escolher uma tecnologia para seguir atualmente é desafiador. No entanto, não devemos desistir; devemos buscar constantemente a melhoria, refletindo isso em nossos projetos, que, por sua vez, precisam extrair o melhor do nosso conhecimento. Por enquanto, que tal focar em aprimorar suas habilidades e mostrar que você não é um simples desenvolvedor que só faz CRUD ou uma Pokedex?

    Simplificando o artigo em poucas palavras, existem várias áreas dentro do front-end e do back-end em que não é necessário apenas criar ou apagar, e mesmo que, no começo, seja apenas um simples Create, Read, Update e Delete, podemos adicionar mais funcionalidades que agreguem valor à lógica de negócios.

    Bibliografia:

    Compartilhe
    Comentários (4)
    João Oliveira
    João Oliveira - 05/12/2023 17:22

    Ótimo artigo, Flávio!

    Quenã Abbady
    Quenã Abbady - 28/11/2023 12:20

    Olá Flávio!


    Achei seu texto interessante e realmente muito se fala, principalmente aqui no Brasil, que o BE é só CRUD. Assim como quem é do FE deve ouvir bastante que é só "criar interfaces bonitinhas".


    Eu acredito que a especialização em uma linha ou outra de fato, se dá não pela complexidade dos recursos que você citou, MAS sim saber o motivo de quais recursos implementar e a viabilidade econômica. Pegando como exemplo, a implementação que você adicionou JWT. Não é em todo o projeto que é aplicável, assim como enviar e receber dados via API não se enquadra em outros cujo foco seja segurança, por exemplo. A arquitetura da API vai mudando conforme o objetivo do projeto.


    Acredito que ao focar em BE, o desenvolvedor vai entrando em camadas mais internas do projeto e passa a se preocupar com parâmetros de projeto de maior complexidade onde não só a tecnologia, mas a arquitetura como um todo começa a ser o foco, além da adaptação as regras de negócio buscando otimizar os recursos da empresa. Já no FE, o desenvolvedor acaba mergulhando bastante em UX para desenvolver os seus trabalhos, focando em técnicas que se enquadram melhor baseado no comportamento do usuário de determinado serviço.


    Sucesso!

    Luan Abreu
    Luan Abreu - 28/11/2023 10:30

    No final das contas o que faz você se destacar acaba sendo procurar o a mais, fazer um login é fácil, mas como funciona a segurança no envio de informações entre Client e servidor (Ex tosco apenas kkk), será que é melhor deixar a chave como ela é e enviar ou melhor passar por uma criptografia e como ela deve ser feita? Apenas uns exemplos recentes também que eu tive que ir atrás, como Junior achei bem relevante as infos, parabéns pelo artigo!

    Enrico Vivan
    Enrico Vivan - 28/11/2023 11:58

    Muito interessante este ponto, muitas vezes quem está começando apenas enxerga a área back-end como fazer apenas CRUD, e digo isso pois eu também pensava assim no início. Para mim era apenas receber os dados em um Controller diretamente e deixar que a ferramenta de ORM fizesse o serviço para salvar no banco de dados. Mais tarde apenas fui entender que além do CRUD também é necessário proteger as rotas, que não existe somente arquitetura REST, que é necessário fazer gerenciamento de sessões, implementar middlewares específicos para sua aplicação, etc...

    Muito bom o artigo, e obrigado pelas informações!