Nos complace anunciar que Simon Allardice, uno de los mejores profesores del mundo en temas relacionados con el desarrollo, trabaja ahora a tiempo completo en . Está trabajando duro en su primer curso, pero se tomó unos minutos para hablar con nosotros sobre la enseñanza, el desarrollo, Apple y la música.
En el WWDC el mes pasado, Apple anunció que abrirá el código abierto del lenguaje Swift a finales de este año. Pero Apple es una compañía extremadamente reservada; ¿crees que aceptará solicitudes de parches que mejoren el lenguaje, o sólo correcciones de errores?
Apple tiene más proyectos de código abierto de lo que muchos desarrolladores creen. Y son trabajos sustanciales, como Darwin, WebKit, Bonjour. Hace unos meses, Apple lanzó ResearchKit, su nuevo marco de investigación médica, como código abierto.
Creo que el proyecto WebKit es una suposición decente de cómo Swift podría ser de fuente abierta: donde la primera prioridad es definitivamente la corrección de errores y las pruebas exhaustivas. Así es como te involucras. Y donde cada contribución es intensamente escudriñada. No es un vertedero de características gratis para todos. Podrás ser parte del proceso, pero si crees que podrás simplemente comprometer TU_FUNCIONAMIENTO_DE_LANGUAGE_FAVORITO y decidir que eso es ahora «Swift 3″… bueno, no.
Y seguro: La manzana es secreta. Pero el error que comete la gente es pensar que «silencio = falta de respuesta». Apple es receptiva, con sus productos de código cerrado y herramientas de desarrollo. Sigue a Apple el tiempo suficiente y puedes decir que escuchan profunda y atentamente la retroalimentación. No esperes estar involucrado en una conversación diaria.
¿Cómo se inició en el desarrollo de software?
He estado programando profesionalmente desde que tenía 17 años. Empecé en una rama del Gobierno Británico, que a principios de los 80 era como tener un aprendizaje de la vieja escuela: años de escribir COBOL en la computadora central y Lenguaje Ensamblador (en papel, nada menos), asistiendo a clases de diseño de algoritmos con barbas grises expertas que consideraban que las terminales de pantalla verde eran una nueva trampa para los tontos que no eran lo suficientemente buenos para leer tarjetas perforadas. Y después de eso, un par de décadas de consultoría: finanzas, transporte, centrales nucleares, desarrollo de juegos… lo que sea.
¿Cómo empezaste a enseñar?
Empecé con lynda.com, antes de que estuviera en línea. Asistí a una de las clases presenciales para aprender más sobre el color, la disposición y la tipografía para el diseño web. Pero terminé siendo el «geek» simbólico en la sala, respondiendo las preguntas de todos sobre la programación del lado del servidor y la construcción de carritos de compras, así que me pidieron que volviera a enseñar un curso sobre eso. Y mi primer curso de formación en vídeo, sobre la creación de sitios web basados en bases de datos, se publicó en 2002. Estuvo bien; he mejorado. Pasé varios años haciendo entrenamiento en persona para el Entrenamiento Técnico de Interfaz en Phoenix, que era casi un ambiente de «sala de calderas» para entrenadores técnicos. Muchos entrenadores excelentes tienen un historial con Interface: Jason Helmick, Dan Wahlin, Don Jones, Greg Shields, Mike Palermo, Spike Xavier, por nombrar algunos.
La pared de tu oficina está llena de guitarras y tienes un piano también. ¿Qué tipo de música te gusta tocar?
Lo sé; no es raro ser un programador que toca un instrumento. Soy un guitarrista/pianista poco común, con ocasionales delirios de grandeza. Escribí algunas bandas sonoras de juegos en los 90, aunque la realidad mundana de la composición de juegos era poco atractiva. La tecnología musical sigue siendo un profundo interés para mí, y me sorprende continuamente lo que se puede hacer ahora con el software: toma unos cuantos productos de gente como ProjectSAM, Spitfire Audio o 8Dio, y con unos pocos clics de ratón tienes toda una orquesta o un coro de 100 personas a tu alcance. Y si no estoy jugando con orquestas virtuales, entonces se acabó lo de las guitarras ruidosas. Podría vestir eso con palabras como «atonal», «progresivo» o «polimérico», pero todo eso es completamente egoísta: a veces a un tipo sólo le gusta ponerlo en marcha.
¿Qué has aprendido últimamente?
Desde el WWDC 2015 he estado enterrado en Swift 2 y watchOS 2, averiguando la mejor manera de aprender y enseñar ese contenido. También estoy tratando de trabajar en mis chuletas de programación funcional: Tengo una comprensión técnica decente, pero la mentalidad funcional no es natural. Al menos, no todavía.
¿Hay alguna experiencia de aprendizaje que le parezca especialmente bien hecha, efectiva o memorable?
Enseñé en persona durante muchos años. Y ese formato tiene un valor tremendo, pero me entusiasma mucho la enseñanza en video. Y no tratándolo como una aproximación de segunda clase de un aula, sino genuinamente como su propia modalidad, con su propio estilo, enfoques y mejores prácticas. Así que lo veo mucho, y estoy encantado cuando encuentro un buen contenido. Es difícil para mí ver cursos de programación ahora sin diseccionarlos automáticamente, así que para mi disfrute personal, son mayormente otras materias: Los cursos de música de Robert Greenberg en The Teaching Company. Los cursos de fotografía de Ben Long. Y vale la pena mencionar los dos trabajos que me demostraron por primera vez que la enseñanza por vídeo, bien hecha , es capaz de vencer a la mala (o incluso media) enseñanza en persona: Cosmos de Carl Sagan y The Ascent of Man de Jacob Bronowski.
¿Qué aplicaciones web o móviles le parecen bien diseñadas o bien implementadas?
Es más difícil de responder de lo que solía ser. Los últimos años he acogido la idea de que nos alejamos de la «aplicación asesina». Que si no estás desarrollando un juego o una experiencia multimedia, la marca de una aplicación bien diseñada es que es casi transparente. Y si te fijas en el diseño o la implementación, algo está mal. El software de sincronización es un buen ejemplo de esto: no quieres notar tu solución de sincronización. No quieres disfrutarla o pasar tiempo en ella. Sólo quieres que funcione. El único momento en que lo notas es cuando algo está mal.
Apple Watch es otro ejemplo. Si condenas la falta de una obvia «aplicación asesina» para el Reloj, te estás perdiendo el punto. Cuando has usado una durante un tiempo, te das cuenta de que no quieres una aplicación asesina. Que tiene más éxito cuando tu participación en ella es mínima, reducida a pequeñas y breves interacciones. Pero pragmáticamente, hay aplicaciones que me resultan muy útiles. Hace poco volví a hacer una imagen de mi teléfono con el iOS 9 beta, y las primeras aplicaciones que reinstalé inmediatamente fueron Omnifocus, Headspace, Dark Sky, Tripit y Sonos.
¿Qué te gusta de ser un autor a tiempo completo? ¿Qué tiene de desafiante?
Es una profesión solitaria, seguro. Esto recompensa los largos períodos de tiempo ininterrumpido: mucha escritura, mucho andar de arriba a abajo en mi oficina leyendo en voz alta una docena de maneras diferentes de describir un concepto, para tratar de averiguar cuál va a funcionar mejor cuando se graba.
No hay ninguna pretensión de que posea algún conocimiento mágico y esotérico del Libro de los Muertos sobre cualquiera de estos temas. Tengo acceso a las mismas fuentes, las mismas herramientas, libros y documentación que cualquier otro. Lo que yo hago es «un conjunto muy particular de habilidades»: ser capaz de tomar algún contenido, concentrarse profundamente en él durante semanas, y ser capaz de entregarlo de una manera que te ahorre tiempo . Donde lo aprenderías de mí un poco más rápido, un poco más fácil, un poco más memorable, que de otra manera. Cuando puedo tener éxito en eso, es inmensamente satisfactorio.
¡Únete a Simon para compartir tus conocimientos, construir un ingreso residual y participar en una comunidad de maestros! Solicita enseñar con nosotros.
Contenidos
- En el WWDC el mes pasado, Apple anunció que abrirá el código abierto del lenguaje Swift a finales de este año. Pero Apple es una compañía extremadamente reservada; ¿crees que aceptará solicitudes de parches que mejoren el lenguaje, o sólo correcciones de errores?
- ¿Cómo se inició en el desarrollo de software?
- ¿Cómo empezaste a enseñar?
- La pared de tu oficina está llena de guitarras y tienes un piano también. ¿Qué tipo de música te gusta tocar?
- ¿Qué has aprendido últimamente?
- ¿Hay alguna experiencia de aprendizaje que le parezca especialmente bien hecha, efectiva o memorable?
- ¿Qué aplicaciones web o móviles le parecen bien diseñadas o bien implementadas?
- ¿Qué te gusta de ser un autor a tiempo completo? ¿Qué tiene de desafiante?
- ¡Únete a Simon para compartir tus conocimientos, construir un ingreso residual y participar en una comunidad de maestros! Solicita enseñar con nosotros.