8 de nov de 2018

O que faz um desenvolvedor back-end

Udacity Brasil

Já aconteceu de você baixar um aplicativo novo só porque ele tinha um logo bonito e um design estiloso? E já aconteceu de você desinstalar esse app menos de cinco minutos depois porque viu que nada funcionava direito? Se sim, você já sabe a falta que um desenvolvedor back-end pode fazer.

Se os desenvolvedores front-end são os responsáveis por fazer sistemas serem agradáveis e inteligíveis para os usuários, o pessoal do back-end é quem precisa garantir que ele funcione. E isso não significa apenas “fazer o que precisa”, mas fazer isso de maneira rápida e escalável, ou seja, que funcione bem tanto para uma pessoa quanto para um milhão.

Nas palavras de Vinicius Miguel da Silva, desenvolvedor back-end pleno da Pontal Telecom, a maneira mais fácil de entender o trabalho do back-end é pensando em um carro. A carroceria, a pintura, o estofamento dos bancos e os detalhes do painel são trabalho do front-end; o back-end é que cuida do motor, da injeção eletrônica, do mecanismo de direção. Sem ele, o carro pode até ser lindo, mas não serve para nada.

Miguel já trabalhou em outras áreas, atuando até mesmo como desenvolvedor front-end do jornal A Folha de São Paulo. Mas foi atraído para o back-end pela diversidade de linguagens e saberes que ela exige, além de sua importância para qualquer pessoa que queira criar um novo serviço ou produto digital do zero.

Assista ao webinar: Carreira de desenvolvedor no exterior: bate-papo com o engenheiro de software do The New York Times

Como é o trabalho de um desenvolvedor back-end?

No seu emprego atual, Miguel cuida das demandas de back-end dos clientes da Pontal Telecom. De maneira geral, segundo ele, isso significa “fazer a manutenção de features que não estão funcionando como deveria, ou fazer a implementação de uma nova feature”.

Vale destacar que não é na parte visual, mas na parte do gerenciamento de informação. Por exemplo: se uma empresa de e-mail marketing quiser criar um botão por meio do qual seus usuários podem transformar um arquivo CSV em uma lista de contatos, será um desenvolvedor back-end que garantirá que tudo funcione como deve. Isso significa garantir que cada informação do arquivo .csv (endereço de e-mail, primeiro nome, etc.) seja corretamente transferida para a lista de contatos.

Programador back-end fala sobre seu dia a dia

As tarefas do dia a dia de Miguel são apresentadas por meio da Trello, uma plataforma de gerenciamento de trabalho. Segundo o programador, a parte mais difícil do seu trabalho acontece antes mesmo de que ele digite uma única linha de código – e não envolve nenhuma habilidade de lógica ou programação, mas comunicação.

“Você precisa conseguir entender e interpretar o que o seu cliente ou o seu gestor tá querendo. Porque se ele te passa uma regra de negócio e você entende errado, acaba desenvolvendo o sistema todo diferente do que ele queria, e depois tem o ‘retrabalho’ de fazer tudo aquilo”, conta.

O trabalho de desenvolvimento e programação, portanto, só começa depois que essa parte de comunicação estiver bem estabelecida. Nesse momento, o back-end se diferencia do front-end por não exigir tantos conhecimentos de design, interface e usabilidade, mas demandar, por outro lado, um arcabouço técnico mais robusto.

Leia também: Back-end x front-end: 4 programadores definem as diferenças

Quais conhecimentos um desenvolvedor back-end precisa ter?

De acordo com Miguel, as linguagens que ele mais usa no dia a dia são PHP, Node.js e Go. PHP é a linguagem “que o cliente vê”, segundo ele. Ela é usada na criação de sistemas de gerenciamento de conteúdo (para blogs e sites, por exemplo) e de gerenciamento de recursos de clientes (para empresas e negócios).

A linguagem Node.js, por usa vez, é usada na interação com mongoDB, um sistema de base de dados não-relacional. De maneira simplificada, a linguagem e o sistema são os responsáveis por gerenciar, gravar e ler as informações dos sites e aplicativos em seus respectivos servidores.

A linguagem Go é usada no gerenciamento de grandes volumes de informações. “Por exemplo, se o cliente quiser conversar uma lista de 100 mil e-mails em um arquivo CSV, eu uso o Go pra fazer isso”, diz Miguel.

