BT

Disseminando conhecimento e inovação em desenvolvimento de software corporativo.

Contribuir

Tópicos

Escolha a região

Início Artigos Minha carreira: do trabalho informal às principais empresas de tecnologia

Minha carreira: do trabalho informal às principais empresas de tecnologia

Favoritos

Conteúdo originalmente publicado no Medium de Alvaro Videla.

Nesta série de artigos, quero compartilhar como entrei no mundo da programação. Nunca fui à universidade para estudar TI, mas encontrei uma maneira de contornar isso. Se você gostar da série, e achar que vale a pena publicá-la em um livro, deixe um comentário na publicação original.

No final de 2006, eu cheguei a uma encruzilhada na minha vida. Minhas esperanças de me tornar um professor de linguística do ensino secundário haviam desaparecido em um instante, quando várias coisas aconteceram e impossibilitaram-me de continuar meus estudos. Enquanto isso, em minha cidade natal, Durazno no Uruguai, minha esposa trabalhava longas horas por mínimos $ 160 (USD) por mês. Sim, isso dá US $ 1.920 por ano. Tínhamos sacrificado nosso tempo juntos para que eu pudesse me tornar um professor e conseguir um emprego melhor, porque estávamos sonhando com um futuro melhor. O problema com os sonhos é que eles tendem a desaparecer quando você acorda pois o despertador da vida acabou de tocar.

Como minha trajetória de carreira desviou-se do curso, eu voltei para a minha cidade natal para pensar nos meus próximos passos. É desnecessário dizer que eu estava deprimido com tudo o que acontecera,,e nossa situação de vida só piorou as coisas. Era bom estar de voltar com minha esposa, mas os motivos para isso eram estressantes. Além disso, a gente morava na casa da tia da minha esposa, então a nossa privacidade era restrita ao nosso quarto; e a gente se sentia que já estávamos lá por tempo demais.

Como forma de aumentar a renda, tentamos vender macarrão caseiro nas ruas. Eu ia de porta em porta pegar encomendas para o final de semana: "Olá, você quer encomendar ravioli para este domingo?" Eu perguntava um a um. "Sim, eles são caseiros. Apenas nos dê um tempo e nós os entregaremos.".

Então, depois que as pessoas pediam, a gente passava todos os fins de semana fazendo 2.000 raviolis, para ao final terminar com 500 pesos no bolso, o que dá cerca de US $20, sem contar as despesas.

A situação era desanimadora, e nos fez sentir sem esperança. Minha esposa trabalhava duro a semana inteira, e nos fins de semana me ajudava a preparar o ravioli. Ela não podia ter sequer um dia do fim de semana para si mesma. Ela implorou que eu parasse de vender ravioli, mesmo que isso significasse que teríamos menos dinheiro para pagar nossas contas. No final, eu concordei, mas isso significava que eu tinha que tentar encontrar um emprego - e encontrar um emprego numa área rural, como nossa cidade natal, não era tão fácil. A ansiedade e o desespero estavam começando a tomar conta.

Uma noite, eu conversei com um amigo que fazia faculdade de Engenharia da Computação, em Montevidéu. Ele me contou sobre as várias oportunidades de emprego que se podia encontrar na capital, com salários que eram coisas de sonhos para alguém que vivia no campo.

"Tem uma grande empresa em Montevidéu, a Live Interactive", ele me disse. "Eles estão sempre procurando por 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 ganhávamos no momento, e não pude deixar de imaginar todas as coisas que poderíamos fazer com tanto dinheiro. Não teríamos que nos preocupar mais com colocar comida na mesa. Poderíamos finalmente pagar a nossa própria Internet, comprar roupas e sapatos adequados, e até mesmo ter nossa própria máquina de lavar roupas!

Para além desses benefícios, eu já havia tido experiência com computadores. Eu sempre gostei de trabalhar com eles, principalmente porque eles apelavam para minha habilidade para resolução de problemas. A programação me lembrava de ter que quebrar um código ou encontrar a solução para um enigma difícil - mas, além de ser desafiador, era divertido. Mas, principalmente, eu vi a programação como uma carreira com muito potencial de crescimento.

