Carreira Dev

23 out, 2017

Minha experiência de estágio em Engenharia de Confiabilidade de site com a Uber

Publicidade

Mitali Palekar foi estagiária de verão em 2017 na equipe de Engenharia de Confiabilidade de Site da Uber (SRE). Neste artigo, ela discute sua experiência de estágio e compartilha as lições aprendidas em seu tempo na Uber.

Estágios podem ser intimidadores, especialmente quando são em uma das empresas mais conhecidas no ramo da tecnologia.

Mitali Palekar estagiou com a equipe de Engenharia de Confiabilidade de Site da Uber no verão de 2017.

Como uma jovem em ascensão na busca por galgar um degrau na ciência da computação, meu estágio na Uber representou a realização de um objetivo de longo prazo. Os engenheiros que aspiram como eu, sonham em trabalhar em projetos de alto impacto e alta visibilidade em empresas que estão afetando a maneira como vivemos. Como estagiária na equipe de Engenharia de Confiabilidade de Site (SRE), tive a oportunidade de aprender e colaborar com engenheiros do mundo real em recursos e melhorias que afetam suas vidas diárias, incluindo meu projeto de estágio emblemático, uma ferramenta para suportar a análise de distribuição de rack com o nosso gerenciamento do ciclo de vida do cluster (CLM).

Neste artigo, reflito sobre este projeto e a experiência de estagiária na Uber em geral, bem como destaco as conclusões chave do tempo em que estive na Uber.

Projeto de estágio: desenvolvimento de suporte de análise de distribuição de rack no CLM

Quando eu comecei meu estágio na Uber, fiquei ansiosa para contribuir com a mudança de cenário de uma empresa cujos produtos uso regularmente e estava realmente entusiasmada. Pessoalmente, queria trabalhar em um projeto que me permitisse construir um serviço ou ferramenta que beneficiasse os objetivos da minha equipe e a direção futura. Simultaneamente, queria analisar os problemas do dia-a-dia que minha equipe enfrenta e entender a experiência em tempo integral de um engenheiro de confiabilidade de site na Uber.

A Uber Compute, uma divisão da equipe Core Infrastructure, é responsável por escalar e apoiar os serviços internos da Uber. Como estagiária da SRE, desenvolvi suporte de análise de distribuição de rack para a nossa solução de gerenciamento de ciclo de vida do cluster, uma ferramenta usada para manutenção e correção de nossos clusters e centros de dados.

Este projeto obtém/coleta informações de serviço, servidor e baseadas em rack para fornecer ideias sobre colocações de serviço em hosts e adesão de acordo a nível de serviço (SLA), que são fundamentais para as iniciativas de confiabilidade de serviço da Uber. A interface de suporte e os metadados permitem que os engenheiros entendam melhor os SLAs em uma perspectiva de rack, além de implementar o agendamento de serviços com suporte ao rack.

Figura 1: O meu projeto de estágio foi um passo no sentido de desenvolver uma colocação de serviços com suporte ao rack, fornecendo ideias sobre violações de acordos a nível de serviço e informações de colocação de serviço.

Arquitetar este sistema para permitir a confiabilidade, a sustentabilidade e o desempenho mais veloz a longo prazo do serviço significou que gastamos a maior parte do tempo projetando e iterando sobre as necessidades do sistema e os contratos de usuários. No final, nosso trabalho duro compensou na forma de um modelo acionável para bidireccionalmente construir gráficos de associações de relacionamentos entre serviços, servidores, racks e clusters, permitindo que os usuários consultassem objetos diferentes com base em casos de uso específicos.

Figura 2: A arquitetura de alto nível de fornecimento de suporte de análise de distribuição de rack com CLM.

Através deste projeto, fui desafiada a pensar nas decisões de projeto da indústria relacionadas à escalabilidade, confiabilidade, desempenho e sustentabilidade – considerações que são imperativas para a engenharia sustentável. Igualmente benéfico, a Uber me deu a oportunidade de possuir um projeto de ponta a ponta que fosse impactante para as futuras iniciativas de confiabilidade da Uber.

Encontrar o significado no trabalho além do trabalho

