Como eu fui de vender comida na rua para trabalhar em empresas de ponta em tecnologia

Ilustração do meu amigo Sebastián Navas.

Nesta série de artigos, quero compartilhar com você como entrei no mundo da programação. Eu nunca fui para a universidade estudar TI, mas encontrei uma maneira de contornar isso. Se você gosta da série e quer ver um livro fora disso, por favor deixe um comentário abaixo.

No final de 2006, cheguei a uma encruzilhada na minha vida. Minhas esperanças de me tornar professora de lingüística da escola secundária haviam desaparecido em um instante, quando vários fatores se juntaram e tornaram impossível continuar meus estudos.

De volta à minha cidade natal de Durazno, no Uruguai, minha esposa trabalhava longas horas por meros 160 dólares por mês. Sim, isso custa US $ 1.920 por ano. Nós tínhamos sacrificado nosso tempo juntos para que eu pudesse me tornar uma professora e conseguir um emprego melhor porque estávamos sonhando com um futuro melhor.

O problema dos sonhos é que eles tendem a desaparecer quando você acorda, e o despertador da vida acabou de soar.

Como minha trajetória de carreira se desviou subitamente, voltei para minha cidade natal para descobrir meus próximos passos. Escusado será dizer que eu estava deprimido com a forma como as coisas eram, e nossa situação de vida só piorou as coisas. Era bom estar de volta com minha esposa, mas as razões para isso eram estressantes.

Além disso, estávamos dividindo uma casa com a tia da minha esposa, de modo que nossa privacidade era restrita ao nosso quarto, e sempre sentíamos como se estivéssemos superestimando nossas boas-vindas.

Como forma de gerar renda extra, tentamos vender massa caseira nas ruas. Eu ia de porta em porta coletando ordens para o fim de semana. "Olá, você quer pedir ravioli para comer neste domingo?" Eu perguntava pessoa após pessoa. “Sim, eles são caseiros. Apenas nos dê um tempo e nós vamos entregá-los.

Então, depois que as pessoas pediram, nós gastamos nossos fins de semana inteiros fazendo 2.000 ravioli apenas para acabar com 500 pesos em nossos bolsos, o que resulta em cerca de US $ 20, sem contar as despesas.

Toda a situação era desanimadora e nos fazia sentir desesperançados. Minha esposa trabalhava duro toda a semana, depois voltava para casa só para passar os fins de semana ajudando-me a preparar o ravióli. Ela não podia nem ter um dia do fim de semana para si mesma. Ela me pediu para parar de vender ravióli, mesmo que isso significasse que teríamos menos dinheiro para pagar nossas contas. Eventualmente eu concordei, mas isso significava que eu tinha que tentar encontrar um emprego – e encontrar um emprego não era tão fácil em nossa cidade natal rural. Ansiedade e desespero estavam começando a aparecer.

Certa noite, conversava com uma amiga que estudava engenharia da computação na universidade de Montevidéu. Ele me contou sobre as várias oportunidades de emprego que alguém poderia encontrar na capital, com salários que eram o material dos sonhos de alguém que vivia no campo. “Há uma grande empresa em Montevidéu, a Live Interactive”, ele me disse. “Eles estão sempre procurando programadores; talvez você possa tentar conseguir um emprego lá. Eles pagam muito bem.

O salário que ele mencionou era cerca de três vezes o que estávamos fazendo na época, e eu não pude deixar de imaginar todas as coisas que poderíamos fazer com tanto dinheiro. Não precisaríamos mais nos preocupar em colocar comida na mesa. Poderíamos finalmente pagar a nossa própria ligação à Internet, obter roupas e sapatos adequados e até ter a nossa própria máquina de lavar roupa!

Não só isso, mas eu já tinha experiência com computadores. Eu sempre gostei de trabalhar com eles, principalmente porque eles apelavam para o meu jeito de resolver problemas. A programação me lembrou de ter que decifrar um código ou encontrar a solução para um quebra-cabeça difícil – mas, além de desafiador, era divertido. Além disso, vi a programação como uma carreira com muito potencial de crescimento.

Mas havia um pequeno problema: para trabalhar como programador de computador, geralmente é necessário saber como programar computadores. Eu? Eu poderia instalar o Linux por conta própria, mas provavelmente era a extensão disso.

Como você consegue um emprego como programador de computador quando quase não tem experiência em programação e não possui um diploma universitário para provar seu conhecimento? Como você aprende a programar sem acesso à internet em casa, sem mentores para se conectar e sem acesso a livros de programação? Esse foi o meu problema em 2006, e esta é a história de como eu o enfrentei.

Os primeiros dias

