De acordo com o Bureau of Labor Statistics (BLS), a demanda esperada por engenheiros de software crescerá 22% até 2029. Não é um bom sinal para iniciar sua carreira no desenvolvimento de software? No entanto, apostamos que ninguém quer estabelecer padrões muito baixos e trabalhar em empresas duvidosas com salários baixos. É por isso que apresentamos uma breve visão geral das melhores recomendações para conseguir uma entrevista de emprego para desenvolvedor de software na Big Tech. Conversamos com Pranav Malik
, engenheiro de software com mais de 3 anos de experiência que trabalha na Microsoft, ex-Oracle e PayPal. Além disso, ele diz que já quebrou mais de 60 empresas. Vamos começar.
P: Quais são os primeiros passos para iniciar uma carreira de desenvolvimento de software?
R: Como desenvolvedor de software, espera-se que você seja capaz de resolver problemas, portanto, boas habilidades de resolução de problemas são metade da batalha vencida. Se você é uma pessoa que adora resolver problemas, o desenvolvimento de software é um bom ponto de partida. Na verdade, excelentes habilidades de resolução de problemas diferenciam um bom desenvolvedor de software de um ruim. Um ávido solucionador de problemas pensa fora da caixa, e é isso que as grandes empresas mais valorizam. Além disso, você deve ser proficiente em estruturas de dados e algoritmos.
P: Como foram suas entrevistas iniciais?
R: Novamente, a maioria das empresas busca principalmente conhecimento em solução de problemas e estrutura de dados se você estiver no estágio inicial de sua carreira. Empresas como a Amazon podem solicitar que você resolva problemas de médio a difícil, como problemas baseados em árvore ou problemas baseados em gráficos. A Microsoft, por sua vez, é famosa por problemas de retrocesso, enquanto o Google é especializado em problemas baseados em programação dinâmica. Você tem que pesquisar a empresa com antecedência para se preparar ao máximo. No entanto, em geral, a maioria das empresas está interessada em habilidades de resolução de problemas, conhecimento de dados, prioridade, competência técnica (também podem ser solicitados conhecimentos internos de Java, conhecimento teórico) e fundamentos de ciência da computação. Além disso, lembre-se de que quanto mais entrevistas você tiver, mais aprenderá. Portanto, não tenha medo de ganhar experiência e participar de inúmeras entrevistas (mesmo que você não vá trabalhar na empresa que frequenta).
P: Existe diferença entre os requisitos de startups e empresas corporativas?
R: Sim, há uma diferença. Se você estiver indo para uma empresa baseada em produtos, suas habilidades deverão ser adequadas para esse produto específico. Por exemplo, se for necessário conhecimento de back-end, não há necessidade de full stack e vice-versa. Se o produto for excelente, você também está se destacando, ou seja, desenvolvendo mais habilidades.
P: Como você continuou aprendendo e dominando para desenvolver sua carreira de desenvolvimento de software?
R: Se você está escolhendo uma carreira de desenvolvedor de software, deve entender que será “um aprendiz ao longo da vida”. Você precisa estar pronto para praticar e aprender todos os dias. Você recomeçará do zero se fizer uma longa pausa ou pausa. Ninguém quer isso. Então, basta praticar diariamente e, em breve, isso se tornará um hábito.
P: Quais ferramentas, linguagens e tecnologias são importantes para dominar no desenvolvimento de software?
R: É uma discussão muito aberta e não há uma resposta definitiva. Minha resposta é “tudo o que funciona para você e qualquer tecnologia na qual você esteja interessado”. Java é uma linguagem de programação muito popular e todos os setores a utilizam atualmente; Python é amplamente usado para aprendizado de máquina, Node.js é útil para pessoas que realizam desenvolvimento full-stack. IA, chatbots, serviços em nuvem… As opções são ilimitadas. A única coisa a notar aqui é que você deve estar sempre atualizado, independentemente da tecnologia que escolher. As tecnologias não permanecerão estáticas, então você deve aprender com elas. A tecnologia forçará você a estudar e seu cérebro a funcionar.
P: O que deve ser incluído no currículo de um novato ou engenheiro de software com alguma experiência anterior?
R: Pelo menos 2 ou 3 projetos em seu currículo para mostrar que você fez algo de forma independente. Você pode falar sobre o que fez, os desafios enfrentados e as tecnologias utilizadas. Algum estágio também é bom. Você acabou de ter uma experiência em primeira mão de como será sua vida. Se você ganhou algumas competições, também será um bônus.
P: O perfil do LinkedIn e/ou GitHub é realmente importante?
R: É muito importante. Se você não está no LinkedIn, como está procurando emprego? Na esfera profissional, tudo está no LinkedIn agora. É como o Facebook. O LinkedIn é um lugar onde você pode se conectar com pessoas profissionalmente e verificar previamente o perfil do entrevistador (o que eu pessoalmente faço sempre). Um perfil GitHub também é muito importante. Você deve ter qualquer projeto desenvolvido no GitHub. E às vezes, por causa desses projetos, você pode ser contratado – se o projeto for interessante, há grandes chances de o entrevistador ficar impressionado. Eu daria 9 de 10 quando se trata de importância. Resumidamente, o LinkedIn funciona como um portfólio digital, enquanto o GitHub funciona como um Instagram do programador, onde você pode mostrar seu perfil e projetos concluídos.
P: Como se preparar para diferentes rodadas de entrevistas? Qual a diferença entre eles? Quantos deles você experimentou na Microsoft, Oracle, PayPal e outras grandes empresas?
R: Em geral, as grandes empresas têm um mínimo de 5 a 6 rodadas. A primeira é algo como uma “rodada de codificação online”, onde os entrevistadores normalmente fazem duas ou três perguntas para avaliar suas habilidades de resolução de problemas. O segundo realmente os testa. Então, muito provavelmente, você experimentará duas rodadas direcionadas – por exemplo, uma rodada para um design de baixo nível e outra para um design de alto nível. A última rodada é realizada por um gerente de contratação, onde são feitas perguntas gerais ou comportamentais por 45 minutos e questões técnicas por mais 15 minutos. Nas grandes empresas, os diretores também podem falar com você para avaliar se você se adapta bem.
P: Existem habilidades sociais específicas para ingressar em grandes empresas?
R: As habilidades interpessoais são muito importantes. Por exemplo, na Amazon, eles podem perguntar sobre princípios de liderança em qualquer fase da entrevista. Eles podem falar por 45 minutos sobre questões técnicas e depois dedicar 15 minutos à sua atitude: “Como você implementaria isso”. Você deve ser capaz de se comunicar muito bem. Você deve ser capaz de explicar claramente sua abordagem e transmitir todas as suas ideias ao entrevistador. Infelizmente, perdi a oportunidade de trabalhar no Meta, Facebook, só porque não estava claro. Hoje em dia, muitos candidatos possuem hard skills muito boas, então soft skills são o que podem fazer você se destacar.
P: O que você acha do mercado indiano de TI?
R: A Índia está progredindo bastante. A Índia até derrotou o Reino Unido no ranking global da indústria de tecnologia. E o que é notável é que cada vez mais startups são fundadas por indianos, e não apenas por empresas estrangeiras. A tecnologia agora é amplamente utilizada na agricultura, saúde e educação. O setor governamental também depende de TI. E como quase todos os sectores dependem da tecnologia, serão criados cada vez mais empregos na Índia. Acredito que os próximos 10-20 anos serão o período dourado para o sector indiano de TI, por isso fique na Índia em vez de ir para os EUA ou outro lugar.
P: Como um novato pode fazer a transição para a programação?
R: Tenho visto muitas pessoas com experiência em arte e comércio, etc. Novamente, não importa o setor, a resolução de problemas é a habilidade básica que você deve possuir. Se você for um bom solucionador de problemas, terá sucesso. O segredo é aprender regularmente e não desistir. Crie um caminho claro e nítido e não se desvie dele. Além disso, observe que as habilidades agora são mais importantes do que os diplomas. Muitas pessoas da esfera não relacionada à TI têm desempenho melhor do que aquelas com títulos universitários. São suas habilidades reais que o tornam excepcional.
P: Como aprender engenharia de software para se qualificar para uma boa posição?
R: Estude todos os dias! Se possível, estude de 10 a 12 horas diariamente. 5-6 horas também seriam suficientes, mas você deve ser consistente. Se você muda de carreira e trabalha profissionalmente, tente dedicar pelo menos 2 a 3 horas todos os dias. Faça pouco a pouco – não há necessidade de se esgotar. Aprenda todos os dias até sentir que é suficiente, depois tire uma folga e retome.
P: Quanto você pode ganhar sendo júnior, intermediário e sênior?
R: É uma questão trivial. Se você estiver trabalhando em uma empresa baseada em produtos ou serviços, receberá de 6 a 30 ₹ como especialista básico. E estou falando de um salário base sem benefícios extras. Se for uma empresa baseada em produtos de ponta, pode oferecer um sistema de bônus e opções de ações – em empresas como a Amazon, o total pode chegar a 50-64 ₹. Se falamos de pessoas de nível médio, os salários podem chegar a 90-95 ₹, enquanto os idosos recebem muito mais.
P: Vale a pena aprender Java em 2023?
R: Obviamente, vale a pena tentar aprender Java em 2023, 2024, 2025, 2026… a lista é infinita. Aprender Java no segundo ano foi minha melhor aposta. Linguagens semelhantes como C# ou C++ ocupam apenas 10-15% do mercado, e apenas empresas de nicho ou a Microsoft as utilizam. 70% das empresas usariam Java em qualquer formato, e até mesmo a Microsoft orientada a C++ usa Java em projetos específicos. Com certeza, Java é uma linguagem de programação muito popular na Índia. E acredito que é melhor aprender Java em vez de C#, C++ ou Phyton. Mesmo se você estiver interessado em aprendizado de máquina, ainda recomendo aprender Java primeiro e só depois Phyton. Java não vai desaparecer.
P: Se você decidisse começar sua carreira agora, treinaria no CodeGym? Você recomendaria o CodeGym?
R: Sim, claro, tem um currículo ideal e permite que você aprenda coisas de nicho (sem informações desnecessárias) que você precisará para conseguir as entrevistas que enfrentará. Além disso, é ministrado por mentores altamente profissionais da indústria
Conclusão
Conseguir uma entrevista de emprego em programação não é fácil devido à concorrência acirrada, especialmente quando você almeja gigantes da tecnologia como Google, Facebook, Microsoft, Amazon, etc. Esperamos que essas recomendações tenham lhe dado uma dica sobre as coisas nas quais você deve se concentrar. Este artigo foi útil para você? Deixe-nos saber nos comentários abaixo se você tiver alguma dúvida ou opinião!
GO TO FULL VERSION