Só tinha um pequeno problema: para trabalhar como programador, geralmente é necessário saber como programar. Quanto a mim? Eu até conseguia instalar o Linux sozinho, mas provavelmente isso era o máximo que eu sabia fazer.

Como você consegue um emprego como programador quando você 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 conversar, e sem acesso a livros de programação?

Esse foi o meu problema em 2006, e essa é a história de como eu lidei com ele.

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

Os primeiros dias

Eu mexia com computadores desde a adolescência - na maioria das vezes, ao visitar um amigo que tinha um PC. Embora normalmente usássemos o computador para jogar, eu já não estava mais tão interessado em jogar.

Por quê? Quando eu comecei a escola secundária, o pai de um amigo deixou a gente usar seu computador ZX Spectrum. Ele tinha um monte de jogos, e, claro, poderíamos jogar tudo o que queríamos. Mas, um dia ele me mostrou algo que me impressionou: as pessoas poderiam fazer seus próprios jogos programando o computador!

Ele me mostrou alguns truques no BASIC, como você poderia gerar números aleatórios usando a função RAND. Eu fiquei maravilhado.

Naquele momento, eu percebi que os computadores eram mais do que um Nintendo com um teclado: de fato, você poderia dizer-lhes para fazer coisas para você - coisas legais, como desenhar linhas usando funções trigonométricas e depois pintá-las aplicando cores aleatórias! Você poderia até fazer música com eles, passando frequências diferentes para o BEEP.

Na verdade, uma vez eu trouxe o Spectrum para minha casa e passei uma tarde inteira tocando diferentes tipos de sons (beeps) na minha TV - tenho certeza que minha mãe adorou.

Mais tarde, na adolescência, eu continuei passando o tempo com amigos que tinham seus próprios computadores e, naturalmente, a gente jogava. Enquanto isso, com meus amigos mais espertos em tecnologia, eu aprendi alguns truques do sistema operacional - principalmente o MS-DOS.

De vez em quando, tentávamos alguma programação usando BASIC para copiar letra a letra, os trechos de código que apareceram em revistas antigas de computadores. Para nós, eles pareciam truques de mágicas ou encantamentos tecnológicos.

Uma coisa que realmente gostamos foi de tentar editar as mensagens de texto que um jogo mostrava para diferentes situações. Nos sentíamos verdadeiros hackers!

No início dos anos 2000, consegui convencer meu avô a comprar um computador para mim: um Pentium MMX com 32MB de RAM! Que máquina!

Eu instalei o Linux pela primeira vez, usando um CD SUSE que veio de graça com uma revista argentina de computadores. Eu passei bastante tempo naquele computador: tentando diferentes distribuições do Linux, familiarizando-me com a linha de comando, e assim por diante, mas nunca fiz nenhuma programação.

Quando eu olho para trás, não consigo entender por que não aproveitei para aprender programação em C - ou qualquer tipo de programação naquela época.

Um amigo até me ofereceu a Bíblia da programação em C, do Kernighan e Ritchie, então não ter acesso a um manual não era uma desculpa. Mas, por algum motivo, depois de ler alguns exemplos, isso não despertou interesse em mim, pois não entendi como o que ele cobriria seria útil para mim. Então, mexer com Linux era a única coisa que eu estava fazendo com os computadores naquela época.

A partir daquela época, eu tive vários trabalhos menores: toquei em uma banda de rock, e tentei me tornar um professor de linguística; ao mesmo tempo em que me casei e morei por todo o país junto com minha esposa

Dando um salto para novembro de 2006, lá estava eu tentando de alguma forma ser contratado por uma empresa de software. Eu tive que me tornar um programador de computador no qual as pessoas pudessem acreditar.

Hora de estabelecer metas

Se eu quisesse ser contratado, a primeira coisa a fazer era avaliar minhas habilidades como programador. Eu tinha que ser honesto comigo mesmo para saber onde concentrar meus esforços. Na época, eu conhecia um pouco do ActionScript para o Flash MX ,e os princípios básicos de programação em PHP. No começo daquele ano, eu tinha começado a aprender essas tecnologias como um hobby.

Eu também tinha começado um projeto pessoal para aprender programação, pensando que talvez ele 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 marcadores que indicariam ao usuário a localização de negócios, lojas e locais interessantes. Eu então cobraria dinheiro dessas empresas em troca de aparecer no meu aplicativo de mapa on-line.

