Introdução

Faala pessoal, venho trazer um post que já me foi pedido 12382178931 vezes, falei que ia fazer e depois de mais de 7 meses na Toptal, resolvi fazer. A ideia do post é falar um pouquinho de como foi o meu processo para entrar na Toptal e uma das coisas que acho que vai ser importante, como a Toptal funciona de verdade. Digo isso pois muiiiiita gente confunde como ela funciona e é engraçado que sempre precisamos explicar um pouquinho xD

Enquanto escrevo, vou ouvindo uma banda que eu não poderia deixar de estar escutando depois do acontecido ontem… A banda em questão é Linkin Park, que fez parte da minha adolescência e vou sempre me lembrar como uma das bandas que me fizeram gostar de Rock.

Como a Toptal funciona?

Antes de tudo, precisamos falar como a Toptal funciona, pois isso causa um número gigante de dúvidas. A Toptal é uma plataforma que liga Freelancers (Designers, Desenvolvedores e Experts em Finanças) a grandes empresas como: Airbnb, HP, J.P.Morgan, Emirates, entre outras mais.

E como isso funciona? Os freelancers aplicam na plataforma e passam por um processo conhecido como Top 3%, onde eles passam por várias etapas, como entrevista para análise da língua e perfil, entrevistas técnicas, projetos e outras coisas mais. Caso o freelancer passe nessas etapas, eles passam a ter acesso do painel de jobs, onde várias empresas do mundo todo colocam suas vagas. As empresas para poderem cadastrar suas vagas, também passam por um processo.

E por que de tudo isso? Para garantir qualidade e confiança, as empresas se sentem mais seguras podendo contratar profissionais que de fato são especialistas naquela área. E os freelancers podem ter confiança que irão receber corretamente e irão trabalhar com empresas boas e confiáveis.

Confusão

Em geral, é nessa parte que a galera sempre se confunde. Acabam pensando que quem trabalha na Toptal é sempre Freelancer e bom, não é bem assim, como a plataforma funcionaria sem ninguém? xD

Existem os freelancers que usam a plataforma da Toptal e existem os funcionários normais que trabalham para a Toptal. Eu entro nesse segundo caso, eu sou Frontend Developer no Core Team da Toptal, ajudando a criar novas features, participando de iniciativas e mantendo a plataforma como um todo. E tendo isso em vista, eu vou falar de como foi o meu processo para entrar como desenvolvedor no Core Team.

Processo

Bom, para começo de tudo, um amigo que trabalhou comigo na HUGE tinha recebido um email com uma proposta para trabalhar na Toptal enquanto jogava videogame lá em casa e você pode ler o relato dele aqui. Ele acabou fazendo o processo todo e passou, indo trabalhar lá em Maio. No mesmo mês eu saía da HUGE para me dedicar aos meus cursos e começar a viajar pelo mundo, que já era um desejo muito grande meu, você também pode ler aqui.

O Jonas começou a trabalhar lá e em Setembro eu estava indo morar na Europa. Ele, como estava trabalhando remoto nessa empresa maravilhosa que permitia viajar e trabalhar ao mesmo tempo, aproveitou e foi para Europa no mesmo vôo que o meu!

E pouco depois do Jonas entrar, pediriam para ele recomendações de bons desenvolvedores, ele me perguntou se podia recomendar e a primeiro momento, eu nem quis. Eu tinha acabado de sair de uma empresa porque não queria me prender e poder fazer minhas viagens e projetos, não fazia sentido eu entrar para uma empresa. Mas no meio de Novembro ele acabou me indicando e foi então que entraram em contato comigo (curiosamente já tinham entrado em contato comigo antes, eu devo ter achado que era spam e nem li).

Primeiro Contato

Meu primeiro contato foi muito maneiro, eu conversei com uma recruiter da República Tcheca, o que já achei super legal, mostrando o como a empresa é diversificada. Ela estava ainda em Portugal para um evento que ia acontecer lá, da qual a Toptal estava patrocinando e tudo.