Tenho andado a brincar com computadores desde que era adolescente – na maior parte das vezes, quando visito um amigo que tinha um PC. Embora muitas vezes usássemos o computador para jogar, eu não estava interessado em jogar tanto assim. Por quê? Quando eu comecei o ensino médio, o pai de um amigo nos deixou usar seu computador ZX Spectrum. Ele tinha uma boa pilha de cassetes com muitos jogos, e é claro, podíamos tocar tudo o que queríamos, mas um dia ele me mostrou algo que me surpreendeu: as pessoas podiam fazer seus próprios jogos programando o computador!

Ele me mostrou alguns truques no BASIC, como você pode gerar números aleatórios usando a função RAND. Eu fiquei maravilhado. Naquele momento, percebi que os computadores eram mais do que uma Nintendo glorificada com um teclado: você poderia dizer a eles para fazerem coisas para você – coisas legais, como desenhar linhas usando funções trigonométricas e depois pintá-las aplicando cores aleatórias! Você poderia até mesmo fazer música com eles passando freqüências diferentes para BEEP. Na verdade, uma vez que eu trouxe o Spectrum para a minha casa e passou uma tarde inteira jogando diferentes tipos de sinal sonoro na minha TV – Tenho certeza de que minha mãe adorava.

Como você consegue um emprego como programador de computador quando quase não tem experiência em programação e não possui um diploma universitário para provar seu conhecimento?

Mais tarde, durante minha adolescência, continuei passando tempo com amigos que tinham seus próprios computadores e, naturalmente, jogávamos jogos neles. Enquanto isso, com meus amigos mais versados ??em tecnologia, aprendi alguns truques de sistema operacional – principalmente o MS-DOS.

De vez em quando, tentávamos alguma programação em BASIC copiando, caractere por caractere, os trechos de código que apareciam nas antigas revistas de informática. Para nós, pareciam magias ou encantamentos tecnológicos. Uma coisa que realmente gostamos foi tentar editar as mensagens de texto que um jogo mostraria para diferentes situações. Nós pensamos que nós éramos tais hackers!

No começo dos anos 2000, consegui convencer meu avô a me comprar um computador: um Pentium MMX com 32MB de RAM! Que máquina! Eu instalei o Linux pela primeira vez, usando um CD do SUSE que veio de graça com uma revista de computador argentina. Passei bastante tempo nesse computador: tentando diferentes distribuições Linux, me familiarizando com a linha de comando, e assim por diante, mas nunca fazendo nenhuma programação.

Quando olho para aqueles dias, não consigo entender por que eu não estava aprendendo programação em C – ou qualquer tipo de programação para esse assunto. Um amigo até me ofereceu a bíblia da programação em C de Kernighan e Ritchie, então não ter acesso a um manual não era uma desculpa. Mas, por alguma razão, depois de ler alguns exemplos, isso não despertou qualquer interesse em mim, pois eu não entendia como o que isso cobria seria útil para mim. De qualquer forma, brincar com o Linux era a única coisa que eu fazia com computadores naquela época.

Daquele ponto em diante, eu tive vários trabalhos menores, toquei numa banda de rock 'n' roll e tentei me tornar um professor de linguística, ao mesmo tempo em que me casei e me mudei por todo o país junto com minha esposa.

Avanço rápido para novembro de 2006 e eu encontrei-me na necessidade de de alguma forma se tornar desejável por uma empresa de software. Eu tive que me tornar um programador de computador confiável.

Hora de alguns objetivos

Se eu quisesse ser contratado, a primeira coisa a fazer era avaliar minhas habilidades como programador. Eu tinha que ser honesta comigo mesma para poder saber onde concentrar meus esforços.

Na época, eu conhecia um pouco do ActionScript para o Flash MX e os fundamentos da programação PHP. No começo daquele ano, comecei a aprender essas tecnologias como hobby. Eu também comecei um projeto de estimação para aprender programação, pensando que talvez pudesse se tornar uma fonte secundária de renda.

Eu tive a ideia de fazer um mapa digital da minha cidade natal onde você poderia colocar pinos que apontariam o usuário para a localização de empresas, lojas e locais interessantes. Eu cobrava dinheiro dessas empresas em troca de aparecer no meu aplicativo de mapa on-line.

Claro que sei o que você está pensando. "Isso é apenas o Google Maps", você diz. Sim, mas em 2006, a única coisa que o Google Maps sabia sobre minha cidade natal era que ela foi atravessada por uma grande rodovia nacional. Dado isso, meu mapa parecia uma boa ideia. Além disso, imaginei que este projeto seria a maneira perfeita de mostrar minhas habilidades para um possível empregador. Eu tinha um objetivo claro do que queria construir; Eu só tinha que começar a trabalhar e fazer acontecer.

