A Adobe, Xiaomi, Amazon, Apple, Netflix e Google (FAANG) são algumas das maiores empresas de tecnologia do mundo. Eles podem ser ótimos para trabalhar por vários motivos. Se você é funcionário de qualquer uma das empresas FAANG, provavelmente ganhará um ótimo salário e terá acesso a uma rede robusta de desenvolvedores com a qual aprender. Se você não trabalha em uma empresa FAANG, pode se sentir um pouco excluído.
Mas a verdade é que nem todas as funções da engenharia de software são iguais. Os projetos em que você trabalha, as pessoas a quem se reporta e os ambientes em que trabalha variam. Neste post, darei uma análise detalhada de por que essas diferenças existem e compartilharei um pouco de minha experiência pessoal trabalhando em ambos os lados da cerca. Apresentarei as experiências que você pode ter como engenheiro de software em uma empresa FAANG, bem como se você trabalhar para uma grande empresa em um setor não-FAANG.
Quando os engenheiros constroem o produto
A maior diferença para as funções de engenharia de software nas empresas FAANG é o produto. O software é parte integrante do produto ou plataforma de cada empresa. Essa necessidade de software exige que cada empresa tenha engenheiros suficientes. Sua empresa empregará dezenas de milhares de outros engenheiros, e vários milhares podem estar trabalhando em seu produto ou projeto específico.
Você entrará em uma infraestrutura robusta construída para o seu sucesso como desenvolvedor. As expectativas serão claras e o protocolo bem estruturado. Provavelmente haverá um processo simples e eficiente para tudo; se não houver, provavelmente está sendo desenvolvido. Alguém sempre estará disponível para revisar e ajudar a depurar seu código. Haverá wikis internos detalhados que o ajudarão em quaisquer problemas que você possa enfrentar.
O Google é um ótimo exemplo de como as empresas FAANG operam em escala. Lembro-me de quando visitei o Google para uma entrevista no local. Durante a entrevista, alguns Googlers me acompanharam pela infraestrutura de desenvolvimento da empresa. Parte dessa infraestrutura consistia em revisões de código contínuas. Havia uma ferramenta interna onde os desenvolvedores podiam pedir a outros desenvolvedores uma revisão de código. Se precisassem de equipamentos, um engenheiro do Google poderia obter tudo o que precisassem de TI. Na maioria das vezes, o equipamento era gratuito. O equipamento gratuito era fornecer aos funcionários um retorno rápido para que eles pudessem produzir seu melhor trabalho.
Nas empresas FAANG, você estará cercado por pessoas tecnicamente competentes. Você conhecerá muitos engenheiros de software brilhantes que sabem lidar com códigos como a palma da mão. Você também encontrará funcionários não técnicos que sabem lidar com códigos. Para as empresas FAANG, o software é a chave e os funcionários sabem disso. Isso significa que todos precisam entender o software o suficiente para trabalhar com ele. Funcionários não técnicos não precisarão saber programar, mas precisarão entendê-lo em um nível conceitual. A empresa não pode permitir que gerentes não técnicos idolatrem recursos irrealistas. Eles não querem ineficiências de comunicação e produto entre seus engenheiros e todos os demais.
Durante meu tempo no Facebook, conheci muitos funcionários não técnicos que sabiam como codificar. O Facebook exigiu que os gerentes de produto concluíssem um treinamento de programação de seis semanas. O elevado padrão de conhecimento ajudou a empresa de várias maneiras, principalmente porque os gerentes entendiam as especificações técnicas. Eles criaram recursos inovadores e realistas com os quais os engenheiros poderiam embarcar. Os gerentes não técnicos não apressavam os programadores por ignorância. Não houve perda de comunicação entre as partes interessadas. Melhor ainda, os colegas de equipe tinham uma compreensão alinhada do que precisava ser feito.
Como as empresas FAANG precisam contratar muitos engenheiros, elas competem constantemente pelos melhores talentos. Essa competição afeta as funções de engenharia de software de várias maneiras. Cada empresa FAANG tentará oferecer a você o melhor ambiente de trabalho possível. Isso inclui mais do que uma infraestrutura de desenvolvimento robusta. As empresas FAANG também oferecerão várias vantagens de trabalho excelentes – salários elevados, refeições diárias gratuitas, off-sites pagos e eventos de celebridades.
A competição entre as empresas FAANG nem sempre é puramente benéfica para você. A competição trará os melhores dos melhores engenheiros, que farão com que você seja responsável por produzir o melhor trabalho possível. As empresas FAANG irão medir você em relação a seus próprios programas intensos de desempenho interno. Eles projetam esses programas para garantir que todos os engenheiros estejam produzindo um ótimo trabalho. Se você não estiver à altura, eles o deixarão ir.
Quando eu estava no Facebook, muitas vezes encontrei funcionários que trabalharam em outras empresas FAANG. Os recrutadores do Facebook teriam como alvo funcionários de outra empresa FAANG. Ao longo do meu tempo com o Facebook, vi como todos trabalharam duro. Os engenheiros foram persistentes em enviar trabalhos da mais alta qualidade. Eles se certificaram de que executaram todos os aspectos do processo de teste e validação e passaram longas horas após o trabalho remendando o que pareciam ser detalhes minuciosos. Eles encorajaram todos a fazerem o mesmo. Os padrões eram altos, mas todos estavam à altura da tarefa. Do contrário, eles perderiam o emprego.
O que você pode esperar de indústrias não FAANG
Não há dúvida de que o software impulsiona muitos dos produtos e plataformas das empresas FAANG. Como engenheiro de software em uma empresa FAANG, seu código será a força vital da organização. Mas e as funções de engenharia de software em setores que não são orientados por software?
Para um engenheiro de software em um setor não FAANG, você terá mais oportunidades de agregar valor. Essas oportunidades se devem em parte ao fato de não haver tantos desenvolvedores. Isso significa que você será capaz de trazer novas ideias para o seu setor, possivelmente aquelas que podem perturbar o setor. Outra forma de agregar valor é automatizando tarefas para o resto da empresa. Ao conhecer seus colegas de trabalho, você descobrirá as áreas que pode começar a automatizar. Quer se trate de relatórios ou aprendizado de máquina, você terá uma porta aberta para começar. Outros começarão a reconhecê-lo por sua capacidade de agregar valor por meio do software. A gerê
.png)
.png)
.png)
.png)