React Native - O mercado para desenvolvedores júnior

Natalia Kelim Thiel
Natalia Kelim Thiel

Compartilhe

mulher programando no computador

Em meados de maio de 2021, fizemos uma pesquisa para entender melhor o mercado para desenvolvedores júnior e atualizar nosso conteúdo de React Native aqui na plataforma da Alura. Além disso, os resultados vão muito de encontro com o conceito de Dev em <T> que falamos tanto na plataforma.

Mas, então, como ser um Dev em <T> em React Native no nível júnior? Confira os resultados da pesquisa para descobrir!

A pesquisa

A estrutura da pesquisa busca conhecer um pouco da pessoa que responde e entender quais tecnologias ou habilidades um desenvolvedor precisa ter para começar a trabalhar como júnior em React Native. Pensando nisso, e também com o auxílio da pesquisa já validada de Android, montamos 3 perguntas:

  1. Em qual nível profissional você considera estar?
  2. Quais tecnologias ou habilidades são imprescindíveis para um dev júnior de React Native?
  3. Quais tecnologias ou habilidades são diferenciais para um dev júnior de React Native?

Além disso, precisávamos listar essas tecnologias e habilidades, o que fizemos com base em assuntos que acreditávamos ser interessantes, mas principalmente no que o mercado estava pedindo. Buscamos vagas abertas de React Native Júnior de inúmeras empresas e listamos todos os itens que elas gostariam que o desenvolvedor atendesse.

Após essa busca, conseguimos extrair as seguintes tecnologias e habilidades para a pesquisa:

  • Componentes
  • Estados
  • Ciclos de vida
  • Hooks
  • Typescript
  • Redux
  • Context API
  • StyleSheets
  • Styled Components
  • Notificações
  • AsyncStorage
  • JavaScript
  • Node
  • npm
  • Firebase
  • Google Cloud
  • AWS
  • Git
  • Integração com Web Services/API
  • GraphQL
  • Internacionalização
  • Persistência de dados
  • SQLite
  • ReactNavigation
  • Testes com Mock
  • Testes de integração
  • Testes de unidade
  • Testes instrumentais
  • Acessibilidade
  • Expo
  • Gerar APK ou IPA
  • Publicar nas Lojas
  • Nativo Android e/ou iOS iniciante
  • Metodologias ágeis
  • Automatização de deploy
  • UX
  • Animações
  • Code Review
  • Escrever códigos em inglês
  • Se comunicar em inglês
  • Design Pattern
  • Experiência com programação
  • Outro

Lançamos a pesquisa no dia 28 de abril e encerramos em 10 de junho, com um total de 26 respostas.

Nível profissional

Entre as respostas tivemos vários níveis profissionais, com o percentual ilustrado no gráfico abaixo:

Gráfico mostrando a porcentagem de respostas em cada nível profissional. Estágio: 26,92%. Pleno: 23,08%. Júnior: 19,23%. Sênior: 15,38%. Gerente: 3,85%. Líder: 3,85%. Pretendo aprender: 3,85%. Trainee: 3,85%

Nível profissional e tecnologias imprescindíveis

Então, dividimos os níveis em dois grupos:

  1. Júnior e anterior: pretendo aprender, trainee, estagiário e júnior.
  2. Pleno e posterior: pleno, sênior, gerente, líder.

Com base nesses grupos, comparamos as top 10 tecnologias imprescindíveis e diferenciais para um dev júnior em React Native. Para júnior e anteriores temos que:

Gráfico mostrando a porcentagem de respostas de juniores e anteriores para cada tecnologia imprescindível. Componentes: 46,15%. JavaScript: 46,15%. Estados: 42,31%. Git: 42,31%. Hooks: 42,31%. npm: 38,46%. Ciclos de Vida: 34,62%. Context API: 30,77%. StyleSheets: 30,77%. Integração com Web Services/API: 26,92%

Podemos notar que quase todos os itens estão relacionados ao React Native base, ou seja, criando um projeto estático de uma única tela sem integrar mais bibliotecas, você provavelmente vai utilizar essas tecnologias. Podemos ressaltar na lista que, mesmo não fazendo parte de um projeto React Native propriamente dito, o Git também está entre os primeiros da lista.

Então, vemos abaixo o que os plenos e posteriores responderam sobre as tecnologias imprescindíveis:

Gráfico mostrando a porcentagem de respostas de plenos e posteriores para cada tecnologia imprescindível. Componentes: 42,31%. Ciclos de Vida: 38,46%. Estados: 38,46%. JavaScript: 38,46%. Git: 30%. Hooks: 30,77%. React Navigation: 30,77%. Integração Web Services/API: 26,92%. StyleSheets: 26,92%. npm: 26,92%

