O cenário de desenvolvimento de software muda constantemente. Novas áreas de especialização, tecnologias e metodologias surgem a cada poucos meses.

Nesta postagem, definiremos alguns dos tipos mais comuns de desenvolvedores, com uma breve descrição e lista de tecnologias que eles usam e as habilidades que eles devem ter.

A diversidade no tipo de trabalho que os desenvolvedores de software fazem é igualmente difundida. Além disso, quanto mais avançado for o seu conjunto de habilidades, mais oportunidades você terá para trabalhar em vários tipos de campos / áreas de desenvolvimento de software.

#1 - Desenvolvedor Web

Os desenvolvedores da Web são mais na criação de sites. E eles são desenvolvedores de front-end, desenvolvedores de back-end ou desenvolvedores de pilha completa.
Aqui você tem a opção de trabalhar com a opção da sua escolha.

1.1 - Desenvolvedor Front-end (Desenvolvedor do lado do cliente)

Este é um desenvolvedor especializado em programação de interfaces visuais, incluindo estética e layouts. Um código de desenvolvedor front-end é executado em um navegador da Web, no computador do usuário do site.

As habilidades de desenvolvimento front-end incluem:

    🠊 Estruturas HTML,
    🠊 CSS,
    🠊 JavaScript,
    🠊 Frameworks de interface de usuário (UI)


1.2 - Desenvolvedor de back-end (desenvolvedor do lado do servidor)

O desenvolvimento de back-end é o trabalho realizado nos bastidores para garantir que o programa front-end funcione.
O back-end, ou "lado do servidor", de um site é o local onde os dados são armazenados e geralmente consiste em três partes: um servidor, um aplicativo e um banco de dados. Os desenvolvedores de back-end precisam entender bancos de dados, bem como linguagens de programação e arquitetura de servidor. Se um aplicativo continuar travando ou for espantosamente lento ou continuar gerando erros para você, é provável que seja um problema de back-end.

Um desenvolvedor de back-end trabalha com linguagens de programação como:

    🠊 Python
    🠊 Java
    🠊 C
    🠊 C ++
    🠊 Ruby,
    🠊 Go, etc.

#2 - Desenvolvedor de desktop

Este é um desenvolvedor que trabalha em aplicativos de software executados nativamente em sistemas operacionais de desktop como por exemplo:

    🠊 Mac OS,
    🠊 Windows,
    🠊 Linux, etc


#3 - Desenvolvedor móvel

Este é um desenvolvedor que escreve código para aplicativos executados nativamente em dispositivos móveis de consumo, como smartphones e tablets.
Um desenvolvedor móvel entende os meandros dos sistemas operacionais móveis, como iOS e Android, e o ambiente de desenvolvimento e as estruturas usadas para escrever software nesses sistemas operacionais. Isso inclui:

    🠊 Java,
    🠊 Swift,
    🠊 Objective-C,
    🠊 JavaScript (React Native),
    🠊 Dart (Flutter),
    🠊 NativeScript,
    🠊 Ionic, etc.


#4 - Desenvolvedor de jogos

Este é um termo genérico para identificar um desenvolvedor especializado em escrever jogos. Os desenvolvedores de jogos podem se enquadrar em uma das outras categorias de desenvolvedores, mas geralmente possuem conhecimentos e habilidades específicos no design e na implementação de experiências de jogos envolventes e interativas.

As estruturas usadas pelos desenvolvedores de jogos incluem:

    🠊 DirectX,
    🠊 OpenGL,
    🠊 Unity 3D,
    🠊 WebGL e linguagens como C,
    🠊 C ++ ,
    🠊 Java, etc


#5 - Cientista de dados

Esse tipo de desenvolvedor grava programas de software para analisar conjuntos de dados. Eles geralmente são responsáveis pela análise estatística, aprendizado de máquina, visualização de dados e modelagem preditiva.

Os idiomas usados pelos cientistas de dados geralmente incluem:

    🠊 SQL,
    🠊 R ,
    🠊 Python, etc

#6 - Desenvolvedor full-stack

Este é um desenvolvedor que trabalha com front-end e back-end. Ele ou ela possui as habilidades necessárias para criar um aplicativo Web totalmente funcional.

#7 - Desenvolvedor DevOps

Esse é um tipo de desenvolvedor familiarizado com as tecnologias necessárias para o desenvolvimento de sistemas para construir, implantar, integrar e administrar software de back-end e sistemas distribuídos.

As tecnologias usadas pelos engenheiros do DevOps incluem:

    🠊 Kubernetes,
    🠊 Docker,
    🠊 Apache Mesos,
    🠊 Jenkins, etc.

#8 - Desenvolvedor incorporado

Esses desenvolvedores trabalham com hardware que normalmente não é classificado como computadores. Por exemplo, microcontroladores, sistemas em tempo real, interfaces eletrônicas, decodificadores, dispositivos de consumidor, dispositivos IOT, drivers de hardware e transmissão de dados seriais se enquadram nessa categoria.

Os desenvolvedores incorporados geralmente trabalham com linguagens como:

    🠊 C,
    🠊 C ++,
    🠊 Assembly,
    🠊 Java ou tecnologias,
    🠊 Estruturas e kits de ferramentas proprietários.

#9 - Desenvolvimento de aplicações

Este é o tipo de programação "original". Esses são aplicativos "padrão" que cumprem suas funções nos sistemas operacionais de desktop tradicionais, como Windows, Mac ou Linux. Geralmente, é considerado um programa executado sob demanda pelo usuário, que abre sua interface nos limites do sistema operacional em que está sendo executado. O desenvolvimento de aplicativos é basicamente o processo de criação de um programa de computador ou conjunto de programas que podem auxiliar as funcionalidades diárias do o usuário ou empresa.

O que você precisa saber:

    🠊 Java,
    🠊 VB.NET,
    🠊 C / C ++,
    🠊 C #,
    🠊 Python, etc