Tom Heinan, desenvolvedor de aplicativos móveis, piloto e zumbi

Foto de Tom na frente do avião
Pronto para voar
Olá, me chamo Tom Heinan!

Com o que você trabalha?

Trabalho em uma companhia chamada One Medical Group, que trabalha com a tecnologia voltada para a medicina. Passo a maior parte do tempo trabalhando em nosso aplicativo móvel em Objective-C, no qual implementamos todos os tipos de produtos de ponta destinados a ajudar as pessoas a gerenciar sua saúde e bem estar de forma mais efetiva. Eu também trabalho um pouco com programação back end em Ruby, desenvolvendo as APIs que nossos aplicativos precisam para fazer a comunicação com os dados de saúde de forma segura e confiável.
Nossos pacientes usam o aplicativo móvel para marcar suas consultas, serem atendidos virtualmente para problemas simples, e se comunicar com seus médicos. Então eu faço o possível para corrigir os erros e melhorar a usabilidade com atualizações simples e ao mesmo tempo planejo e prototipo as novas grandes funcionalidades.
Três imagens do aplicativo móvel em ação
Três imagens do aplicativo móvel em ação

Como você aprendeu a programar?

Apple IIGS
Apple IIGS
. Meus pais compraram nosso primeiro computador em 1986, o ano em que nasci. Era um Apple IIGS, e eu comecei a mexer no GS/OS tão logo eu comecei a ler. Aprendi o básico sobre HTML e JavaScript no ensino fundamental (até ganhei a medalha de mérito sobre computadores dos escoteiros!) e então comecei a aprender ciência da computação no ensino médio, quando a grade curricular era basicamente uma introdução a Java. Quando ingressei na universidade, eu não precisei fazer vários dos cursos das linguagens mais tradicionais (BASH, C++) e, ao invés disso, estudei sozinho os conceitos básicos de Ruby, que ainda hoje é uma das minhas linguagens favoritas.
Para mim, a coisa mais difícil quando se aprende qualquer linguagem é encontrar um bom lugar para começar. Pegar centenas de páginas de documentação e transformá-las em algo legal é uma tarefa insuportável, então, ao invés disso, eu tento ter uma ideia geral e encontrar um projeto de código aberto escrito na linguagem que estou tentando aprender. Então eu posso acompanhar o código e ter uma estrutura básica na qual eu posso implementar minha própria lógica, usando o Google quando necessário. Identificar conceitos familiares também é fundamental - entender categorias em Objetive-C é muito mais fácil se você já sabe o que são classes abertas em Ruby.

O que você faz quando não está programando?

Eu codifico bastante no trabalho e também como diversão, mas quando não estou escrevendo código, eu gosto de ficar ao ar livre. Acampar e caminhar sempre é divertido, e nós temos muitos lugares onde fazer isso na Califórnia. Eu também estou tentando conseguir meu brevê - não tem nada mais relaxante depois de um dia de trabalho do que subir lá no alto e ver o pôr do sol na baía.
Vista da janela do piloto durante voo sobre a baía
Sobrevoando a baía de São Francisco
Eu também toco piano e violão, e faço algumas composições aqui e ali. Eu amo atuar, e eu fui membro da equipe de teatro de comédia da universidade durante muitos anos - ainda fazemos nossas reuniões nerds em Nova Escócia, onde eu estudei. Ser um engenheiro de software não deixa muito tempo livre para atuação, mas se você já assistiu a série The Walking Dead, da ACM, você já deve ter me visto morrer uma ou duas vezes. Me disseram que eu cambaleio muito bem.

Qual é o seu conselho para novos programadores?

Encontre uma linguagem que você ama, desenvolva coisas legais com ela, e nunca tenha medo de experimentar.