Foi bem padrão, ela fez perguntas sobre projetos passados, empresas que já tinha trabalhado, o que estava fazendo no momento. O que achava da Toptal, se estaria animado de poder trabalhar com um amigo de novo. Toda essa conversa foi em inglês obviamente, mas ela tinha uma pronúncia bem aberta e fácil de entender (bem diferente de uns irlandeses que eu conversava em pubs barulhentos), então foi super tranquilo para mim.

Logo após essa conversa, ela já falou que tinha gostado bastante do meu perfil e parecia bastante com o que precisavam, então falou que iria me mandar um email marcando a próxima etapa, onde iria conversar com algum desenvolvedor.

Pouco tempo depois eu recebi o email e nele já tinha o Github do desenvolvedor que eu iria conversar e outras coisas mais. Ela falou que assim eu podia ver o que ele também fazia em seu tempo livre e poderíamos ter mais papos para discutir, achei isso demais! Até porque eu amo trabalho opensource.

Etapa 2

Essa etapa foi com um Russo e foi muito muito maneira. Primeiramente a gente bateu um papo, que já foi bem mais técnico, indo desde escolhas em projetos passados, até uma análise do meu Github. Ele já tinha dado uma olhada em praticamente tudo que eu tinha feito e fez vários comentários relacionados aos meus códigos, inclusive reclamou que meu blog era em Português, porque ele tinha se interessado em ler, mas quando traduzia ficava muito estranho.

Depois dessa conversa, teve uma pequena etapa de live coding, divido em 2 pequenos testes. O primeiro tinha umas coisas quebradas na tela e eu tinha que corrigir, mas sem mudar o tamanho dos elementos. Era uma coisa muito simples, mas ele falou que esse teste servia para ver se a pessoa não iria querer criar coisas malucas só para corrigir, pois o simples é sempre o melhor.

O segundo teste eram alguns ícones em SVG na tela (nem amo SVG né?) e ele pediu para que eu deixasse aqueles ícones organizados legais, com uma UX interessante. Eu fiz algumas edições para ficarem lado a lado, adicionei cores e animações. Inclusive usei um filtro em SVG que deixou ele boquiaberto, acho que só passei por causa disso ahuaua

No final dessa conversa e testes, ele falou que iria passar todas as anotações dele e eu iria receber um email dizendo se havia passado ou não. No dia seguinte eu recebi um email falando que eu tinha passado para a próxima etapa.

Etapa 3

Essa etapa nem teve conversa praticamente, quem me entrevistou foi um Russo (que hoje é o líder do meu time), ele já chegou me passando o problema para resolver e eu precisava resolver live coding ali. Confesso que eu fiquei extremamente nervoso, ele parecia muito sério (hoje sei que ele é o mais zoeiro do time) e o teste tinham vários detalhes que precisava prestar atenção.

Eu então comecei a ler e me concentrar para fazer o teste, era basicamente uma integração que tinha que fazer de uma API, preenchendo uns dados na tela, depois salvando os mesmos dados, no meio do caminho existiam também alguns estados e validações que eu precisava me preocupar.

Eu estava fazendo a implementação em JS, mas ele me parou no meio e falou para eu estilizar o que já tinha, pois a parte de JS já estava suficiente para ele. Eu peguei e deixei o formulário bem bonito no tempo que deu. Ele tava apressando pacas e o engraçado é que ele deixou o microfone dele ativo o tempo todo e um gato estava do lado do Notebook, então ficava o barulho de ronronar do gato o tempo todo!

Eu saí dessa etapa já sabendo que não tinha passado, tinha achado minha implementação em JS uma grande merda, confesso que não sou nada bom com coisas feitas as pressas e com pressão. Aí o Jonas tava em Dublin na época, encontrei com ele e um outro cara da Toptal (que aliás estava assistindo minha entrevista em ghost mode) e fomos beber, para eu não ficar mais bolado.

E conversando com esse cara, ele falou que de fato viu que eu estava bastante nervoso, mas que é assim com qualquer um, que quando ele tinha feito a entrevista, tinha ficado nervoso também. E falou para eu deixar de me preocupar, que depois eu veria o resultado.