Eu sei o que você está pensando: "Isso não é nada além do Google Maps". Sim, mas em 2006, a única coisa que o Google Maps sabia sobre minha cidade natal era que ela era atravessada por uma grande estrada nacional.

Dessa forma, meu mapa parecia uma boa ideia. Além disso, achei que este projeto seria a maneira perfeita de mostrar minhas habilidades para um potencial empregador. Eu tinha um objetivo claro do que eu queria construir; eu só tive que trabalhar e fazer acontecer.

Sendo assim, no final de 2006, eu estabeleci um prazo: em fevereiro de 2007, eu tinha que ter um conceito funcional do aplicativo do mapa. Isso tinha que incluir um frontend em Flash, servido por um backend em PHP, usando o MySQL para a persistência de dados.

As tecnologias que acabei de mencionar podem não parecer muito relevantes hoje, mas o ponto aqui é que eu tinha que ter em mente todos os detalhes do meu plano para que eu soubesse quais problemas abordar primeiro, já que o tempo estava passando. A cada dia que passava, era mais um dia em que minha esposa estava sobrecarregada, trabalhando horas extras para colocar comida na nossa mesa.

Além disso, até para ter uma chance de conseguir um trabalho como programador, eu tinha que mostrar a potenciais empregadores que eu poderia programar nessas tecnologias em particular, porque isso fazia parte da descrição das vagas.

Naturalmente, eu não tinha nada relacionado a essas habilidades no meu currículo, então eu tive que conseguir conhecimento a partir 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 anteriormente e, com sorte, com a combinação das minhas habilidades e meu aplicativo, eu acabaria por conseguir um emprego lá. Mesmo assim, eu sabia da importância de estabelecer metas claras para você, para alcançar o que se deseja.

Projeto de aprendizado: um aplicativo de mapas.

Eu chamei o aplicativo de mapa que criei de Aleph Maps - uma referência à história de Jorge Luis Borges de 1949, "El Aleph", sobre um lugar no universo onde tudo - passado, presente e futuro - está contido. Ambicioso, certo? E para levar a ideia à existência, eu teria que aprender a programar para web.

Não ter internet em casa era, e ainda é, um verdadeiro desafio para um futuro desenvolvedor web. Quando comecei, a adoção de banda larga ADSL era quase inexistente, limitada apenas a negócios e talvez famílias ricas. Para a família média, conectar-se à internet significava discagem em uma conexão de modem e pagando altos preços por uma lenta experiência de Internet. Eu não podia pagar isso, o que significava que eu tinha que ir incomodar os amigos toda vez que precisava acessar algum tutorial on-line que explicasse como programar no PHP. Então, embora eu tivesse um computador e a vontade de aprender, eu ainda não tinha acesso fácil ou regular à informação sobre como fazê-lo. Mas eu estava determinado a conseguir esse emprego, e eu sabia que mesmo esses contratempos não me impediriam de aprender PHP.

Quando você não tem tempo para desperdiçar, 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 na cidade, as Lan Houses começaram a surgir, cobrando cerca de USD 0.50 por uma hora de acesso. Isso me pareceu uma solução melhor do que incomodar meus amigos constantemente. Mas, também significou encontrar um extra de 50 centavos, e alguns disquetes para ir ao cibercafé, conseguir a informação que eu queria, copiá-la para um disquete e levá-la para casa.

Na maioria das vezes, os dados eram corrompidos no processo de extração dos disquetes. Imagine quão irritado e frustrado eu ficava: eu tinha ido a um cyber café e desperdiçado $ 0.50 por nada. Meio dólar! Isso pode não parecer muito, mas naquela época, você poderia comprar um hambúrguer ou uma cerveja por um dólar. Para nós, era muito dinheiro: significava a nossa garrafa diária de leite ou pão.

