O que faz um desenvolvedor?

Essa é uma pergunta muito comum e frequente, feita pelas pessoas que querem começar a atuar na área de desenvolvimento de aplicações: O que faz um desenvolvedor? Em quais áreas eu posso atuar como desenvolvedor?

Baseado na resposta a essa questão, fica mais fácil uma pessoa que inicia na área, definir por qual segmento ela poderá começar, quais linguagens/frameworks/bibliotecas terá que aprender e o tamanho do mercado e salários encontrará a sua disposição.

Para cada área de atuação, irei descrever a função, principais conhecimentos específicos necessários, quantidade de vagas em alguns sites de busca de vagas, salário aproximado segundo alguns sites que disponibilizam esse tipode informação.

Em relação aos conhecimentos específicos, mencionarei aqueles que são os mais indicados para que você inicie na área, porém não significa que conhecimentos adicionais de outras áreas não serão necessários.

Em relação às linguagens e frameworks, escolha uma linguagem e um framework baseado nessa linguagem e se especialize. Após ter se especializado nessa linguagem/framework, você pode estudar uma segunda linguagem e framework e assim continuar sua carreira. O importante é sempre olhar para onde o mercado está indicando.

As principais áreas são:

Desenvolvedor(a) Web Front-end
Desenvolvedor(a) Mobile
Desenvolvedor(a) Back-end
Desenvolvedor(a) Full-stack
Cientista de Dados
Desenvolvedor(a) de Games

Então vamos lá:

Desenvolvedor(a) Web Front-end

O desenvolvedor web front-end desenvolve aplicações que serão utilizadas por nós usuários de sites pela internet. O front-end é a “cara” de um site ou aplicativo, com design, interface de navegação e ferramentas de interação com o usuário, como áreas de buscas e formulários.

Conhecimentos imprescindíveis: HTML, CSS, Consumo de APIs, Lógica de Programação, Testes Automatizados, Versionamento de código.

Principais linguagens: Javascript/Typescript, Python, Ruby, PHP, Java, ASP.NET.

Principais frameworks/bibliotecas: Javascript/Typescript (ReactJS, Angular e VueJS), CSS (Material Design, Bootstrap, Tailwind CSS, Foundation, Skeleton), Python (Django, Flask), Ruby (Ruby on Rails, Sinatra), PHP (Laravel, Symfony, Codeigniter), Java (Spring, JSF), ASP.NET (ASP.NET MVC)

Conhecimentos desejáveis: Design de interfaces (UI), Experiência do usuário (UX)

Vagas em Fevereiro/2022: 1.339 (clique aqui)

Salário médio em Fevereiro/2022: R$ 5.125,00 (clique aqui)

Roadmaps de Estudo: Front-end, React, Angular, Python.

Desenvolvedor(a) Mobile

Desenvolve aplicativos ou sistemas para dispositivos móveis (celular, tablets, wearables), seja programando de forma nativa ou híbrida. Híbrida será através de frameworks que atendem com o mesmo código-fonte a diferentes plataformas.

Conhecimentos imprescindíveis: Consumo de APIs, Lógica de Programação e para os frameworks híbridos: HTML e CSS (Material Design e Cupertino), Testes Automatizados, Versionamento de código.

