Transição de carreira Sênior Frontend Web (React) para Júnior Mobile (iOS)

Crise Existencial na Carreira: Uma Reflexão Pessoal 😥

Neste exato momento, me encontro imerso em uma crise existencial de carreira. Dúvidas, incertezas e angústias surgem, algo que talvez seja considerado normal para um Júnior. No entanto, o curioso é que eu, na verdade, sou Sênior. Parece que essa experiência é universal, independentemente do nível de senioridade 😥.

Minha Trajetória: Um Resumo de 10 Anos de Aprendizado 🚀

Vamos tentar resumir, focando nos pontos cruciais para não nos afastarmos do tópico. Se a contextualização ficar entediante, sintam-se à vontade para pular para o próximo 😂.

Há 10 anos atrás, embarquei em uma jornada de aprendizado ao cursar um técnico em informática, com ênfase em programação web utilizando PHP. Foi nesse momento que decidi seguir o caminho do desenvolvimento. Com 9 anos de trajetória, dei início a uma graduação em Análise e Desenvolvimento de Sistemas, motivado por dois fatores cruciais: a velocidade e a prática intensiva. Já no 2º semestre, conquistei minha primeira posição como Desenvolvedor Web Júnior em uma agência de desenvolvimento de sites. Essa oportunidade proporcionou uma rica experiência, envolvendo tanto frontend quanto backend, atendimento ao cliente, coordenação e até mesmo a entrega de projetos diretamente aos clientes.

Há 6 anos atrás, ingressei em uma empresa centrada na experiência do aluno. Durante esse período, desenvolvi diversas ferramentas educacionais, mantendo sempre o foco na web. Embora tenha continuado a utilizar PHP, minha curiosidade levou-me a explorar o mundo do React e Node, à medida que aprofundava meus conhecimentos em Javascript.

Há 5 anos atrás, mudei para outra empresa no mesmo setor educacional, desta vez dedicada a ferramentas de gamificação para aprendizado. Tive a oportunidade de coordenar uma equipe com o desafio de entregar um jogo feito na Unity, uma experiência desafiadora que culminou em sucesso. Além disso, desenvolvi uma Loja Virtual de ponta a ponta utilizando React e Node, sempre mantendo o foco no desenvolvimento web, área na qual sempre me senti à vontade.

Há 2 anos atrás, enfrentei um novo desafio ao trabalhar em um banco digital. Nesse ambiente, desenvolvi integralmente o novo site, implementando o design system da empresa. Durante esse período, aprendi a utilizar Vue.js, uma transição que ocorreu de maneira suave. Além disso, expandi minhas habilidades ao lidar com jornadas de clientes no backend, utilizando tecnologias como Node.js, Salesforce e Marketing Cloud. Essa fase foi repleta de desafios inéditos, mas, no final, tudo se encaixou perfeitamente.

Nos últimos 6 meses, integrei-me a uma empresa de jogos de gambling, onde atualmente aplico minhas stacks favoritas: React e Node. Essa jornada contínua tem sido marcada por desafios e crescimento constante.

Pontos Negativos: Reflexões Sobre o Desenvolvimento Web 🤔

Ao olhar para trás, analisando minhas experiências em diversas empresas, algumas conclusões não tão animadoras surgiram a respeito do desenvolvimento web atual:

