Série: Como se tornar um desenvolvedor web ? Parte 1: As principais profissões

Querendo começar na carreira de desenvolvedor web, programador, analista e desenvolvedor de sistemas, back-end, front-end, fullstack, mobile, devops, devsecops ? Confuso com toda essa sopa de letrinhas e todas as outras siglas que envolvem essa área ? Então leia este artigo e saiba o que é preciso para começar a estudar e atuar nessa área.

Neste artigo irei citar as diferenças das profissões, para não ficar muito extenso, para as partes de back-end, front-end, mobile, jogos, fullstack, devops e devsecops irei abordar em outros artigos!

Assim como nas áreas de saúde, direito, engenharia e diversas outras, TI é uma área bastante abrangente e possibilita atuação em diversos mercados e ramos, desde pequenas empresas, multinacionais, empresas diretamente de TI ou mesmo empresas estatais.

Neste artigo vou falar dá área de desenvolvimento, área que eu atuo profissionalmente a cerca de 9 anos, e por hobby a 13 anos já.

Dentro da área de desenvolvimento, responsável pela criação, concepção, manutenção e evolução dos softwares, existem ainda diversas divisões, que acabam dificultando e confundindo as pessoas.

Desenvolvedor web

Desenvolvedor web, ou simplesmente desenvolvedor é o nome dado a qualquer pessoa que realiza as tarefas de desenvolvimento de um software (no caso do desenvolvedor web, especifica que ele desenvolve softwares web, ou seja, disponíveis em uma rede, seja uma rede mundial, a internet, ou uma rende local como uma intranet ou extranet de uma empresa/escola).

Programador

Programador é apenas um outro nome para desenvolvedor, e se refere mais especificamente a pessoa que realiza o trabalho de codificação/programação. Este termo era mais utilizado a alguns anos atrás, recentemente adota-se a nomenclatura “desenvolvedor” para se referir a um programador. O termo programador ainda é usado quando se deseja referenciar alguém que executa apenas tarefas de codificação, sem participar dos outros processos envolvidos na concepção de um software, o que tem sido cada vez menos praticado pelo mercado, visto que percebeu-se que incluir o programador em várias etapas do processo ajuda e melhora o entendimento do software a ser criado pelo desenvolvedor, aumentando assim a qualidade e usabilidade deste mesmo software.

Analista

A função principal de um analista na área de TI é realizar estudos, monitoria e acompanhamento dos processos para encontrar a melhor forma de processar as informações, melhorar o processo e encontrar falhas. Cabe ao analista fazer parte do levantamento de requisitos do processo assim como o posterior acompanhamento do sistema quando o mesmo já se encontra em ambiente produtivo (em uso pelos usuários finais). Geralmente são analistas diferentes que fazem essas 2 tarefas. Além de existirem outros tipos de analistas. Em algumas empresas o desenvolvedor/programador é o próprio analista, ou recebe esse nome apenas por convenção. 

Back-end, Front-end, QA, Mobile, Full stack

Dentro da profissão de desenvolvedor, ainda é possível escolher uma categoria para seguir nos desenvolvimentos, algumas delas são:

  • Back-end: parte responsável por processar os dados da sua aplicação, o back-end de um sistema é a parte que não fica visível para o usuário, geralmente em um servidor web, acessível pela internet, ou dentro de uma infraestrutura própria, acessado por outros sistemas back-end. Nesta parte você se comunica com outros sistemas, faz a comunicação com outras APIs, com banco de dados ou filas, envia e-mails, agenda tarefas, etc.
  • Front-end: é a parte visível ao usuário, a interface gráfica pela qual o usuário interage com seu sistema. Falando de sistemas web, o front-end geralmente é o site em si, a parte do HTML, CSS e JS (e em breve, do WebAssembly). É a parte onde você exibe informações, imagens, vídeos, coloca formulários de contato, etc.
  • Mobile: é o desenvolvedor que cria soluções para os ambientes mobile, ou seja, para os smartphones, é o desenvolvedor que desenvolve diretamente para Android, iOS e qualquer outra plataforma (OS, na sigla em inglês de sistema operacional) de smartphones que possa existir. O back-end consumindo por um app mobile ou por um front-end web pode ser o mesmo ou não, tudo depende do projeto e das funcionalidades que cada interface vai disponibilizar ao usuário.
  • QA: Quality Assurance, ou Garantia de Qualidade são as pessoas que realizam as tarefas de validar, testar e provocar falhas nas tarefas realizadas pelos back-enders, front-enders e mobile developers. O QA pode realizar essas tarefas de forma automatizada, escrevendo testes automatizados e utilizando outras ferramentas, como pode testar manualmente. Como ele fará isso depende de cada empresa/projeto. 
  • Full stack: geralmente empregado em empresas de menor porte, ou que por ventura não possuem orçamento e/ou demanda para necessitar a contratação de dois profissionais. O full stack por definição é uma pessoa que atua e tem conhecimentos em mais de uma área, seja o back+front, back+mobile, back+operations, etc. Uma dúvida batante recorrente, é se um full stack ganha mais que outros profissionais . A resposta é: não necessariamente, o salário em qualquer profissão é baseado no quanto você agrega a empresa/projeto e não o quanto você sabe de fato. Nesse caso, um full stack dificilmente produz em mesmo período de tempo o que 2 profissionais dedicados produziriam no mesmo tempo, então não tem porque ganhar o dobro por exemplo.
  • DevOps: termo relativamente novo no mercado, é aquela pessoa que cuida de toda infraestrutura e sistemas que fazem o ciclo de desenvolvimento funcionar harmoniosamente, é na maioria dos casos, a pessoa que garante o bom funcionamento de um servidor GIT, faz a gestão de acessos (GA) aos servidores e sistemas da empresa, instala, configura, monitora os sistemas auxiliares, esteira de build/deploy, o famoso CI/CD, monitora telemetria e volume de acessos/uso, entre outras “operações” do dia a dia que não são diretamente de um desenvolvedor. O termo DevOps surgiu por causa da atuação de desenvolvedores nessas tarefas, quando um desenvolvedor realiza também as tarefas do time de operações.

 

 

Leave a Reply

Your email address will not be published. Required fields are marked *