Tom Heinan, desarrollador de aplicaciones móviles, piloto y zombi

Foto de Tom frente a un avión
Listo para volar
Hola, ¡soy Tom Heinan!

¿En qué trabajas?

Trabajo para una empresa llamada One Medical Group, que es una empresa de práctica médica habilitada en tecnología. Paso la mayor parte de mi tiempo trabajando en nuestra aplicación móvil en Objective-C, donde estamos implementando todo tipo de características de vanguardia dirigidas a ayudar a las personas a manejar efectivamente su salud y su bienestar. También hago un poco programación de fondo de código en Ruby, desarrollando las APIs que nuestra aplicación necesita para poder comunicar datos de salud de manera segura y confiable.
Nuestros pacientes usan la aplicación móvil para programar citas, conseguir diagnósticos virtuales para problemas comunes y comunicarse con sus médicos, así que hago mi mejor esfuerzo para depurar errores en el código y mejorar la usabilidad con actualizaciones incrementales mientras que al mismo tiempo planeo y hago prototipos emocionantes de nuevas características.
Tres capturas de pantalla de la aplicación móvil en acción
Tres capturas de pantalla de la aplicación móvil en acción

¿Cómo aprendiste a programar?

Apple IIGS
Apple IIGS
Mis papás compraron nuestra primera computadora familiar en 1986, el año en que nací. Era una Apple IIGS, y empecé a jugar con GS/OS tan pronto como pude leer. Aprendí HTML y JavaScript básicos en la primaria (¡incluso gané la medalla al mérito de computadoras en los Boy Scouts!) y luego tomé clases avanzadas de Ciencias de la Computación en la preparatoria, en donde el plan de estudios era mayormente introducción a Java. Cuando entré a la universidad, me salté muchos de los cursos de lenguajes más tradicionales (scripting en BASH, C++) y en cambio aprendí yo solo los conceptos básicos de Ruby, que hoy sigue siendo uno de mis lenguajes favoritos.
Para mí, lo más difícil acerca de aprender cualquier lenguaje es encontrar un buen lugar para empezar. Tomar cientos de páginas de documentación y convertirla en algo genial es una tarea bastante insufrible, así que en lugar de eso intento tomar una idea y encontrar un proyecto de código abierto parecido en el lenguaje que estoy tratando de aprender. Entonces puedo seguir el código y obtener una estructura básica sobre la cual puedo vaciarle mi propia lógica, Googleando a medida que voy avanzando. También es clave identificar conceptos parecidos: entender Categorías (Categories) en Objective-C es mucho más fácil si ya sabes qué son las Clases Abiertas (Open Classes) en Ruby.

¿Qué haces cuando no estás programando?

Escribo mucho código en el trabajo y también escribo mucho código por diversión, pero cuando no estoy escribiendo código, me gusta pasar tiempo afuera. Ir de campamento y hacer senderismo siempre son formas de pasar un buen momento, y tenemos muchos lugares estupendos para hacer eso aquí en California. Ahora también estoy trabajando para obtener mi licencia de piloto: no hay nada más relajante después de un largo día de reuniones que dirigirse hacia arriba a 3,000 pies y disfrutar del atardecer sobre la bahía.
Vista desde afuera de la ventana del piloto al volar sobre la bahía
Volando sobre la bahía de San Francisco
También toco piano y guitarra y compongo canciones de vez en cuando. Me encanta actuar y fui miembro del equipo de improvisación de comedia en la universidad durante varios años. Todavía tenemos la reunión ocasional nerd en Nueva Escocia, donde fui a la escuela. Ser un ingeniero de software no te da mucho tiempo extra para la actuación, pero si has visto The Walking Dead de AMC, tal vez hayas podido ver que me maten una o dos veces. Me han dicho que tengo una muy buena habilidad para arrastrar los pies.

¿Cuál es tu consejo para nuevos programadores?

Encuentra un lenguaje que te encante, haz cosas geniales con él y nunca tengas miedo de experimentar.