Então, no final de 2006, eu me fixei um prazo: em fevereiro de 2007, eu tinha que ter um conceito de trabalho do aplicativo de mapa. Isso tinha que incluir um frontend Flash, servido por um backend PHP, usando o MySQL para persistência de dados. As tecnologias que acabei de mencionar podem não parecer muito relevantes hoje em dia, mas o ponto aqui é que eu tive que descobrir cada detalhe do meu plano para saber quais problemas atacar primeiro, pois o tempo estava passando: todos os dias que passavam foi outro dia em que minha esposa estava sobrecarregada, trabalhando horas extras para conseguir comida na nossa mesa.

Além disso, para ter uma chance de obter um trabalho de programação, tive que mostrar aos possíveis empregadores que eu poderia programar nessas tecnologias específicas, porque isso fazia parte da descrição do trabalho. Naturalmente, eu não tinha nada relacionado a essas habilidades no meu currículo, então tive que construir meu conhecimento do zero, e meu aplicativo serviria como a vitrine da minha experiência em programação.

O plano era conseguir uma entrevista na empresa que meu amigo havia mencionado antes, e esperançosamente, com a combinação de minhas habilidades e meu aplicativo, eu acabaria conseguindo um emprego lá. Mesmo assim, eu sabia da importância de estabelecer metas claras para você conseguir o que você quer.

Projeto de Aprendizagem: um Aplicativo de Mapa

O aplicativo de mapa que criei se chamava Aleph Maps – uma referência à história de 1949 de Jorge Luis Borges, “El Aleph”, sobre um lugar no universo onde tudo – passado, presente e futuro – está contido. Não é ambicioso, certo? E para trazer a idéia à existência, eu teria que aprender a programar aplicativos da web.

Não ter internet em casa é um verdadeiro desafio para um futuro desenvolvedor web. Quando comecei, a adoção de banda larga por ADSL era quase inexistente, limitada apenas a empresas e talvez a famílias ricas. Para a família média, conectar-se à Internet significava discar em uma conexão de modem e pagar preços altos por uma experiência de internet lenta. Eu não podia me dar ao luxo disso, o que significava que eu precisava incomodar os amigos toda vez que precisava acessar algum tutorial on-line que explicava como programar em PHP.

Então, embora eu tivesse um computador e a vontade de aprender, eu ainda não tinha acesso fácil ou regular às informações sobre como fazê-lo. Mas eu estava determinado a conseguir esse emprego, e sabia que mesmo esses contratempos não me impediriam de aprender PHP. Quando você não tem tempo a perder, você não tem tempo para se sentir desesperado; em vez disso, você precisa se concentrar em encontrar soluções.

Enquanto isso, devido à falta de acesso à internet pela cidade, os cyber cafés começaram a aparecer na cidade, cobrando cerca de meio dólar por uma hora de surfe. Isso me pareceu uma solução melhor do que incomodar constantemente meus amigos. Mas isso também significava encontrar um extra de 50 centavos e alguns disquetes para chegar a um cyber café, encontrar as informações que eu queria, copiá-las em um desses disquetes e colocá-las em meu computador. Mais frequentemente, os dados foram corrompidos no processo de extração dos disquetes.

Imagine como eu estava com raiva e frustrada: fiz uma viagem a um cyber café e gastei 50 centavos por nada. Meio dólar! Isso pode não parecer muito, mas na época em que vivíamos, você podia comprar um hambúrguer ou uma garrafa de cerveja por um dólar. Para nós, era muito dinheiro: significava nossa garrafa diária de leite ou um pedaço de pão.

Durante esses dias, minha rotina consistia em tentar resolver o problema A para chegar ao ponto B. Às vezes as tarefas eram bastante fáceis e eu sentia que estava progredindo rapidamente. Outros dias, parecia que eu estava indo a lugar nenhum. Por exemplo, digamos que precisei implementar um recurso como “inserir novos dados no banco de dados”. Isso significava escrever todos os obstáculos que tive que resolver para conseguir isso – desde como escrever uma instrução SQL INSERT até como executá-la usando PHP – e, em seguida, integrar tudo no aplicativo.

Cada uma dessas tarefas era um item da minha “lista de compras” diária para quando eu fui ao cibercafé. Eu levava alguns discos flexíveis comigo e depois procurava no blog por postagens de blogs, tutoriais e guias que me ajudariam a resolver os itens da minha lista. Uma vez que isso foi concluído, era hora de salvá-los em meus disquetes e ir para casa, o tempo todo esperando que os dados tivessem sido salvos com sucesso e fossem facilmente acessados ??no meu computador.

Por causa da incerteza envolvida, a viagem de bicicleta de volta seria alimentada pela pior ansiedade de sempre. "E se os dados não estiverem lá?", Perguntei. “E se a moto sacudir demais e os dados ficarem corrompidos? Eu realmente não tenho outro dólar para gastar até amanhã, então é melhor trabalhar quando chegar em casa. ”