1. Volatilidade: Para mim, esse é o principal desafio da linguagem - a constante proliferação de novas bibliotecas. Cada dia surge uma nova, e o que estudei há apenas um ano já está considerado obsoleto. Concluí que é praticamente impossível acompanhar o ritmo acelerado dessa linguagem. Em particular, ao abordar o ecossistema React, considero o exemplo do NextJS, uma das bibliotecas mais renomadas da comunidade. Observo que, em outubro de 2021, tivemos a versão 12, seguida pela versão 13 em outubro de 2022, e a versão 14 em outubro de 2023. Embora compreenda a importância de manter-se atualizado e não ficar para trás, quem trabalha diariamente com React sabe o tempo necessário para que esses frameworks atinjam uma estabilidade aceitável para uso em produção. E, justamente quando atingem esse ponto, uma nova versão é lançada - muitas vezes, infelizmente, repleta de bugs. Vale ressaltar que este é apenas um exemplo entre milhares de frameworks, sendo que alguns até acabam sendo descontinuados no meio do caminho. Essa dinâmica desafiadora torna a vida dos desenvolvedores uma jornada constante de adaptação e aprendizado. 2. Concorrência: Depois da pandemia, testemunhamos uma significativa migração de indivíduos para a área de tecnologia. As renomadas escolas, que prometem levar essas pessoas para o "próximo nível" em suas trajetórias, acabam por formar muitos profissionais ainda cruos, desprovidos de experiência prática. Certamente, existem exceções, mas, infelizmente, essa realidade tem reflexos negativos no mercado. Essa onda de ingresso massivo de novatos torna a tarefa dos recrutadores um pouco mais desafiadora. Identificar e selecionar candidatos com as habilidades necessárias entre um grande grupo de profissionais inexperientes pode ser um processo complicado. Isso destaca a importância de estratégias eficazes de seleção e desenvolvimento para garantir que, apesar da entrada abundante de novos talentos, a qualidade e a adequação ao mercado de trabalho sejam mantidas. 3. Startups: Não tenho nada contra, mas gostaria de compartilhar as experiências que vivenciei ao longo da minha carreira. Trabalhei com pessoas cuja competência deixava a desejar, líderes que, embora possuíssem currículos impressionantes, demonstravam dificuldade em gerenciar equipes de desenvolvedores. Enfrentei desafios em produtos com uma volatilidade constante, enfrentando demandas urgentes e gigantescas, muitas vezes sem um planejamento adequado. No decorrer desse caminho, deparei-me com situações em que cargos de confiança eram ocupados por indivíduos sem nenhum background técnico, o que gerava desafios adicionais. Além disso, trabalhei ao lado de desenvolvedores sêniores cujas habilidades deixavam a desejar, levando-me a questionar diariamente como essas pessoas alcançaram suas posições. O microgerenciamento também se mostrou uma realidade, contribuindo para um ambiente de trabalho caótico e tóxico. Essas circunstâncias, infelizmente, resultaram em níveis significativos de estresse. 4. Mercado: O cenário atual está altamente saturado, com poucos lugares oferecendo remunerações atrativas. A competição é intensa, e constantemente há indivíduos com menos experiência, onde candidatos com maior lábia, acabam conquistando a vaga pela qual tanto almejei. Essa realidade torna a busca por oportunidades mais desafiadora do que nunca. 5. Futuro: Para fechar com chave de ouro, ao analisar mais de perto, é evidente que a maioria dos sistemas que utilizamos hoje são voltados para dispositivos móveis. A presença online via web está gradativamente perdendo terreno, como evidenciado pelo fato de vários bancos optarem por não oferecer uma versão web, concentrando-se exclusivamente em plataformas mobile. Ao longo dos anos, os usuários têm migrado cada vez mais para dispositivos móveis, a ponto de tornar obrigatório que os sites na versão web sejam, no mínimo, responsivos, caso contrário, o risco de perder clientes é iminente. Essa transição sinaliza uma mudança significativa nas preferências e comportamentos dos usuários.

Tá mas e Agora?, Qual o Próximo Passo? 🤷‍♂️

Essa é a pergunta que ecoa em minha mente. Apesar do amor pela programação e pela criação de interfaces visuais, o desafio contínuo no universo web levanta a questão: Vale a pena permanecer como Frontend Web?

Explorando o Mundo Mobile 📱

Após pesquisas, identifiquei três caminhos no mundo mobile:

