A história de Pedro, que trocou a carreira de motorista de caminhão pela de desenvolvedor Ruby on Rails aos 38 anos
(writesoftwarewell.com)- Pedro David Garcia Lopez é espanhol e se mudou para o Reino Unido em 2015, onde trabalhou como motorista de caminhão antes de mudar de carreira para desenvolvedor Ruby on Rails aos 38 anos
- Na época em que era motorista, ele normalmente passava apenas 4 a 6 dias por mês em casa, o que tornava difícil criar tempo consistente para estudar entre o papel de pai de família e as longas jornadas de trabalho
- Em setembro de 2019, definiu a meta de se tornar desenvolvedor em até um ano e, depois de passar por Python e cursos da Udemy, estudou Ruby, Sinatra, Rails e React no bootcamp da Flatiron School
- Em 2020, durante a COVID, precisou conseguir seu primeiro emprego como desenvolvedor e, após meses sem retorno para entrevistas, aceitou a primeira oportunidade em Manchester apesar do salário baixo e do longo deslocamento
- Hoje, ele avalia muito bem a produtividade e a diversão com Ruby e Rails e aconselha novos programadores a focarem em aprender a aprender, fazer perguntas e encontrar mentores, em vez de tentar correr atrás de tudo
O caminho de motorista de caminhão a desenvolvedor
- Pedro David Garcia Lopez é um espanhol de 42 anos que se mudou para o Reino Unido em 2015 e planeja voltar para a Espanha para ficar mais perto da família
- Ele foi para o Reino Unido em 2015 como motorista de caminhão, também para dar novas oportunidades à filha e aprender inglês de verdade
- Quando trabalhava como motorista, rodava pelo Reino Unido e por vários países da Europa e normalmente ficava em casa só entre 4 e 6 dias por mês
- Como motorista profissional, dirigiu praticamente todo tipo de veículo nas estradas, passou ao menos uma vez por países do continente europeu da UE e percorreu, só com caminhão, distância suficiente para dar várias voltas na Terra
Interesse por computadores e os fracassos iniciais no aprendizado
- Seu primeiro contato com computadores foi por volta dos 12 anos, em aulas de digitação no verão, e ele ficou fascinado ao lidar com MS-DOS e Windows 3.1
- Depois que o pai faleceu quando ele tinha 14 anos, precisou conciliar os estudos com o sustento da família, então era quase impossível ter um computador em casa
- Aos 18 anos, trabalhando em tempo integral, juntou dinheiro por 3 meses para comprar seu primeiro computador, um Pentium II, e foi aí que passou a querer aprender programação
- Começou com um livro de C++, mas era técnico e difícil demais, e como não conseguia criar nada interessante, acabou não conseguindo se aprofundar em programação por causa da vida
A decisão de virar desenvolvedor em até um ano
- Com a melhora do inglês e o acesso mais fácil a informações online, voltou a pensar no sonho de infância de ser desenvolvedor
- Assistiu a aulas de HTML, CSS e JavaScript no YouTube e também tentou cursos do tipo “vire programador em 7 dias”
- O freeCodeCamp era mais estruturado e sério, mas as longas jornadas ao volante e seus papéis de pai e marido dificultavam manter um ritmo de estudo suficiente
- Depois de muitos anos dirigindo e cuidando da família, decidiu largar um emprego estável e seguir o plano de virar desenvolvedor em até 1 ano ou desistir
- Começou de verdade em setembro de 2019 e aprendeu o básico com Python e cursos da Udemy, mas ainda não sentia confiança de que conseguia criar algo por conta própria, só seguir junto
Flatiron School e o primeiro emprego
- Depois de analisar várias opções, entrou na Flatiron School
- Como não precisaria pagar se não conseguisse trabalho após concluir o curso, sentiu que o risco era baixo
- No bootcamp, aprendeu de forma estruturada desde os fundamentos de Ruby até Sinatra, Ruby on Rails e React
- Com professores, colegas, tarefas e prática, passou de apenas acompanhar para conseguir criar coisas novas
- Concluiu o curso no fim de maio de 2020 e ganhou a sensação de que conseguia identificar problemas, resolvê-los e aprender coisas novas sozinho
- A formatura coincidiu com o período da COVID e, por causa do lockdown, havia poucas chances de fazer entrevistas ou se conectar com outras pessoas
- Como formado em bootcamp sem experiência e com 38 anos, passou meses sem receber contatos para entrevistas e ficou ansioso, achando que talvez seu currículo estivesse sendo descartado
- A primeira oportunidade surgiu em Manchester, a 2 horas de trem de casa, e não havia política de trabalho remoto
- O salário era de apenas um terço do que ganhava como motorista de caminhão, e uma boa parte ia para o custo do trem
- A stack técnica era PHP e jQuery, mas ele aceitou a oferta porque precisava começar como desenvolvedor
Como ele avalia Ruby e Rails
- Ele conheceu Ruby e Rails pela primeira vez no bootcamp e ganhou mais experiência trabalhando na Superbyte
- Na Superbyte, usava uma stack não padrão com Mongoid e um pouco de React, mas aprendeu muito com o time
- Depois de acumular experiência profissional com Ruby on Rails, passou a gostar ainda mais da tecnologia e acredita que, quando se pega o jeito das convenções do Rails, muita coisa fica mais fácil
- Entre os atrativos de Ruby e Rails, destaca a comunidade e o ecossistema em constante evolução
- Está animado para abraçar o ecossistema Hotwire e sair do React, vendo com bons olhos o fato de conseguir resolver muita coisa do jeito Rails
Livros, referências e forma de aprender
- Só começou a ler livros técnicos mais tarde na carreira, quando percebeu várias lacunas, e acha que ainda tem muitos livros para ler
- Os livros que mais o marcaram foram:
- Layered Design for Ruby on Rails Applications, Vladimir Dementyev
- Rebuilding Rails, Noah Gibbs
- Ruby Under a Microscope, Pat Shaughnessy
- Practical Object-Oriented Design in Ruby, Sandi Metz
- Ele admira pessoas que programam bem, têm paixão pelo que fazem e compartilham conhecimento
- Cita Quincy Larson, o freeCodeCamp e criadores de conteúdo entre as pessoas a quem é grato
- Avi Flombaum, que foi seu professor na Flatiron School, também é uma figura marcante, e ele acredita que as pessoas com quem trabalhou o ajudaram a crescer como desenvolvedor e como pessoa
Como trabalha hoje e as ferramentas
- Em sua curta carreira, já experimentou trabalho totalmente remoto, híbrido e também escritório 5 dias por semana
- Com o plano de voltar para a Espanha, deve migrar a partir de meados de abril para um cargo totalmente remoto na gocertify
- Na Superbyte, saiu de Junior Developer para um papel mais próximo de semi-sênior, participando de escrita de código, desenho de conceitos e parte de P&D
- Passa a maior parte do tempo escrevendo código, mas também gosta de pair programming e revisão de PRs
- Acredita que ensinar é a melhor forma de aprender conceitos, e gosta tanto de sugerir abordagens para colegas quanto de aprender com eles
- As ferramentas que usa com frequência são:
- Editor de código: VS Code
- GUI de banco de dados: MongoDB Compass
- Terminal: iTerm with oh my zsh
- Navegador: Chrome
- Notas e gestão de projetos: Apple Notes, VS Code Markdown, GitHub projects/issues
- Comunicação: Microsoft Teams
Conselhos para novos programadores
- O conselho mais importante é aprender a aprender
- Como cada pessoa aprende e memoriza de um jeito diferente, é preciso encontrar o método de estudo que funciona para você
- Pedro aprende criando diretamente ou assistindo a tutoriais, depois reproduzindo e indo além para expandir em áreas que lhe interessam
- Ele lê livros primeiro sem programar e, na releitura, usa o conteúdo como guia em vez de apenas acompanhar passo a passo
- Não é preciso sentir que você deve aprender tudo; focar em uma coisa de que goste pode te levar mais longe do que aprender superficialmente muitas coisas
- Para novos programadores, ele aconselha trabalhar duro e fazer perguntas sem medo
- Na visão dele, a pergunta mais boba é a que não foi feita
- Ele também diz para não achar que você não é bom o bastante ou que sabe pouco demais
- Recomenda Ruby e Rails por serem tecnologias que, depois do ponto de virada, podem parecer fáceis e divertidas
- Também vale procurar um mentor ou alguém que ajude no crescimento, e ele sugere o First Ruby Friend como recurso para quem está aprendendo Ruby
- Como canais de contato, ele deixa LinkedIn e Twitter/X, e planeja recriar em Ruby on Rails o site www.lorrydriveloper.com, depois que seu antigo site pessoal em Django saiu do ar
1 comentários
Opiniões do Hacker News
No Reino Unido, fiz o caminho inverso: saí de desenvolvedor (principalmente C#) para motorista de caminhão
Hoje dirijo desde caminhões rígidos de 12 toneladas até grandes carretas de 44 toneladas, e no meu tempo livre me divirto mais desenvolvendo em RoR e Golang do que quando era pago para programar
Minha carga semanal aumentou de 38~40 horas para uma média de 50~52 horas, mas dirigir HGV é muito mais bem recompensado do que quando eu era desenvolvedor. Embora isso talvez reflita mais minha habilidade ou meu nível como desenvolvedor
Há exceções, mas é preciso passar por entrevistas difíceis, e por aqui não existe algo como estagiário com remuneração total de 200 mil dólares
Por isso, aprender um ofício técnico ou considerar opções como Scrum Master ou trabalhos ligados a transporte também vira uma alternativa realista. Desenvolvedores estão presos na estagflação e, por exemplo, comprar uma casa a até 90 minutos de deslocamento na região metropolitana de Sydney é difícil até para a maioria dos desenvolvedores. Em 15 anos, os preços dos imóveis triplicaram, mas os salários de desenvolvedores ou as taxas de contrato não subiram na mesma proporção
Algumas pessoas ficam no que é familiar e têm medo de grandes mudanças, mas um desconforto temporário pode levar a uma satisfação maior no longo prazo. Seja entrando ou saindo da direção de caminhões, ou de qualquer função, continuar contando essas histórias pode inspirar alguém que esteja sofrendo burnout e desilusão
Quando a profissão e o hobby são os mesmos, a diferença de não ter chefe além de si mesmo é enorme
Já pensei nisso antes, mas me preocupava com situações em que seria preciso manobrar no centro de pequenas cidades do interior. Na cidade onde eu morava, casas eram atingidas com frequência. Também fico curioso se isso acontece muito, se há muita pressão por prazos de entrega muito apertados e quanto tempo levou para tirar a licença HGV
É bom ver pessoas mudando de carreira mais tarde na vida, mas a expressão “pessoas que superaram dificuldades para competir em pé de igualdade com os outros” me dá uma sensação parecida com aquelas matérias em que colegas de classe fazem vaquinha para comprar uma cadeira de rodas
É reconfortante saber que existem pessoas boas no mundo, mas isso ignora completamente a realidade de que o sistema em que vivemos mantém certas pessoas deliberadamente em uma posição inferior
É o tipo de história “alunos se uniram para doar dinheiro e salvar um órfão da máquina de moer órfãos!”. Mas aí fica a pergunta: por que essa máquina existe em primeiro lugar?
Quando alguém que deveria estar embaixo tem sucesso, ou, Deus nos livre, até se destaca, enfrenta resistência ou punições extremas. Às vezes de forma sutil, mas muitas vezes isso acontece abertamente, atrás de portas fechadas, pelas mãos de um pequeno grupo de pessoas
Parece mais uma falha em definir prioridades corretamente e em equilibrar os impostos para que sejam usados para melhorar a vida e os resultados dos cidadãos individualmente
Teria sido melhor se, desde o início, as pessoas fossem pagas de acordo com esse valor, para que não precisassem fazer tanto esforço para se deslocar lateralmente no mercado de trabalho
Eu até gostaria de experimentar programação, mas, vindo do setor financeiro, o cálculo de salário não é tão fácil quanto para um motorista de caminhão
Eu teria que entrar direto em uma posição bastante sênior, e isso é pouco realista
Às vezes me pergunto como seria o mundo se lugares como a Flatiron School e vários bootcamps tivessem ensinado Elixir em vez de Ruby
E “lorry” é uma palavra realmente ótima, é uma pena que não haja ocasião de usá-la nos EUA
Antes que houvesse graduados suficientes para que sua stack tecnológica influenciasse a escolha de novos projetos, eles dificilmente teriam peso no mercado, e provavelmente isso nem aconteceria. Para um desenvolvedor júnior sem diploma em CS, saber só Ruby já é, na verdade, uma opção bastante limitada; ainda assim, Ruby era popular antes dos bootcamps, então foi isso que ensinaram. Eu gosto de Elixir, mas, se tivessem feito isso, é bem provável que a maioria das escolas fechasse em poucos meses e que os formados não ganhassem muita coisa com isso
Eu fui desenvolvedor do KDE antigamente
Havia casos interessantes de pessoas entrando em TI pela comunidade, como uma soprano que virou community manager, ou uma avó que se tornou desenvolvedora porque queria melhorar jogos para os netos. Bons tempos
Para alguém que está quase com 38 anos, isso não parece tanta idade assim
Curiosamente, pessoas na casa dos 20 com 2 anos de carreira acham que alguém perto dos 40 não conseguiria adquirir o mesmo conhecimento em 2 anos. Na verdade, pessoas na casa dos 40 e 50 podem ser mais pragmáticas e disciplinadas graças à experiência de vida, além de prestar mais atenção aos detalhes e ter mais paciência
Até chegar aos 80 e poucos, quando a probabilidade de declínio cognitivo ou fragilidade aumenta, é difícil dizer que alguém é realmente velho. Quando eu era criança, achava que pessoas na casa dos 40 eram velhas, mas, pensando bem, a partir dali ainda restam uns 40 anos até ficar realmente velho. Isso é muito mais do que dura a maioria das empresas, casamentos e carreiras
As vagas de Ruby on Rails ainda são bem populares?
Um bom desenvolvedor consegue se atualizar em uma nova linguagem em poucas semanas. Eu mesmo já fiz isso, e também vi uma equipe construir uma plataforma inteira com uma stack totalmente nova para ela. Programar é principalmente decompor problemas, criar soluções e implementá-las. O código é apenas o resultado disso
Pela minha percepção na minha região, se você vem de uma trajetória não tradicional e não tem diploma de CS, pode ser melhor estudar uma linguagem um pouco menos típica, como Ruby ou Python. Se você se candidatar a lugares que usam linguagens mais populares, vai ter que competir em um mar de candidatos com diploma e experiência naquela linguagem
Empresas de Ruby ou Python parecem um pouco mais abertas a contratar pessoas sem o diploma esperado e, em vários aspectos, talvez sejam um pouco mais flexíveis. Trabalhei quase só em empresas Java, mas uma vez trabalhei em uma empresa Python, e aquela equipe tinha uma aversão quase política a Java/C++/C# e era combativa na defesa de que Python era excelente. Se você compartilhasse esse sentimento, eles provavelmente sentiriam uma forte afinidade pelo candidato
No lugar onde trabalho agora, havia há muito tempo um produto peculiar feito em Ruby on Rails, e aquela equipe também era um grupo parecido: entusiasmado, curiosamente político, e acreditava fortemente que Ruby era melhor do que todo o resto, além de contratar mais pessoas de trajetórias não tradicionais. Mesmo anos depois de eu sair do cargo com Python, recrutadores ainda entravam em contato procurando apenas desenvolvedores para trabalhar com Python, como se isso fosse mais importante do que o produto, a composição da equipe ou a cultura da empresa. Quando apresentam vagas em equipes Java ou C#, normalmente enfatizam a empresa, os investidores e o produto mais do que a linguagem
Há menos vagas do que para JS, Java e C#, mas também há menos desenvolvedores Ruby. Sempre foi assim
Há gente demais que, na prática, não tem a experiência que diz ter, e quando fazemos perguntas básicas de programação que um desenvolvedor sênior deveria conseguir responder, cerca de 80% dos candidatos vão direto ao ChatGPT e fingem que a resposta é deles. Nem é algo tipo LeetCode; é no nível de “o que é polimorfismo” e “o que é refatoração”
Talvez a indústria inteira tenha ficado assim, mas como o pool de talentos é pequeno, isso fica muito mais evidente. Se dependesse de mim, eu usaria outra coisa no trabalho, e não só pelo pool de talentos pequeno. Muitos dos recursos “divertidos” do Rails, que supostamente economizam tempo, têm pouco impacto em aplicações complexas ou viram arestas afiadas que nos deixam mais lentos
Node, dotnet, Go e Java parecem todos mais populares
A parte essencial é: “Decidi entrar na Flatiron School. Depois de concluir o curso, se eu não conseguisse emprego, não precisaria pagar”
Eu também fiz um bootcamp, e ele exigia uma entrevista de admissão, uma entrevista de verdade que era bem difícil para iniciantes. O modelo de bootcamp, quando bem implementado, pode ser realmente muito bom. Claro que há corrupção e golpes, e infelizmente muitas pessoas inocentes perderam dinheiro
Então, se você está considerando um bootcamp, é melhor escolher um que seja difícil de entrar e tenha contrato de participação na renda. Dito isso, contratos de participação na renda também podem ser suspeitos. Às vezes exigem pagamento mesmo se você conseguir um emprego sem relação com tecnologia, por exemplo no varejo
https://news.ycombinator.com/item?id=40067939
Pela minha experiência com esse tipo de coisa, em geral eles eram muito exploratórios e frequentemente miravam pessoas vulneráveis. O maior sinal de alerta é que a maioria desses lugares não disponibiliza publicamente os termos do contrato. Normalmente você precisa passar horas pelo processo até descobrir os detalhes, porque, pelo motivo que acabei de mencionar, eles não querem que a informação circule
Por outro lado, isso também pode servir como um filtro rápido. Se você perguntar “vocês podem me enviar os detalhes agora?” e a resposta for “não antes de você vir a um seminário presencial de 4 horas”, é só seguir em frente
“Caminhoneiro aos 40?”
Isso revela o etarismo do nosso setor. Começar nesta profissão aos 38 anos é tratado como se a pessoa fosse da Antiguidade, quase como uma atração de show de aberrações