Não deu outra, no dia seguinte eu recebi um email avisando que eu havia passado para a quarta e última etapa. Que seria ter uma conversa bem técnica com o Vice Presidente de Engenharia da Toptal, que nada mais é que o Bozhidar Batsov, o cara que criou o Styleguide de Ruby, de Clojure e que criou um editor próprio!

Etapa 4

Diferente de todas as outras etapas que tinha sido com diferença só de 2 dias, essa foi marcada um pouco mais para frente, pois o Bohzidar estava cheio de eventos para participar e não tinha tempo. Então a call foi marcada para o final de Novembro (eu tinha iniciado o processo no início do mês). Acabou que eu esqueci o dia exato da call e estava numa road trip pela Irlanda com 3 amigos (Jonas incluso). Nessa viagem a gente ainda decidiu ficar mais um dia, exatamente o dia que era minha call. A gente já acordou de manhã planejando como iríamos fazer para não correr o risco de ficar sem internet ou bateria.

Estávamos já no caminho de volta para Dublin, passando por cidadezinhas muito pequenas e decidimos parar numa cidade qualquer no meio do caminho, pois tinha um restaurante e eu poderia conversar melhor. Ficamos lá até dar a hora da call, acho que a mulher do restaurante deve ter achado até estranho, pois ficamos muiiiiito tempo.

Na hora da call eu fui para o segundo andar (que não tinha ninguém) e conversei com o Bohzidar pelo telefone mesmo. Foram diversas perguntas bem interessantes, coisas como “O que você acha de linguagens compiladas em outras linguagens?”, “Do ponto de vista de Frontend, o que você considera o maior gargalo da aplicação?” e várias outras que nem lembro mais. Nós conversamos durante muito tempo, até que eu precisei cortar e falar que minha bateria estava acabando! (E o medo de perder a vaga nessa parte)

E aí nesse momento que eu comentei da bateria, ele mesmo já me deu os parabéns falando que eu tinha passado e que tinha gostado demais conversar comigo, que poderia conversar até mais. Explicou só os próximos detalhes e então nos despedimos.

Início na Toptal

Logo após o Bohzidar ter me aprovado, a mesma recruiter da primeira fase já me mandou um email perguntando quando eu poderia começar. Eu respondi que não estava trabalhando no momento então estava disponível, ela falou “Ótimo, hoje é sexta, então você começa na segunda tá?”. E foi assim que eu comecei =D

No primeiro mês todo iniciante fica num Bootcamp onde aprende como a empresa funciona, faz tickets mais fáceis e com supervisão/auxílio da galera do time, até notarem que você já está preparado para entrar em algum time. Eu fiquei exatas 3 semanas e fui para um dos vários times que temos. Os times são compostos por Backend, Frontend, QA, Team Lead e, em alguns tem PM também.

Como funciona o Core Team da Toptal?

Bom, como disse, somos vários times e cada um é responsável por um pequeno pedaço da plataforma e/ou produtos internos. Nos comunicamos pelo Slack o dia todo, fazemos bastante pair programming usando o Screenhero ou qualquer outro app que compartilhe tela, temos daily como qualquer equipe, retrospectivas e updates semanais da empresa como um todo. Utilizamos o Gìthub para versionar nosso código e possuímos um processo de code review muito legal, onde todos tentam ajudar para ter o melhor código entregue no final.

Por mais que estejamos em todos os lugares do mundo, a gente tá sempre perto devido aos canais de comunicação e é bastante divertido saber onde cada um está, a Toptal influencia bastante a galera viajar, ir a eventos e etc.

Se você se interessou e quer saber mais e também quais vagas temos abertas, acessa o site toptal.com/careers, lá tem fotos, vídeos, mapinhas, vagas, tudo bem legal =D

Conclusão

Bom galera, espero que tenham gostado do post, pretendo escrever outros posts sobre trabalho remoto, viagens, entrevistas, mercado de trabalho lá fora e etc. Então fiquem ligados =D