Para plenos e superiores podemos ver um cenário semelhante. Porém, segundo as respostas, uma nova tecnologia aparece, substituindo o Context API, o ReactNavigation.

Nível profissional e tecnologias diferenciais

Então, fizemos a mesma separação para as tecnologias diferenciais, em que já podemos ver os dois gráficos top 10 abaixo de acordo com os grupos:

Gráfico mostrando a porcentagem de respostas de juniores e anteriores para cada tecnologia diferencial. TypeScript: 42,31%. AWS: 30,77%. Context API: 26,92%. Firebase: 26,92%. SQLite: 26,92%. Code Review: 23,08%. Design Pattern: 23,08%. Google Cloud: 23,08%. GraphQL: 23,08%. Styled Components: 23,08%

Para os júnior e anteriores, Typescript é o principal diferencial. Entretanto, quase todos os outros diferenciais, com exceção do Contex API e do Styled Components, são tecnologias que não necessariamente envolvem React Native (ou React), podendo ser aplicadas em muitos contextos.

Gráfico mostrando a porcentagem de respostas de plenos e posteriores para cada tecnologia diferencial. Internacionalização: 30,77%. Nativo Android e/ou iOS iniciante: 30,77%. Typescript: 30,77%. Animações: 26,92%. Automatização de Deploy: 26,92%. Context API: 26,92%. Notificações: 26,92%. Publicar nas Lojas: 26,92%. Redux: 26,92%. Firebase: 23,08%

E quando analisamos o top 10 para os plenos e superiores, vimos o mesmo fenômeno, porém, com algumas novas tecnologias e/ou habilidades como internacionalização e nativo no topo das respostas, que nem entraram no top 10 dos juniores e anteriores.

Também podemos ver o Typescript se repetir empatado em primeiro lugar, e mais itens diferentes como Animações, Automatização de deploy, Notificações, Publicar nas Lojas e Redux.

Tecnologias

Agora, contabilizando o cenário completo de tecnologias e habilidades esperadas para um dev React Native júnior, temos o seguinte gráfico:

Gráfico mostrando a porcentagem de respostas para cada tecnologia imprescindível. Componentes: 84,62%. JavaScript: 80,77%. Estados: 76,92%. Ciclos de Vida: 69,23%. Git: 69,23%. Hooks: 69,23%. npm: 61,54%. React Navigation: 53,85%. StyleSheet: 53,85%. Integração com Web Service/API: 50%

Como já vimos anteriormente, as tecnologias imprescindíveis para um dev júnior, de acordo com as respostas da pesquisa, envolvem na sua maioria conhecimentos do ecossistema de React Native, tendo muitos itens que poderiam ser aplicados em comum, por exemplo, com sua base passada, o React.

Então, quando passamos aos difereciais, a pesquisa contribui com o seguinte top 10:

Gráfico mostrando a porcentagem de respostas para cada tecnologia diferencial. Typescript: 69,23%. Context API: 50%. Firebase: 46,15%. Nativo Android e/ou iOS iniciante: 46,15%. SQLite: 46,15%. Automatização de deploy: 42,31%. Internacionalização: 42,3%. Styled Components: 42,31%. AWS: 38,46%. GraphQL: 38,46%

Em primeiro lugar vemos Typescript disparado com 69% das respostas, seguido de Context API. E, novamente, em todo o restante são poucos os casos que envolvem React Native de fato, mas muitos deles envolvem outras áreas como banco de dados, backend e até devops. O que vai muito em encontro com o conceito de Dev em <T>, que falamos tanto aqui na Alura como indicado no começo do artigo.

Como ser um Dev em <T> no contexto de React Native?

Se você já leu este artigo até esse ponto, você provavelmente já sabe a resposta!

De acordo com a pesquisa, as empresas buscam pessoas desenvolvedoras júnior para React Native que tenham uma base nos conceitos da biblioteca, porém, para se destacar no mercado é interessante ter conhecimento em diversas outras áreas que, muitas vezes, fogem do front-end e do JavaScript, tais como: Git, Firebase, banco de dados, automatização de deploy, GraphQL e AWS.

E você?

Você vê o mercado React Native para júnior de forma diferente? Compartilhe aqui nos comentários o que achou da pesquisa, se quiser contribuir com algo, discordar ou até mesmo falar sobre como é o mercado para outros níveis profissionais. Você estará contribuindo para a comunidade também!

Links

Natalia Kelim Thiel
Natalia Kelim Thiel

Natalia é programadora e instrutora. Se apaixonou pela programação a primeira vista em 2013 com 15 anos, formou-se na faculdade de Bacharelado em Ciência da Computação (Instituto Federal Catarinense) e desde então vem trabalhando em diversas tecnologias no front-end, back-end, mobile e games.

Veja outros artigos sobre Mobile