Programadores e programadoras, conhecidos também com Devs, passam seus dias escrevendo código fonte. Uma sequência de comandos que permite que o computador resolva uma tarefa, imprima algumas folhas, envie um email, peça comida, calcule fretes ou cadastre novos itens em um ecommerce.
Nós, programadores e programadoras, os devs, somos responsáveis por usar tecnologias, bibliotecas de código e linhas de programação para solucionar um problema. O problema costuma ser quebrado em uma série de requisitos (chamados também de histórias ou funcionalidades), que vão constituir um software, ou um produto digital.
Essas linhas de código podem parecer estranhas, mas formam uma rotina. O termo algoritmo também aparece, mas costuma estar relacionado a rotinas de código que resolvem problemas um pouco mais próximos da matemática.
Algumas vezes pensamos no nosso trabalho como a transformação dos dados de entrada em dados de saída. Exemplos? Dado um pedido, a saída é a fatura no cartão. Dados os itens de um livro, a saída é um registro novo no banco de dados. A entrada é o input do nosso programa, a saída é o output do programa.
Atualmente devs trabalham em todos os tipos de empresas: de startups a corporações. De agências de marketing a farmácias. Isso acontece pois a tecnologia se tornou essencial nas nossas vidas e as empresas perceberam que não podem mais apenas terceirizar esse departamento: a programação faz parte também do chamado core business de uma companhia.
Empresas focadas em prestar serviços online, através de um produto ou uma assinatura, costumam ter times de devs gigantescos. Normalmente são empresas que nasceram na época do boom de startups. Mas as grandes corporações, respondendo essa demanda de oferecer seus produtos de forma digital, também passam por essa grande transformação e aumentaram muito suas equipes de programação.
São vários os caminhos. Você pode optar por uma das áreas de programação que mais se adequa às suas aptidões. Vou te contar um pouco de algumas das principais linhas de tecnologia que envolvem bastante código.
Uma parte mais visual e próxima do que estamos acostumados a encarar como apps, como sites, como produtos digitais. É a área da programação que programa a interação dos botões, telas e formulários com o usuário.
É um bom ambiente de entrada, já que permite que você veja rapidamente o resultado das suas linhas de código usando, em especial, HTML, CSS e JavaScript.
Tudo que fica "atrás" do front-end, respondendo cada um dos pedidos dos usuários, a gente costuma definir como "back-end". É onde serviços são executados e trabalham em conjunto para poder devolver uma saída para cada entrada que você faz em uma app ou em um software.
Aqui você vai encontrar bastante Java, C#, Python, JavaScript e dezenas de outras linguagens muito usadas do lado do servidor (server side, outra forma de dizer back-end).
Um dev full stack é aquele que tem conhecimento tanto do front-end quanto do back-end. É um profissional que consegue desenvolver um produto digital inteiro, desde a parte visual até a parte de serviços e banco de dados.
É uma área que tem crescido bastante, já que muitas empresas estão buscando profissionais que consigam atuar em todas as frentes. É um profissional mais completo, mas também mais difícil de encontrar.
Uma área que tem crescido bastante nos últimos anos. É a área que estuda os dados, analisa e transforma esses dados em informações úteis para as empresas. É uma área que envolve bastante matemática e estatística, mas também programação.
Os profissionais dessa área costumam usar bastante Python, R e SQL. É uma área que tem crescido bastante, já que as empresas estão cada vez mais preocupadas em entender os dados que possuem e como usá-los para tomar decisões.
Há ainda espaço em desenvolvimento focado em apps, chamado mobile, assim como trabalhar com infraestrutura, ou a área de DevOps. Vale lembrar que em qualquer uma dessas áreas as empresas podem esperar que você tenha um conhecimento de Devops e de SQL e Banco de dados.
Esses são, inclusive, os fundamentes de Dev em T, que se aprofunda em uma das grandes escolas de tecnologia, sem esquecer da importância de conhecer um pouco das outras áreas e poder trabalhar melhor em equipes, em squads.