1. Híbrido (React Native): Se optasse por essa abordagem, com certeza escolheria React Native, é intuitivo e já tenho familiaridade. Contudo, esbarra nos desafios que mencionei anteriormente em relação às startups. Chega um momento na carreira em que, para crescer e integrar equipes excepcionais, pode ser necessário optar por se especializar como desenvolvedor nativo. 2. Android: Embora seja uma plataforma incrível, confesso que tenho uma certa aversão ao Java, hahaha! Eu sei que existe o Kotlin, mas ele é baseado em Java, o que não me agrada... 3. iOS: Apesar de nunca ter criado um Hello World nessa plataforma, considero a área de iOS atraente por apresentar menos concorrência. Além disso, é importante notar que indivíduos em início de carreira podem enfrentar limitações financeiras para adquirir um MacBook. Entretanto, os salários são atraentes, e empresas que optam por se manter no desenvolvimento nativo geralmente são grandes, bem organizadas e possuem produtos consolidados no mercado.

O que estou pensando? 🤔

Estou considerando uma mudança de carreira? Sim! A ideia é deixar para trás tudo o que aprendi ao longo desses 8 anos, tornar-me um Júnior no desenvolvimento mobile iOS, ganhar menos, ser humilde e reaprender tudo do zero. Certamente, a curva de aprendizado será mais suave, considerando minha experiência de 8 anos e os diversos projetos que conduzi de ponta a ponta. Afinal, ser um programador sem desafios é uma tarefa praticamente impossível.

Qual é a opinião de vocês! 🗣️

Gostaria sinceramente de ouvir a opinião de todos - juniors, plenos e, principalmente, sêniores, tanto na área web quanto mobile. Se alguém teve uma história semelhante à minha, por favor, compartilhem suas experiências. Convençam-me a reconsiderar ou, quem sabe, motivem-me a seguir adiante nesta jornada de reflexão, hahaha. Suas perspectivas são valiosas para essa importante decisão!

Fala Lucas beleza? Espero que se encontre com saúde.

Mano, te falar a verdade, eu recomendaria você continuar com o frontend pq vai ser muito mais fácil de você se realocar caso aconteça alguma coisa e também pelo fato de que internamente dentro de alguma empresa você pode ir conversando com sua liderança e migrar internamente para a área de mobile, assim você consegue uma migração mais tranquila e também manter seu salário e tudo mais.

Ia escrever mais, porém tô meio enrolado hahahahha, mas essa é minha visão sobre.

Cara, ja trabalhei em empresas onde passei pelos mesmos problemas relacionados a posições que não condizem com o cargo, micro-gerenciamento, falta de organização e etc. Aprendi uma coisa com isso tudo, uma delas é que, não importa por onde você passa, não deixe que o ambiente caótico, desorganizado ou micro-gerenciado mude como voce é profissionalmente, o que quero dizer com isso?

Seja um escoteiro em sua carreira

Independente de quantas empresas você passe, vários cenários diferentes, sempre ( deixe o acampamento melhor do que como o achou ) eu seja, pense sempre em contribuir com ideias, melhorar o que for possível ao seu alcance e muito IMPORTANTE: Nunca leve para o pessoal problemas que são da empresa, desse jeito você evita que fique pensando incansavelmente em problemas que não dizem respeito ao profissional mas sim a companhia.

Mercado

As vagas realmente tem se tornado escaça no mercado de tecnologia, porém, minha opnião é que com o número de desenvolvedores não tão bem preparados para o mercado ( claro que existem excessões ) surje a necessidade de que nos times que o compõe, ter uma figura de referência, independente de sua senioridade, uma pessoa que compartilhe seu conhecimento e que saiba apontar onde as pessoas podem ir para fazer o que precisam, e nesse caso eu acho que o mundo da web ainda tem muito a te entregar, porque com tecnologias novas, frameworks novos, a tendencia é que surjam mais profissionais que sabem usar um framework e não uma linguagem de fato, entende? Vejo como vantagem o aprofundamento em conceitos da linguagem que voce ja trabalha, tornando-se um profissional especialista nisso, tendo assim um papel de referência dentro de um time ou uma comunidade.