Naqueles dias, minha rotina consistia em tentar resolver o problema A para chegar ao ponto B. Às vezes, as tarefas eram fáceis e eu sentia que estava fazendo progressos rápidos. Outros dias, sentia como se estivesse indo a lugar nenhum. Por exemplo, digamos que eu tinha que implementar um recurso como "inserir novos dados no banco de dados". Isso significava escrever todos os obstáculos que eu tinha que resolver para conseguir isso - de como escrever uma instrução SQL INSERT até como executá-lo usando o PHP - e depois integrar tudo no aplicativo. Cada uma dessas tarefas era um item na minha "lista de compras" diária para quando eu ia à Lan House. Eu levava alguns disquetes comigo, e então pesquisava no Google, em blogs, tutoriais e guias que me ajudariam a resolver os itens na minha lista. Uma vez que eu terminasse, era hora de salvá-los em meus disquetes e ir para casa, esperando que os dados estivessem salvos com sucesso e fossem facilmente acessados ​​do meu computador. Por causa dessa incerteza, o caminho de bicicleta de volta era alimentado por uma grande ansiedade. "E se os dados não estiverem lá?", eu pensava. "E se a bicicleta trepidar demais e os dados forem corrompidos? Eu realmente não tenho mais um dólar para perder até amanhã. Isso tem que funcionar quando chegar à casa!".

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

Desnecessário dizer que isso não era nada prático: quando eu chegava a casa, usava a informação que trouxe de volta para me ajudar a realizar a tarefa em andamento, mas, uma vez concluída, faltava o conhecimento para realizar o próximo passo. Isso significa ficar sentado em casa, pensando em um problema e esperando até o dia seguinte, quando eu poderia espremer mais 50 centavos do orçamento para ir ao café e repetir essa rotina. Embora na época parecia minha única opção, eventualmente eu tive que admitir que era hora de uma nova estratégia. Eu precisava de algo que continha a maioria das informações sobre como escrever uma aplicação web com PHP e Flash MX, com guias explicando como executar as tarefas mais triviais, tudo em um só lugar. Não era a Internet, mas os livros!

Parece algo fácil, mas para alguém na minha situação, os tipos de livros que eu precisava não estavam necessariamente ao meu alcance. Quando você faz parte de um setor marginalizado da sociedade, o acesso a 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 de BASIC ou Delphi, se você tiver sorte - mas não muito mais que isso.

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

Mas isso também não era fácil. 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 - o 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 ou a certeza econômica para entrar em um plano de crédito. Para nós, funcionava assim: se desejássemos comprar algo mais caro do que a nossa renda mensal, a gente economizava mês após mês até obter dinheiro suficiente para comprar o que queríamos, ou pedimos a algum membro da família que comprasse o produto para nós e trabalhávamos para pagá-los mais tarde.

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

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 ou a certeza econômica para entrar em um plano de crédito.

Às vezes, a solução para esses tipos de problemas está mais próxima de casa do que pensamos. Eventualmente, acabamos pedindo ajuda da família. Minha esposa tem uma tia que vivia nos EUA por um bom tempo, então achamos que valia a pena ver se ela me compraria alguns livros de programação. Então, em uma das minhas excursões à Lan House, enviei um e-mail para ela explicando minha situação, cliquei "Enviar" e, basicamente, cruzei meus dedos e rezei a todas as divindades para que ela nos ajudasse. Depois de alguns dias, havia um novo email na minha caixa de entrada. Foi sua resposta, direto ao ponto: "Diga-me os livros que você precisa que eu faço a encomenda na Amazon". Depois de fazer algumas pesquisas, acabei pedindo a Bíblia do Flash MX, o PHP 5 e a Bíblia do MySQL.

Esses dois livros se mostraram incrivelmente úteis. Ambos foram tão profundos que consegui fazer um progresso constante sem precisar visitar a Lan House em busca de informações faltantes. Eu poderia finalmente avançar em entender o que eu precisava saber para criar meu aplicativo de mapas. E, finalmente, com o acesso à informação que eu precisava, era hora de sentar na frente do meu computador e começar a trabalhar.

Espero que você tenha gostado desta primeira parte. No próximo artigo, vou contar como eu me preparei para me candidatar ao cargo, e como foi o processo de entrevista.

Créditos

A ilustração do artigo foi feita pelo meu amigo Sebastián Navas. Se você quiser ver mais de sua arte, visite o perfil dele - Deviantart, ou entre em contato com ele via Facebook.

Avalie esse artigo

Relevância
Estilo/Redação

Conteúdo educacional

BT