Principais linguagens: Android Nativo (Kotlin e Java), iOS Nativo (Swift e Objective C), Híbridos (Javascript/Typescript, Dart, C#)

Principais frameworks/bibliotecas híbridos: Javascript/Typescript (React Native, Ionic), Dart (Flutter), C# (Xamarin)

Conhecimentos desejáveis: Design de interfaces (UI), Experiência do usuário (UX)

Vagas em Fevereiro/2022: Android: 1.638 (clique aqui), iOS: 1.209 (clique aqui), React Native: 895 (clique aqui), Flutter: 485 (clique aqui), Ionic: 176 (clique aqui), Xamarin: 124 (clique aqui)

Salário médio em Fevereiro/2022: React Native: R$ 6.030,00 (clique aqui), iOS: R$ 5.912,00 (clique aqui), Android: R$ 5.423,00 (clique aqui), Flutter: R$ 5.291,00 (clique aqui), Ionic: R$ 4.029,00 (clique aqui)

Roadmaps de Estudo: Android, Java.

Desenvolvedor(a) Back-end

O desenvolvedor back-end atua em atividades do lado não visível das aplicações, nas atividades de bastidor que acontecem em um software, site ou aplicativo.

Esse profissional reforça a segurança do negócio, cuida da integração entre os diversos webservices (envio de e-mails, gateways de pagamento, armazenamento de arquivos, dentre outros) e dos bancos de dados.

Conhecimentos imprescindíveis: Lógica de Programação, Programação Orientada a Objetos, Protocolo HTTP/HTTPS, APIs REST, Bancos de dados Relacionais e NOSQL, SQL, ORMs, HTML, Mensageria, Linux, Testes Automatizados, Versionamento de código.

Principais linguagens: Javascript/Typescript, Python, Ruby, PHP, Java, C#, Clojure, Elixir, Go.

Principais frameworks/bibliotecas: Javascript/Typescript (Express), Python (Django, Flask), Ruby (Ruby on Rails, Sinatra), PHP (SLIM, Zend, Laravel, Symfony, Codeigniter), Java (Spring, Spring Boot), C# (.NET).

Conhecimentos desejáveis: APIs SOAP, Arquitetura de Microsserviços, DDD, Design Patterns, Arquitetura Limpa, SOLID.

Vagas em Fevereiro/2022: 2.047 (clique aqui)

Salário médio em Fevereiro/2022: R$ 6.044,00 (clique aqui)

Roadmaps de Estudo: Back-end, Java, Python, Go.

Desenvolvedor(a) Full-stack

Conduz todos os estágios de desenvolvimento de sites e aplicativos, desde a interface até estruturas internas e bancos de dados.

Tudo que foi falado aqui para os desenvolvedores Front-end, Mobile e Back-end podem ser aplicados ao Fullstack.

Fora do Brasil, pela amplitude de conhecimento, flexibilidade e logicamente com objetivo de redução de custos, o mercado desde 2017 apresenta uma tendência a preferir contratar desenvolvedores Full-stack.

Para quem pretende trabalhar para empresas no exterior, vale a pena ler o post do site CareerFoundry: How Much Will I Earn as a Full-Stack Developer in 2022?

Vagas em Fevereiro/2022: 2.000 (clique aqui)

Salário médio em Fevereiro/2022: R$ 5.384,00 (clique aqui)

No vídeo anterior é mencionado “Dev em T”. Um conceito que creio que seja interessante entender melhor:

Cientista de Dados

Coleta, gerencia e transforma em modelos utilizáveis uma grande quantidade de dados não-estruturados, para que seja possível extrair desse conjunto informações relevantes e transformar em dashboards e relatórios que sejam úteis para o negócio.

Conhecimentos imprescindíveis: Matemática, Estatística, Lógica de Programação, Bancos de dados Relacionais e NOSQL, SQL, ORMs, HTML, Big Data, Testes Automatizados, Versionamento de código.

Principais linguagens: Python, R, Java.

Principais frameworks/bibliotecas: Python (Pandas, SciPy, NumPy, Matplotlib, Scikit-learn, PyTorch, Scrapy, BeautifulSoup, Tensorflow, Keras), R (Dplyr, Ggplot2, Esquisse, BioConductor, Shiny, Lubridate, Knitr, Mlr, DT, RCrawler, Caret, RMarkdown, Leaflet, Janitor), Java (DL4J, ADAMS, JavaML, Mahout, Neuroph, RapidMiner, Weka, JSTAT, ELKI).

Conhecimentos desejáveis: Jupyter Notebook, Google Colab, Web scraping, HDFS, Hadoop, Spark, Hive, Matlab.

Vagas em Fevereiro/2022: 418 (clique aqui)

Salário médio em Fevereiro/2022: R$ 7.256,00 (clique aqui)

Roadmaps de Estudo: Back-end, Java, Python.

Desenvolvedor(a) de Games

Esse profissional irá analisar e aplicar as especificações do design criado pelo Game Designer e traduzi-las para linguagens de programação, para os games rodarem da melhor forma possível muitas vezes em diversas plataformas.

O desenvolvimento de um jogo é fruto de um trabalho em conjunto, portanto o desenvolvedor de games, terá que interagir diretamente com outros profissionais envolvidos no projeto, como: game designers, roteiristas de jogos, designers gráficos, designers de áudio, testadores.

Conhecimentos imprescindíveis: Lógica de Programação, HTML, CSS, Testes Automatizados, Versionamento de código.

Principais linguagens: C, C++, Lua, Java, Javascript, C#.

Principais frameworks/bibliotecas: Unreal Engine, CryEngine, Source, Unity, Radiant.

Conhecimentos desejáveis: 3ds Max, Maya, Softimage, Cinema 4D, Blender.

Vagas em Fevereiro/2022: 344 (clique aqui)

Salário médio em Fevereiro/2022: R$ 6.218,00 (clique aqui)

Gostou do post?

Gostaria muito de saber sua opinião sobre o conteúdo através de um comentário seu logo aqui abaixo.

Caso ele tenha sido útil para você, aproveite para compartilhá-lo com um amigo ou amiga que precise de idéias como essas para ajudar em seu dia a dia.

  1. Artigo esclarecedor, parabéns ! Fullstack é uma posição que sempre gera dúvida em relação a abrangência e atuação.

Leave a Reply

O seu endereço de e-mail não será publicado.

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.