Com todas as histórias de demissões e mal-estar geral da indústria de tecnologia, acho que é hora de relembrar o quão longe chegamos. Então aqui está uma história de origem, ou o que teria sido uma história de origem. Porque tenho um segredo sujo para compartilhar. Eu não sou um desenvolvedor estrela do rock. Ou muito de um desenvolvedor em tudo.
Com todas as histórias de demissões e mal-estar geral da indústria de tecnologia, acho que é hora de um lembrete de quão longe chegamos. Então aqui está uma história de origem, ou o que teria sido uma história de origem. Porque tenho um segredo sujo para compartilhar. Eu não sou um desenvolvedor estrela do rock. Ou muito de um desenvolvedor em tudo.
Agora eu sei que alguns leitores do Hackernoon podem estar pensando: 🤨
Mas muitas luas atrás eu provavelmente estava a caminho de me tornar um (um desenvolvedor).
Eu havia me formado recentemente na universidade e agora estava sentado em casa. É nesta fase que se espera que os jovens (e mulheres) saiam, consigam empregos e sejam membros produtivos da sociedade! Mas eu tinha outros planos. Eu queria abrir minha própria empresa. É mais fácil falar do que fazer, admito, mas é claro que eu não sabia disso na época. Para sua sorte, acho que essa história não existiria se eu existisse 😁.
Eu morava com meus pais e eles me incentivaram a me candidatar a empregos. Não sei se era porque eu parecia desempregado (bem, eu estava) e sem fazer nada (muito), mas concordei. Era mais uma vontade de mostrar que eu poderia conseguir um emprego, mas eu simplesmente não queria. Então comecei a aplicar. Acho que não me inscrevi em muitos, provavelmente apenas um ou dois. Uma delas era uma empresa de software (veja se consegue adivinhar quem são, pista no final da história) que serviria como antagonista para o Hackernoon Bedtime Story de hoje. O trabalho da empresa era treinar e depois contratar desenvolvedores para projetos de outras empresas. Passei pela primeira fase do processo, que era um exame online, e alguns dias depois recebi um e-mail me convidando para uma entrevista presencial.
Cheguei para a entrevista e uma pequena surpresa agradável foi que encontrei um antigo colega de classe e conversamos um pouco. Eventualmente, chegou a minha vez e eu seria entrevistado por duas pessoas. Durante isso, descobri que a empresa exigia que você se comprometesse por dois anos se aceitasse o emprego. Eu estava um pouco cauteloso com isso, pois não queria adiar meus sonhos de abrir minha própria empresa em alguns anos. Eu decidi ser honesto e disse isso a eles. Eles disseram que tudo bem, mas eu não tinha ideia do que eles achavam disso. A entrevista em si foi o mais próximo que cheguei da vibração do Vale do Silício. Entrevistadores muito jovens, apenas alguns anos mais velhos que eu. Quando cheguei na seção de hobbies conversei sobre animes e falei um pouco de japonês (tenho aulas e sabia ler e escrever um pouco) e consegui conquistar um dos meus entrevistadores que por acaso também assistia Naruto. Doce. Fui para casa e esperei os resultados. Alguns dias depois, ele chegou. Eu tinha falhado n… brincadeira! Claro que passei 😛. (ou a história teria acabado 😁)
Assim como cerca de quarenta ou cinquenta outras pessoas.
Honestamente, porém, fiquei um pouco surpreso por ter passado para a próxima rodada, considerando que havia expressado alguma hesitação na entrevista. Isso geralmente não é como fazer uma entrevista, mas progresso, eu fiz. O e-mail nos informava que havíamos sido convidados para uma terceira rodada do processo de recrutamento. Era para durar duas semanas. Padrão 9 às 5 8 às 5:30. Então começou. O primeiro dia envolveu a divisão dos entrevistados em duas turmas. Uma classe JavaScript e uma classe Python. Fui colocado na classe JS. Este foi o JS do zero. Esperava-se que nenhum de nós tivesse qualquer conhecimento prévio de JS. Bem, eles acertaram. Cheguei com um cérebro livre de conhecimento de JavaScript.
Na primeira semana, fui apresentado à cultura da empresa. O primeiro dia foi um choque quando, perto do almoço (que eles forneceram), fomos chamados ao corredor central entre as duas salas de aula e solicitados a formar um círculo e dar as mãos.
No estilo do Vale do Silício, lembra? Lembro-me de hesitar com essa distopia do desenvolvedor de software kumbaya da nova era e, a contragosto, concordar em fazê-lo apenas porque, bem, o capitalismo. Era uma entrevista e eu estava procurando o emprego. Eu tinha padrões, mas só estava sendo solicitado a segurar as mãos de meus futuros colegas de trabalho em potencial, não vender enriquecido para as maternidades. Eu poderia descer para fazer isso. Lembro-me de um dos desenvolvedores de treinadores comentando casualmente que acabarei me acostumando e gostando.
Fui apresentado aos fundamentos do Bash e do Git nos primeiros dias. E JavaScript lentamente também. Foi definitivamente uma daquelas sessões de treinamento de alta intensidade. Tive que sair de casa por volta das 6h para chegar por volta das 7h45. Nós gradualmente saímos do prédio por volta das 17h às 18h e eu chegava em casa por volta das 20h. Foi cansativo, mas legal. Fiquei feliz porque estava aprendendo muito rápido. Durante um dia normal, recebíamos vários exercícios. Em um desses dias, recebemos um exercício um pouco mais trabalhoso do que o normal, à noite. E nos disseram que não precisávamos ficar para trás no escritório para terminá-lo. Então, depois de trabalhar nisso por mais de uma hora, fui para casa. Eu estava determinado a terminar porque gostei do desafio do exercício, então, quando cheguei em casa, continuei o exercício e terminei por volta das 20h30 e enviei o exercício. Era uma noite de sexta-feira, então não havia mais trabalho por um tempo. Um fim de semana de descanso muito necessário acenou.
Uma surpresa
Cheguei pontualmente ao prédio na segunda-feira e descobri que metade da turma ainda não havia entrado. Faltavam apenas alguns minutos para as 8h, então fiquei intrigado. O dia começou e fomos informados de que a metade que faltava havia sido cortada. Isso foi um choque. O projeto era para ser o corte. Então o que aconteceu? Sua ofensa? Aquele pequeno e inocente exercício de sexta-feira, um dos mais de uma dúzia que recebemos naquela semana. Aqueles que não o enviaram até as 22h da noite de sexta-feira foram instruídos a não voltar na segunda-feira. Um leve arrepio percorreu minha espinha. Eu estava apenas a cerca de uma hora de distância desse prazo. Mesmo estando aqui, na próxima rodada, achei um pouco injusto e protestei. Mencionei que nos disseram que não precisávamos terminar antes de sairmos para o dia. Eles contestaram que nunca disseram que não era necessário entregar a tarefa naquele dia. A armadilha pareceu um pouco dura para mim. Como um teste de algum romance distópico.
Por volta de terça-feira, começamos a trabalhar em nosso projeto. Fomos colocados em grupos de dois. Meu grupo teve a tarefa de desenvolver um pequeno clone da Eventbrite. Eu era responsável pela maior parte do backend e um pouco do frontend e meu sócio fazia o inverso. Parecia um pouco desafiador para as pessoas que começaram a aprender JavaScript e Git há uma semana, mas era factível, pensei. Estávamos usando o Firebase (quando o Google ainda não os havia adquirido) para o back-end. Então começamos o projeto, e foi aí que começaram os puxões de cabelo.
Posso não ser um arquiteto, mas posso dizer que a Torre Inclinada de Piza é sus.
No começo, pensei que a única coisa com que tinha que me preocupar era com a linha do tempo. Comecei e parecia estar fazendo um progresso decente (em retrospectiva, eu deveria ter percebido que é assim que todo filme de terror começa 🤗) até que tive um problema com uma chamada para a API do Firebase. Uma linha do meu código deveria usar dados retornados do Firebase, mas funcionou apenas na metade do tempo. Eu tentei várias vezes. Ajustando isso, reescrevendo aquilo. Nada. Como vocês, leitores sábios, devem ter percebido, um aplicativo baseado em servidor que não pode se comunicar com um servidor é um aplicativo bastante lixo.
Aplicações de lixo não o levam a entrevistas. Comecei a entrar em pânico. O tempo estava passando. O mais enlouquecedor era que *funcionava* na metade do tempo! Isso não fazia sentido, não era assim que os computadores deveriam funcionar!! Claro, minha tela apenas olhou alegremente para mim, sem oferecer ajuda. Quinta-feira chegou e eu ainda não tinha resolvido o problema. Deveríamos apresentar nosso programa de trabalho no dia seguinte. Não tentei escrever outras partes do programa porque não via utilidade se não pudesse trabalhar com o servidor. As madrugadas naquela semana não renderam nada.
Sexta de manhã, eu estava programando *no ônibus* a caminho do escritório. Esse era o meu nível de desespero e foi então, misericordiosamente, que finalmente deu certo. Foi um problema assíncrono. Newbie-JS-developer-me não entendia que, ao contrário dos programas C locais básicos que rodavam linha por linha, se uma linha JS fizesse uma chamada de dados pela Internet, não havia garantia de que os dados chegariam no momento em que o programa executou outra linha de código três linhas abaixo. Eu estava totalmente acostumado com a noção de programas rodando linha por linha. A razão pela qual funcionou na metade do tempo foi que a resposta do servidor simplesmente foi rápida o suficiente na metade do tempo. Comecei a me apressar com a leve euforia que surge quando você resolve um problema incômodo, mas eu só tinha algumas horas até que meu parceiro e eu fôssemos apresentar naquela manhã.
Em uma nota lateral, a depuração enquanto móvel conta como depuração móvel, certo? Certo? 😉 ..... ok, vou parar.
A 🎁tação
Cheguei ao escritório onde, como eu, outros corriam para ter algo para apresentar. Apenas um grupo (de cinco ou seis) havia realmente terminado (no dia anterior!). Minha parceira também estava tendo problemas em suas partes. Juntos conseguimos remendar algo para apresentar.
Comecei com uma piada de que a razão pela qual nosso projeto era tão básico era que havíamos absorvido o espírito do minimalismo.
Felizmente todos riram. Fiz a apresentação e expliquei o problema e não foi tão ruim, afinal, em comparação com a forma como outros se saíram. Além do grupo de gênios, que basicamente teve todos aplaudindo, nós fomos bem comparativamente.
Em retrospectiva, foi um pouco triste que eu provavelmente tenha passado mais da metade do tempo em um projeto perseguindo um bug. Lembrei-me e inspirei-me a escrever esta história quando ouvi falar do serviço Sentinela. É um serviço de depuração/monitoramento de aplicativos. Você pode vê-los aqui. Parece aprofundado e não entendo metade, então é um bom sinal 😁. Você pode vê-los aqui no sentry.io se estiver curioso.
É um embrulho!
No final do dia, fomos chamados para uma sala, um por um. Recebi uma oferta de trabalho 'provisoriamente', mas expressei hesitação por causa dos dois anos de compromisso exigidos. Sem surpresa, não consegui o emprego quando os e-mails chegaram no fim de semana, pois basicamente o recusei.
No geral foi uma boa experiência. Eu odeio admitir isso, mas no final de duas semanas, eu estava gostando daquela coisa de Kumbaya de mãos dadas, contando piadas que fizemos no almoço, como eles haviam prometido. Aceito a derrota aí.
De nunca tocar em JS para se tornar minha linguagem favorita em duas semanas. Além de uma habilidade recém-descoberta de uma ética de trabalho árduo e de realizar muito em um curto espaço de tempo. Também passando de mim, um amante completo da GUI do Windows, para realmente preferir usar a linha de comando do Git em vez da interface da web. Foi uma experiência positiva.
Alguns anos depois, a empresa foi adquirida por uma grande empresa de tecnologia. Como não sou um grande fã das práticas éticas de lá, tento dizer a mim mesmo que pode não ter sido uma má ideia faltar ao trabalho.
No final das contas, o que você faz é mais importante do que o que você fez. Então aqui está para o futuro e hoje!
Ei! Obrigado por ler minha história. Se você achou legal/interessante/engraçado, compartilhe o artigo. Congratulo-me com comentários/perguntas abaixo. Deixe-me saber se você quiser ouvir sobre minhas outras experiências de desenvolvimento para iniciantes. Obrigada!