Ele ressalta, no entanto, que a linguagem Node.js é a sua favorita por sua simplicidade e, ao mesmo tempo, abrangência. “Hoje você consegue usar JavaScript [a base do Node.js] em todas as partes, e com uma base boa você já monta um produto totalmente funcional usando só o Node.js”, diz.

Fora essas linguagens, Miguel também considera essencial que programadores que queiram trabalhar com back-end tenham bons conhecimentos de lógica de programação, e conheçam também pelo menos o básico de Linux e de linha de comando. Também ajuda ter algum conhecimento de bancos de dados relacionais, como MySQL ou SQLServer.

Leia também: Conheça as linguagens de programação mais usadas no Brasil e no mundo

Bons exemplos de back-end

Para quem trabalha com front-end, é fácil analisar outros sites e aplicativos para ver como eles estão resolvendo problemas comuns. Afinal, os aspectos do front-end são muito mais visuais e próximos do usuário do que os do back-end.

Ainda assim, Miguel diz que ele e outros desenvolvedores back-end prestam atenção nos apps e sites que usam no cotidiano para ver se a parte de gerenciamento de informações deles está funcionando bem.

“A gente tem o costume de prestar atenção se as informações estão concisas e se está rápido”, comenta. Um exemplo de site cujo back-end ele diz funcionar muito bem é a plataforma de blogs Medium. “A forma como ele trabalha é muito rápida”, diz.

Além dessa observação, Miguel diz que também costuma ler os blogs técnicos que algumas empresas que gerenciam apps e sites têm. Nesses blogs, desenvolvedores descrevem as soluções que encontraram para os problemas que aparecem nas organizações, e essas soluções costumam ser ótimas fontes de aprendizado.

Um dos casos interessantes que Miguel cita nesse sentido é do Nubank. A empresa, de acordo com ele, usa uma linguagem menos popular, chamada Clojure, com excelentes resultados. “É uma das únicas grandes empresas brasileiras que usa isso em todos os seus processos”, diz.

De modo semelhante, ele cita a empresa Xerpa, que gerencia uma plataforma de RH. Segundo Miguel, eles também usam uma linguagem menos comum — no caso, a Elixir — em 100% de sua plataforma. A empresa já publicou um artigo no Medium explicando as vantagens que enxergam na escolha.

“É legal você observar esses casos porque eles viram referência na linguagem que utilizam e com isso você também vai tendo as suas ideias de implementação”, considera Miguel.

Leia também: 3 opções de carreira para desenvolvedores web: front-end vs. back-end vs. full stack

Como entrar na área de back-end?

Para quem deseja começar a trabalhar como desenvolvedor back-end, Miguel recomenda as ferramentas que ele citou acima no seu dia a dia de trabalho. Em particular, o Linux, a linha de comando e a lógica de programação. “E acima de tudo, gostar do que faz. Isso faz toda a diferença!”, conclui.

No caso de Miguel, a escolha foi sendo construída ao longo da carreira. Ele estudou análise e desenvolvimento de sistemas na faculdade, estagiou como analista de suporte e foi promovido a supervisor. Depois, ele fez um curso de desenvolvimento multiplataformas no Senai e isso chamou sua atenção para a possibilidade de criar um produto do zero, dominando a parte lógica por trás dele.

Há diversas outras maneiras de se chegar até essa área de atuação. Se você já tem um interesse em programação, um estudo de linguagens de nível um pouco mais baixo (o que nada tem a ver com qualidade, no mundo da computação) e de sistemas de base de dados podem ser um bom passo nesse sentido. São tópicos que podem ser aprendidos por meio de cursos online, por exemplo.

Trata-se de uma área que deve continuar crescendo, o que se reflete na remuneração. Segundo o Guia Salarial 2019 da recrutadora Robert Half, a faixa salarial de desenvolvedor back-end brasileiro está entre R$ 3.700 e R$ 13 mil – um aumento de quase 5% em relação ao ano passado.

Afinal, a demanda por sistemas que consigam gerenciar grandes volumes de informação deve crescer junto com as áreas de big data, data science e Business Intelligence. Conforme esses sistemas se tornam mais complexos, os desenvolvedores de back-end seguirão desafiados a criar apps e sites cada vez mais ágeis.

Saiba mais sobre programação:

Sobre o autor
Udacity Brasil

A Udacity, conhecida como a "Universidade do Vale do Silício", é uma plataforma online e global que conecta educação e mercado para ensinar as habilidades do futuro – de data science e marketing digital à inteligência artificial e desenvolvimento. Hoje, há mais de 7 mil alunos ativos no país e 50 mil pelo mundo.