À medida que cresço na minha carreira, tenho percebido muito rapidamente a importância de moldar minha identidade como engenheira para além do código. Como uma forte defensora da diversidade e escritora experiente, eu estava extremamente interessada em desenvolver e alavancar minhas perspectivas através do meu estágio de verão – e a Uber me forneceu plataformas para fazer exatamente isso.Eu me ofereci para falar em sessões abertas internas, escrevi para o Uber Eng Blog, participei de inúmeros eventos no local e participei de grupos de recursos de funcionários (ERGs), como LadyEng, mulheres da Uber no grupo Engenharia. Essas experiências me ajudaram a desenvolver um forte senso de identidade, pertencimento e comunidade na Uber.Meu tempo aqui é um reflexo do etos “quanto mais você se dedicou, mais você se beneficia”.

Essas experiências me permitiram obter uma compreensão mais forte dos meus valores fundamentais e das pessoas com as quais quero me cercar como engenheira. Além disso, através desta comunidade, inculquei importantes habilidades não-técnicas e identifiquei conclusões essenciais que me ajudarão a crescer em minha pós-graduação na carreira. Abaixo, destaco algumas dessas lições aprendidas:

Faça perguntas (as corretas!)

Na escola, um dos principais conselhos de meus colegas de classe sênior é “fazer perguntas, porque isso vai te poupar toneladas de tempo”. Essa linha de pensamento definitivamente me ajudou quando não tenho certeza de como usar determinadas tecnologias específicas da Uber ou quando fui confrontada com a correção de erros obscuros.

No entanto, mais importante ainda, percebi que também é importante fazer as perguntas corretas. Certifique-se de fazer sua pesquisa de fundo – isso irá ajudá-lo a apresentar o seu problema de forma coerente e mostrar ao seu gerente que você passou algum tempo tentando descobrir qual é o problema e por que ele existe. Além disso, indica que você tem a tenacidade para resolver problemas difíceis, mas que também sabe quando pedir ajuda. Você é um estagiário – e não é esperado que você saiba tudo – então, uma boa comunicação sempre ajuda.

Seja aberto, seja flexível

Durante um estágio de engenharia, há bastante iteração, especialmente em termos de decisões de design e detalhes de implementação. No entanto, quando o seu estágio é em uma empresa de rápido crescimento como a Uber, as necessidades e os contratos de serviços em constante mudança devem ser tidos em conta. Durante o período do meu estágio, meu projeto passou por várias iterações e logo percebi que era imperativo ser aberto e flexível para mudar. Embora fosse frustrante às vezes, meu gerente me deu conselhos que irão informar a minha visão sobre a iteração em avanço: “Em qualquer empresa, as coisas estão mudando constantemente e nada é completamente estático. Se você pode lidar positivamente com este cenário em mudança e ainda progredir em seu projeto, isso determinará se a engenharia de software é ou não é para você “.

O progresso nem sempre é linear – e está tudo bemTodo estágio de engenharia é único e diferente e não importa o sabor, você será pressionado a resolver novos problemas, enfrentar um conjunto diferente de erros e completar projetos a um ritmo diferente. Haverá dias em que você fará um rápido progresso e enviará centenas de linhas de código; em outros dias, você passará horas tentando depurar uma única linha – e está tudo bem. Os estágios são uma jornada e você tem que aceitar que isso é normal, se não esperado, que o progresso seja “buggy”/”tenha erros”. Tudo vale a pena quando, após semanas ou mesmo meses de trabalho, você envia seu projeto para a produção e percebe seu impacto.

Lembre-se de se divertir

Enquanto você está aqui para aprender e contribuir com sua equipe, lembre-se de dar um passo atrás e mergulhar na experiência. É muito fácil ficar envolvido no meio do seu projeto de estágio e esquecer o quadro maior. Certifique-se de conhecer sua equipe, seus gerentes, seus recrutadores e, – o mais importante, seus colegas estagiários. Algumas das conversas mais interessantes que tive com meus colegas têm sido aprendendo sobre seus contextos, suas jornadas como engenheiros e suas experiências na Uber. Escavação profunda, porque as pessoas que você conhece hoje podem moldar o caminho que você fará amanhã.

O tempo realmente voa, mas se há uma coisa que eu aprendi neste verão é isso: mesmo como estagiária, suas opiniões, suas experiências e suas ideias são importantes.

Mitali Palekar foi uma estagiária do verão de 2017 na equipe de Infraestrutura de Plataforma SRE da Uber. Atualmente, ela é estudante de graduação em ciência da computação na Universidade de Washington.

Saiba mais sobre a experiência de estágio da Engenharia da Uber conferindo outros artigos de nossos estagiários:

***

Este artigo é do Uber Engineering. Ele foi escrito por Mitali Palekar. A tradução foi feita pela Redação iMasters com autorização. Você pode conferir o original em: https://eng.uber.com/sre-internship/