Olá Lucas, tudo bem?

Faz sentido o que você está pensando, nos últimos anos vem aparecendo muitas instituições de ensino voltadas para a área de desenvolvimento de software, aumentando assim a concorrência, além dos layoffs que ocorreram. Além disso, o mundo está passando por vários problemas, então as empresas também se preocupam com isso, porém penso que aos poucos isso melhora, em relação ao aumento da concorrência.

Sobre a volatilidade, ela é normal, a área de TI é uma das que mais evoluem e acho que até migrando para Swift, esse "problema" vai continuar existindo. Eu considero até parte do trabalho quando "concordei" em entrar para área, pois quando estava na faculdade, assistindo as aulas, sempre buscava na internet também, e via que já tinha conteúdos mais atuais. Então penso que esse constante estudo faz parte do nosso trabalho.

Uma coisa que realmente não podemos deixar nos levar, é querer fazer todo curso e saber toda tecnologia nova que aparece, porque sempre estão tentando nos vender algo que "precisamos" saber, senão, vamos ficar desatualizados. Mas o importante é você ter o seu caminho e seguir ele, sempre buscando o que é necessário para o que você escolheu, dando apenas uma olhada por cima nas notícias que saem todos os dias e analisando o que é importante aprofundar mais.

Acho que, como já disseram aqui, a opção de ir migrando aos poucos pode ser valida, será necessário um esforço maior, pois você vai precisar continuar trabalhando com web, e ir aprendendo sobre desenvolvimento para iOS.

Do outro lado, se não for atrapalhar financeiramente, não vejo problema de tentar pegar uma vaga de júnior para trabalhar com iOS, mas penso que para chegar aqui, você precisaria antes estudar um pouco e "brincar" com a plataforma, para sentir como é o trabalho e decidir se faz sentido mesmo a migração.

Boa sorte🙌

Opa, tudo certo?

Primeiramente, parabéns pela trajetória e por se manter firme na jornada! Sobre "abrir mão da sua carreira", um ponto importante é que ser JR/PL/SR depende totalmente do cenário e da empresa. Mas ainda mais importante do que isso é: Toda a experiência que tu carrega consigo desses 10 anos de carreira.

Saber a linguagem X ou Y e saber usar o framework A ou B são apenas meios de entregar toda a habilidade e conhecimento que vamos adquirindo durante a nossa vida profissional. Imagine o seguinte cenário:

Vc encontra um problema específico e difícil de rastrear. Algm que é novo de carreira se desespera e não sabe como tentar resolver. Já algm com mais xp, acaba pensando em quais os possíveis pontos de entrada daquele problema e vai investigando um a um e eliminando possibilidades até encontrar a raiz do problema. Mesmo que vc não saiba resolver por si só, vc conseguiu fazer todo o trabalho de chegar até o problema.

Viu como não citei nenhuma linguagem ou ambiente de desenvolvimento ou framework? Nesse cenário, apenas a habilidade de respirar e pensar em como encontrar o problema contam e isso é adquirido com tempo de carreira, normalmente.

Dito isso, entendo o que tu diz sobre deixar de ser Frontend SR e passar a ser Mobile JR pelo conhecimento no ambiente novo. Mas a dica que te daria é tentar conseguir melhorar suas habilidades e conhecimentos no ambiente mobile com freelas ou projetos sem fins lucrativos (ajudar alguma ONG ou criar algo que possa ajudar algum conhecido) e então tentar mudar de carreira já como um PL, visto que, mesmo que tenha pouco tempo de carreira com o Swift, tu já terá uma XP enorme em desenvolvimento como um todo e isso pesa demais pra maioria das empresas.

Espero ter ajudado de alguma forma! :D Se quiser, me add no linkedin, minha empresa sempre tem vaga pra Dev iOS... haha '