Eu estava determinado a conseguir esse emprego, e sabia que mesmo esses contratempos não me impediriam de aprender PHP. Quando você não tem tempo a perder, você não tem tempo para se sentir desesperado; em vez disso, você precisa se concentrar em encontrar soluções.

Basta dizer que isso não era prático. Quando voltei para casa, usei as informações que tinha trazido de volta para me ajudar a realizar a tarefa em andamento, mas, depois de concluída, faltava-me o conhecimento para executar a próxima etapa. Isso significa que fiquei sentado em casa, pensando em um problema, e esperando até o dia seguinte, quando eu poderia espremer outros 50 centavos do nosso orçamento para ir ao café e repetir essa rotina. Embora na época parecesse minha única opção, acabei tendo que admitir para mim mesmo que era hora de uma nova estratégia. Eu precisava de algo que contivesse a maioria das informações sobre como escrever um aplicativo da Web com PHP e Flash MX, com guias explicando como executar as tarefas mais triviais, tudo em um único local. Não a internet, mas livros!

Parece tão óbvio, mas para alguém na minha situação, os tipos de livros que eu precisava não estavam necessariamente ao alcance. O problema é que quando você faz parte de um setor marginalizado da sociedade, acessar livros não é tão fácil. A coisa mais próxima de um livro de programação que você poderia encontrar na biblioteca pública seria algum manual desatualizado sobre como consertar um computador – talvez algum guia empoeirado do MS-DOS, ou talvez um livro BASIC ou Delphi se você tivesse sorte – mas não muito mais .

Bem, pelo menos um poderia comprar livros, certo? Na verdade não.

Na maioria das cidades do interior do Uruguai, os livros técnicos geralmente estão ausentes das prateleiras das livrarias, e minha cidade não foi exceção. Acrescente ao problema o fato de que a maioria dos livros de tecnologia – particularmente aqueles que falam sobre tecnologia de ponta – são escritos em inglês, e você pode simplesmente esquecer a livraria local. No final, isso me deixou com apenas uma opção: a Amazon.

Mas não foi tão fácil também. Para comprar livros na Amazon, você precisa de um pequeno pedaço de plástico chamado cartão de crédito, mas para ter acesso a um cartão de crédito, você precisa de um bom histórico de crédito – que para a maioria das pessoas não é um problema. No meu caso, porém, eu vivia em um mundo completamente diferente: tudo o que comprávamos era pago em dinheiro. Não tínhamos o dinheiro nem a segurança econômica para entrar em um plano de crédito.

Para nós, funcionou assim: se quiséssemos comprar algo mais caro do que a nossa renda mensal, ou poupávamos mês após mês até termos dinheiro suficiente para comprar o que queríamos, ou pedíamos a um membro da família para comprar o produto para nós. e trabalhou para pagá-los mais tarde.

E mesmo que tivéssemos a opção de comprar livros na Amazon, não tínhamos pensado no fato de que o transporte sozinho dos Estados Unidos para o Uruguai era quase o custo do livro, sem mencionar que levaria um mês para isso. para chegar.

No meu caso, porém, eu vivia em um mundo completamente diferente: tudo o que comprávamos era pago em dinheiro. Nós não tínhamos o dinheiro ou a segurança econômica para entrar em um plano de crédito

Às vezes, a solução para esses tipos de problemas está mais perto de casa do que pensamos. Eventualmente, acabamos recorrendo a pedir ajuda da família. Minha esposa tem uma tia que morava nos EUA há algum tempo, então achamos que valia a pena tentar perguntar se ela me compraria alguns livros de programação. Então, em uma de minhas excursões na Internet, eu escrevi um e-mail para ela explicando minha situação, cliquei em mandar e basicamente cruzei os dedos e rezei para cada divindade que ela nos ajudasse. Depois de alguns dias, recebi um novo e-mail na minha caixa de entrada. Foi a sua resposta, direto ao ponto: "Diga-me quais livros você precisa e eu vou encomendá-los da Amazon." Depois de fazer algumas pesquisas, acabei pedindo a Bíblia do Flash MX e o PHP 5 e a Bíblia do MySQL .

Esses dois livros mostraram-se incrivelmente úteis nas próximas semanas. Ambos eram tão meticulosos que eu era capaz de progredir sem precisar visitar constantemente o cibercafé em busca de informações perdidas. Eu poderia finalmente avançar na compreensão do que eu precisava saber para criar meu aplicativo de mapas. E finalmente, com acesso à informação que eu precisava, era hora de sentar na frente do meu computador e começar a trabalhar.

Texto original em inglês.