Volver a la comunidad

Expeditions, Elixir y Exercism

En la Community Story de esta semana, Brian y Jonathan se toman un momento para charlar sobre la experiencia intercultural, la programación funcional y cómo fue mudarse del medio oeste estadounidense a Escandinavia.

Ver en Youtube
DURACIÓN 45MIN

Jonathan: Buenas noches a todos y bienvenidos al pódcast de Exercism. Tengo el privilegio de estar acompañado por **Brian **Underwood. Brian, ¿dónde vives en este momento? Y cuéntanos un poco tu historia y cómo terminaste donde estás ahora. Brian: Sí, claro. Gracias por invitarme. Bueno, estoy en Estocolmo, Suecia. Pero originalmente soy de Estados Unidos, nací en Ohio, así que ha sido todo un viaje desde ahí. Jonathan: No. Brian: El... supongo, mi... querías saber de dónde soy, más o menos mi trayectoria en el medio, supongo. Jonathan: Sí, por supuesto. ¿Cómo terminaste pasando del centro de Estados Unidos a... Suecia, Escandinavia? Es un salto bastante grande. Brian: Claro. Sí. Sí, por supuesto, es, es el centro de Estados Unidos. No te culpo por hacer como si no supieras dónde queda, o sea, casi nadie sabe realmente dónde queda Ohio. Así que eso, eso tiene su gracia. Sí, entonces, fui a Ohio State para la universidad. Y era como ciencias de la computación, educación. Y eso estuvo bien. Lo disfruté. Y más o menos estuve haciendo... soporte técnico en la Facultad de Humanidades todo el tiempo que estuve ahí. Tuve la suerte de conseguir un trabajo ahí cuando empecé. Y seguí unos dos años después de graduarme. Eh, pero luego, creo que me aburrí un poco de dónde estaba y de lo que hacía, y además mi novia cortó conmigo. Así que no, no... Jonathan: No son recuerdos felices, se podría decir. Brian: Sí, o sea, en retrospectiva todo estuvo bien. Pero sí, es como, bueno, creo que tuve la oportunidad aquí. Y entonces decidí tomarme unas semanas para viajar por Europa, que fue la primera vez que salí de Estados Unidos por un periodo largo. Y eso estuvo bien, viajar por Europa. Y luego decidí, antes de hacerlo, decidí que me iba a mudar. Y más o menos me había decidido por Boston como el lugar al que me iba a mudar. Y entonces conseguí, supongo, no sé si fue suerte en cierto modo, pero tuve un par de oportunidades donde, ya sabes, siempre había hecho soporte para Mac, eso era algo importante que había hecho. Así que ese era un trabajo que tuve la oportunidad de tomar, como un trabajo de soporte técnico de Mac en Boston. Y el otro era esta pequeña startup que hacía software para, como, compañías de telefonía celular y, como, cómo organizan la exhibición de sus productos en sus tiendas. Y, sabes, creo que de verdad quería dar el paso a ser programador. Pero este otro trabajo era como, ah, eso es lo que he hecho por mucho tiempo. Pero creo que me estaba inclinando por el lado de, bueno, voy a asumir esta nueva vida, esta carrera que quiero. Así que, pero creo que también tuve algo de suerte al conseguir el trabajo porque creo que de verdad necesitaban a alguien. Y simplemente me tomaron. Y eso resultó ser un trabajo bastante grande que tuve durante varios años. Eh, pero sí, y luego eso fue como los comienzos. En resumen, de ahí conocí a la que ahora es mi esposa y nos mudamos a Providence, nos casamos ahí. Eh, luego nos mudamos a California. Creo que mi esposa consiguió un trabajo en San Francisco. Y yo dije, sí, puedo. Soy desarrollador de software, puedo, puedo hacer eso, puedo encontrar trabajo en San Francisco. No, no, no hay problema. Así que estuvo genial. Vivíamos en Oakland y trabajamos en San Francisco un par de años. Pero luego decidimos que queríamos viajar por un par de años. Y terminamos viajando por el mundo durante dos años con nuestro, en ese momento, para entonces ya teníamos un hijo de dos años y medio. Y viajamos con él un par de años. Y luego sí, volvimos a Estados Unidos un par de años. Y luego decidimos como, ah, sabes, habíamos pasado por Estocolmo en nuestros viajes. Y dijimos, nos gusta mucho Estocolmo. Así que, bueno, vamos a volver. Y ahí es donde hemos estado los últimos cuatro años más o menos. Jonathan: ¿Tu esposa es sueca o simplemente les gusta Estocolmo? Ah, ¿cómo fue? ¿Cuál es la historia ahí? Brian: Sí, no, buena pregunta. Es la pregunta que mucha gente hace. Pero no, los dos somos estadounidenses. Los tres somos estadounidenses, incluido mi hijo. Aunque habla sueco mucho mejor que cualquiera de nosotros. Estamos trabajando en eso. Pero sí, no, simplemente nos gustó mucho. Creo que hubo algunos lugares a los que viajamos y dijimos, bueno, quizás podríamos vivir aquí si... si quisiéramos mudarnos a algún lugar. Creo que uno de ellos fue Auckland, un lugar por el que pasamos y nos gustó mucho. ¿En Nueva Zelanda? ¿Te refieres a Auckland, Nueva Zelanda? Nueva Zelanda, exacto. Pero estaba un poco lejos, habría sido como, si quisiéramos viajar de vuelta a Ohio para visitar a la familia, habría sido una travesía. Aunque sigue siendo un poco de travesía desde Suecia, obviamente. Jonathan: Eh, bien, y ahora mencionaste que hiciste un comentario sobre la programación de computadoras versus, perdón, las ciencias de la computación y la programación. ¿Cuál era la diferencia? Porque en mi cabeza, las ciencias de la computación son más o menos programación, pero claramente no. O tal vez sí, no sé. Entonces, ¿qué querías decir con eso específicamente? Brian: Sí. No sé si sé la diferencia. O sea, obtuve un título en ciencias de la computación, y creo que era programación, pero no era como... habrás escuchado, o habrán escuchado otras personas, que no siempre aprendes con un título universitario las cosas de la vida real que podrías aprender y hacer en un trabajo. Y probablemente eso ha cambiado algo desde que fui a la universidad. Creo que probablemente ha habido un movimiento hacia una educación más práctica. Como, recuerdo... sabes, aprendíamos, creo que C y Java eran los dos lenguajes principales que aprendíamos en ese entonces. Y en particular, recuerdo que estábamos aprendiendo esto en Java, en una clase, donde eran muy, era esto, creo que era un método de enseñanza o alguna forma de abordar las cosas donde comentabas muy minuciosamente cada una de tus funciones para decir, era como, se llama diseño por contrato, donde decías como, ¿qué encaja? sabes, en un contrato legal, sabes, digamos, como, bueno, ¿cuáles son tus responsabilidades? ¿Cuáles son mis responsabilidades? Y entonces diseñar una función por contrato significa, sabes, bueno, si me das estos valores en las variables, y sabes, nunca me das un número negativo en esta. Y siempre te aseguras de que este string nunca esté vacío, o lo que sea, ¿verdad? Estas son las cosas de las que tú eres responsable. Y luego, si haces eso, yo prometo hacer esto, ¿verdad? Y que esto ocurra. Y entonces había esta estructura de comentarios que recuerdo que me confundía mucho, pensando que de alguna manera los comentarios se ejecutaban y eran parte del programa. Y yo, sabes, creo que pasé un par de días como, ¿qué? ¿qué se supone que debo hacer aquí? Y finalmente más o menos capté que era solo este método muy formal que... Y creo que era bueno en cierto sentido, porque a veces la forma de pensar me moldea la mente. Es bueno pensar que una función no puede lidiar con cada una de las cosas que posiblemente puedan pasar, porque eso solo llevaría a la locura. Jonathan: Y ahora fuiste a la universidad con las ciencias de la computación como la carrera principal que pensabas estudiar. ¿Cómo decidiste hacer eso? ¿Fue solo que tenías una atracción natural hacia las materias más científicas en la escuela o el bachillerato, o hubo un momento en que dijiste, en realidad esto encaja muy bien conmigo? ¿Cómo fue el proceso previo hasta decidir que las ciencias de la computación eran una carrera que querías estudiar? Brian: Sí, probablemente tuve bastante suerte de que simplemente me atrajera de forma natural, creo. No sé, recuerdo... haber tenido como una elección entre programas en cierto momento, donde podía entrar al programa de artes y ciencias, con la especialidad en ciencias de la computación, o al de ingeniería en ciencias de la computación. Y uno de ellos implicaba tomar un curso de idiomas, como español, que era el que yo llevaba desde el bachillerato. Pero el otro era como, ah, no tienes que hacer idioma extranjero, pero tienes que hacer más física y matemáticas. Y dije, bueno, apúntame para eso. Así que supongo que me atraía. Creo que es como, aunque una cosa en la que pienso mucho es que, y tal vez esto es una especie de privilegio científico o matemático que tengo, pero siento que probablemente... las matemáticas, hacer matemáticas. Mucha gente es como, ah, las matemáticas, como que me pongo nervioso con las matemáticas o es estresante o lo que sea. Y eso, entiendo que puede ser totalmente el caso, pero me pregunto si tal vez a veces... y algunas personas, por la razón que sea, simplemente le encuentran lo divertido a las matemáticas y logran como que entusiasmarse con eso, y es como que es la misma cantidad de trabajo y de resolver cosas. Pero simplemente no se siente así porque cuando nos divertimos, no sentimos que sea tanto trabajo. Probablemente no es exactamente eso, es solo como una teoría mía, que probablemente solo es medio correcta. Jonathan: Pero fue gracioso porque, bueno, recuerdo haber estudiado química durante tres años para el GCSE en el Reino Unido y durante dos años tienes tres años de aprendizaje hasta tus exámenes GCSE y luego tienes estos grandes exámenes a los 16 y haces toda una gama de temas, así que haces como diez materias distintas y eso es bastante. Y luego decides, bueno, voy a hacer A levels, voy a hacer más matemáticas o ciencias o lo que sea, o inglés o drama o lo que sea. Pero recuerdo que la química no me hizo clic durante unos dos años y luego, como en la semana antes del examen, todo cobró sentido: la tabla periódica y cómo funcionaba todo eso, y ah, podía obtener todas las respuestas de la tabla periódica, solo tenía que, es como un crucigrama o lo que sea. Y fue como si se encendiera un foco, y recuerdo que desde ese momento pensé, ah, esta es la materia más fácil de todas. Pero fueron dos años de lucha para llegar a ese punto, y es interesante porque siento que para mí programar es parecido, es como sumergirte en ello durante mucho tiempo y luego se te hará la luz, y estoy emocionado de que eso de alguna manera parezca ir en esa dirección. Pero creo que lo que describes ahí, sabes, vi amigos que simplemente entendían muy rápido desde el principio y lo disfrutaban, y el aspecto de resolver problemas era lo principal del aprendizaje, lo cual me parece muy interesante. Así que es genial que tú también hayas vivido eso, supongo. Brian: Sé que hay esta aplicación que mi hijo ha usado en su iPad. Hay una compañía o una serie de aplicaciones llamadas Dragon Box. No sé si has oído de ellas. Pero hacen unas aplicaciones educativas muy buenas. Normalmente soy bastante escéptico de la mayoría de las aplicaciones educativas, pero hacen varias muy buenas. Y una de ellas es sobre geometría. Y pienso en esto como una metáfora muchas veces, que no era geometría, era álgebra. También hay una de geometría. Pero con la de álgebra, en realidad no te enseña los conceptos del álgebra. Te enseña la mecánica del álgebra. Jonathan: Asegúrate de darle me gusta a este video y suscribirte a nuestro canal para ver más videos como este. Brian: Y lo hace de una manera en la que tienes dos lados distintos con estas dos cajas diferentes, y tienes que hacer que las cosas se equilibren en los dos lados. Mueves al monstruo de un lado al otro, o tienes que transformarlos de cierto tipo de monstruo a otro. Ha pasado un tiempo desde que lo vi, pero lo que recuerdo tan claramente es que él estaba aprendiendo la mecánica del álgebra, aunque no entendía hacia dónde iba ni por qué hacía esto. Pero era divertido hacerlo, y lo hacían de una manera que resultaba muy atractiva. Y lo que creo que es tan genial de eso, y quiero que él vuelva a usar la aplicación cuando empiece a hacer álgebra, porque siento que si ya dominas la mecánica, entonces no tienes que preocuparte tanto por eso y puedes pensar más a alto nivel sin estresarte por la parte mecánica. Y creo que tal vez eso es lo que dices con la química. No sé si fue así para ti, pero tal vez es como, ¿por qué debería preocuparme por toda esta mecánica, y estas reglas, y estas cosas? Y es como que una vez que llegas a cierto punto, es como, bueno, ya luché con eso. Quizá puedo preocuparme por por qué estoy haciendo esto. Jonathan: Sí, sí. No, fue una experiencia muy interesante porque fue la primera vez que pasé por ese proceso de entender algo y luego pasas por este periodo en el que pierdes mucha confianza en esas materias porque piensas, ah, mi cerebro no está especialmente hecho para ese tipo de proceso de pensamiento. Pero en realidad, si miras la literatura inglesa, por ejemplo, que es lo que hice, en verdad pasas de forma muy sistemática por el lenguaje y cómo se estructuran las cosas y entiendes algo, pero hay un matiz, hay una naturaleza artística en todo eso también, y, o sea, podrías decir que también hay ese elemento artístico en el desarrollo y en la programación. Cada persona tiene su propio toque, y creo que eso es lo que voy entendiendo cada vez más: no hay reglas rígidas para nada. Todo son compensaciones. Así que no, ha sido fascinante. Y ahora, tú, nos ayudaste con las cohortes, que si alguien nos escucha, fueron como experiencias de aprendizaje en Elixir y Golang, y Brian, ayudaste un poco con la cohorte de Elixir. Entonces, ¿cómo te metiste en Elixir como lenguaje? ¿Cuál fue el trasfondo para entrar en eso? Brian: Sí, es gracioso, porque alguien me acaba de hacer esa misma pregunta hoy. Porque es un, o sea, es un lenguaje de nicho, en cierto modo. Pero he estado en el mundo de Ruby. He sido desarrollador de Ruby durante mucho tiempo. Y de verdad me encanta Ruby, porque es, sabes, soy de esos programadores que quieren, quiero hacer las cosas, quiero pensar en, quiero resolver problemas difíciles. Y es difícil resolver problemas difíciles cuando estás pensando en los pequeños detalles de las cosas y tienes que lidiar con punteros o lo que sea, ¿verdad? Así que Ruby era genial para eso. Y luego, por supuesto, Joseph Alim, el creador de Elixir, salió del mundo de Ruby. Ya era prolífico en el mundo de Ruby y decidió que necesitaba, no necesitaba, tal vez es increíble, iba a crear su propio lenguaje y ser prolífico en eso, y lo hizo de manera increíble. Así que, en cierto modo, sabes, estaba como enganchado a ese mundo donde, sabes, escuchaba algunos pódcast donde a veces hablaban de Ruby, pero luego aparecía, ah, esto es algo nuevo, Elixir, y luego creo que tal vez hubo un cambio, bueno, una cosa fundamental fue que yo vivía en, en realidad me acababa de mudar de vuelta a Columbus por un tiempo, Columbus, Ohio, y Joseph Aleem vino al grupo de Ruby en Columbus, la Columbus Ruby Brigade. Y dijeron, sabes, es un honor que Joseph Aleem venga y hable de lo que quiera hablar. Y por supuesto, él dijo, sí, hablaré de Elixir porque creé este lenguaje. Estoy muy entusiasmado con él. Sí. Sí, exacto. Y recuerdo esto. Es muy gracioso, hace como un año encontré una grabación de esa presentación. Y está un poco borrosa. Pero todavía se puede ver. Y todavía puedo, puedo encontrar el momento en que le hago una pregunta a Joseph. Y recuerdo haber tenido esta confusión sobre cómo exactamente. Jonathan: Estoy muy entusiasmado con él. Brian: estos conceptos de, como, creas estos procesos y pueden recuperarse de un fallo, si tienes supervisores y lo que sea. Y no recuerdo exactamente qué dijo, pero yo estaba como, ¿cómo funciona eso? Y como, bueno, te recuperas de los errores. Pero, ¿como que todavía aprendes sobre esos errores? O como, ¿qué pasa? Y, es, ha sido todo un proceso aprender qué significa eso. Y creo que es un proceso muy interesante. Creo que en ese momento mucha de la comunidad de Elixir estaba luchando con cómo describir estos conceptos. Y creo que ahora hay más publicaciones de blog y más y más cosas para que la gente absorba y llegue más rápido. Así que, pero en fin, ese es más o menos el lugar de donde vengo. Creo que ese fue uno de los grandes lugares. Es como, ah, esto suena interesante. Y si Jose dice que es genial, entonces debería echarle un vistazo. Jonathan: Entonces, ¿fue casi como que el momento era el adecuado para que te metieras en eso? Fue como que muchas cosas distintas se alinearon y tuvieron sentido para ti. ¿Habías estado explorando otros lenguajes? O sea, mencionaste lo de los punteros. ¿Y eso es una referencia a Go específicamente o más bien estabas a la caza de algún lenguaje que te conviniera, digamos? Brian: Creo que... Sí, o sea, yo... estoy súper metido en la idea de que cosas distintas son buenas para propósitos distintos. Y soy, sabes, ahora soy un gran fanático de Elixir. Siento que probablemente estoy un poco sesgado, de que, sí, Elixir se puede usar para casi cualquier cosa. Eso probablemente no sea del todo cierto. Pero creo que lo de los punteros era, creo, solo que tenía C en mente, sabes, hice algo de C, C++ en la universidad. Creo. Sabes, sí, o sea, durante varios años trabajé con Neo4j, la base de datos de grafos. Y eso era algo que me apasionaba mucho. Y era uno de los mantenedores de las gemas de Neo4j para Ruby. Porque era esto. No tenemos que entrar mucho en eso, pero las bases de datos de grafos te pueden dejar hacer ciertas cosas más rápido, o simplemente en cierto modo más fácilmente. Para mí era como, es, no mucha gente usa Neo4j para esto, pero siento que era como Ruby, en que te ayudaba a pensar en las cosas a un nivel más alto. Y así te dejaba hacer las cosas de forma más elegante. Pero simplemente me gusta esa idea de, bueno, las bases de datos de grafos pueden ser buenas para esto y luego una base de datos relacional para esto y una base de datos de documentos para esto. Y bueno, si necesito hacer un pequeño servicio que tenga que funcionar súper rápido, tal vez lo haría en Rust o Go o lo que sea. Y entonces debería conocer esos lenguajes, y si quiero cosas de más alto nivel, está Ruby y Python, pero ahora está Elixir, y Elixir tiene, y de hecho tiene muchas grandes ventajas. Es muy difícil averiguar qué es bueno para qué cosas porque hay tanto involucrado en un lenguaje, por ejemplo, que determinar si es bueno para algo es difícil. Y también las personas, yo incluido, creo que nos involucramos emocionalmente con algunos de los lenguajes que nos gustan por una razón u otra. Así que es como, bueno, es difícil. Mm-hmm. Jonathan: Y Brian, ¿usas Elixir a diario en el trabajo? ¿Y qué es el trabajo para ti en este momento? O sea, ¿cuál es, cómo es tu día a día en este punto? Brian: Sí, entonces soy consultor en Erlang Solutions. Y estoy trabajando con un cliente de Erlang Solutions, que es una empresa llamada VicAI. No sé si has oído de ellos. Creo que Lars Wirthven, creo, les ha ayudado algo y ha escrito un poco sobre ellos en su blog. Él es una persona medio famosa en el mundo de Elixir. Y sí, son una empresa que... ayuda a otras empresas, tienen, hacen una aplicación que ayuda a las empresas a procesar facturas, de forma semi o totalmente automática usando inteligencia artificial. Bien. Y entonces sí, eso, y entonces tienen, sabes, por supuesto, modelos de machine learning, pero luego tienen una API en Elixir que les permite como coordinar muchas cosas. Jonathan: Bien. ¿Y entonces tratas con muchos clientes distintos al día o es más bien que trabajas con un grupo especializado con el que de alguna manera te coordinas y te asocias? ¿Cómo funciona todo eso? Brian: Sí, entonces normalmente estoy en una especie de equipo de funcionalidades con un product manager, y tenemos un desarrollador web y un desarrollador móvil y a veces un desarrollador de backend, el equipo de machine learning. Y luego es bueno, a veces tenemos como una persona de producto o de control de calidad que interactúa con nuestros clientes para ayudarnos a tratar de conseguir lo más relevante, lo más necesario, sabes, qué es lo que los usuarios y los clientes realmente necesitan. Pero es un poco como por capas, como que, sabes, dependiendo de qué se trate, tenemos, tenemos un gran cliente directo, y luego tenemos como unos sistemas de contabilidad, los ERP, con los que trabajamos, que tienen personas que, sabes, ingresan a sus clientes, sinceramente no trabajo mucho con eso, con el lado del cliente. Pero creo que tenemos muchas formas distintas de interactuar con los clientes, y tenemos que hacer muchas danzas distintas para integrarnos, lo cual es un problema interesante en sí mismo. Jonathan: Entonces, ¿la semana es bastante variada y haces muchas cosas distintas durante la semana o es bastante predecible? Brian: Eh, sí, creo que, sabes, creo que tengo bastante suerte en que, eh... por lo general, o sea, normalmente hay un proyecto en el que estoy trabajando. Pero, por ejemplo, algo que creo que puedo contar, recientemente estaba ayudando a asegurarme de que nuestros cálculos retroactivos fueran correctos en cómo procesamos las facturas. Porque eso podría ser algo complicado, solo lidiar con eso. Sobre todo cuando llegan facturas de un montón de proveedores distintos que pueden ser, sabes, pueden hacer las cosas de manera diferente entre sí. Y entonces, pero tengo bastante suerte en que a ellos les gusta asegurarse de que estemos al tanto de nuestra calidad del código y, en general, al tanto de las cosas. Así que tratamos de pasar una buena cantidad de tiempo haciendo cosas para mejorar las cosas, mejorar nuestro código o mejorar cosas. Y entonces, sabes, yo, eso también es un poco como soy. Es como, por lo general trato de tomarme al menos algo de mi tiempo para, sabes, hacemos mucha integración con Datadog para la aplicación, para asegurarnos de poder tener trazabilidad de nuestras peticiones y nuestras tareas en segundo plano y todo ese tipo de cosas. Y eso es algo que de verdad me encanta poder, una vez que lo he hecho, como, bueno, ahora tengo las herramientas que necesito para hacer mi trabajo. Pero sí, como, también, creo que recientemente, hay algo que me interesó, como una forma de organizar el código y referenciar otros módulos. Y hay una herramienta en el mundo de Elixir, Credo, que te permite como imponer distintas reglas en tu estilo de código. Y entonces creé una nueva regla de Credo para potencialmente imponer esa regla. Y tengo un poco de curiosidad de ver cómo sale. Jonathan: Bien, genial. Suena, para ser honesto, un poco por encima de mi cabeza, pero de alguna manera, estoy seguro de que alguien por ahí sabrá de qué se trata. Pero antes mencionaste que trabajaste un poco para una startup, creo que es correcto decirlo. Así que tenías este lado de soporte técnico, y también había una historia de startup. ¿Es algo en lo que estarías interesado en el futuro, o es algo que siempre está en el fondo de tu mente? ¿Cuál es la trayectoria para ti, crees, en los próximos cinco, 10 años en términos de programación? O sea, puede que no lo sepas, pero pensé que era interesante preguntarle a la gente, dónde te ves en cinco años, cinco, 10 años? Brian: Sí, buena pregunta. O sea, más o menos... En cuanto a las startups, siempre he ido entre empresas pequeñas y medianas. Jonathan: Gracias. Brian: como contento en empresas muy grandes. Y nunca me vi realmente como consultor hasta hace poco, cuando pensaba, bueno, esto es como... interesante poder como... ir a distintas empresas y tal vez tratar de ayudarles a resolver sus problemas, pero luego tal vez pasar a otra empresa. O sea, si alguien de Big Gag está escuchando, no estoy descontento. Jonathan: Estaba como, no creo que debería preguntarle a alguien en un pódcast, pero sí, obviamente, suponiendo que todo va genial. Perdón, mi gato está arañando la puerta aquí. Brian: Ah, sí, sí, acabamos de tener, acabamos de tener un cachorro hace como un mes, así que estoy constantemente como teniendo que, ella está ladrando o, sabes, tal vez una o dos veces como haciendo pipí en la cama y es como, tengo que lidiar con esto. Jonathan: Nosotros acabamos de tener, es una locura. 5 de la mañana cada mañana. A las 4:30 de la mañana salta a la cama y empieza como a golpearme la cara con las patas. Es lindo y adorable. Pero sí, después de un rato es como, vamos. Pero sí, volviendo a todo lo de los próximos años, ¿qué te encantaría poder hacer o lograr? Brian: Sí, buena pregunta. Creo que me gusta la idea de descubrir... creo que una de las cosas que tal vez me atraen de Elixir es que todavía es algo fresco. Y entonces me gusta... como, ¿cuáles son algunas formas de trazar los nuevos caminos y encontrar los nuevos patrones? Y sobre todo en, sabes, no es solo como, sabes, estuve en el mundo de Ruby un tiempo y entonces al llegar a Elixir, a veces hay cosas como, ah, esto lo extraño de Ruby, así que sería genial construir esto o hacer esto. Pero también hay simplemente cosas que son como... sabes, ah, esto es algo que no podía hacer muy bien en Ruby. Pero si simplemente hago esto, entonces, sabes, podríamos, podría ser aún más increíble aprovechando las fortalezas de Elixir. Así que creo que ese es el tipo de cosas que me interesan, como encontrar, encontrar los casos de uso ingeniosos y hablar de ellos, compartirlos, porque eso también es algo que siempre me inspira, como cuando leo, sobre todo cuando leo sobre algo, como un caso de uso real, y veo los detalles, no solo como, sí, hicimos esto y más o menos, así fue como lo abordamos. Es como, pero ¿dónde puedo ver algo de código o como, cuáles son los detalles? Sí. Jonathan: Suena como que disfrutas el lado de la optimización, como tomar algo y abrir un nuevo camino para hacer algo mejor y más eficiente. Eso es lo que escucho al menos. ¿Es justo, crees? Brian: Eh, sí, creo que lo eficiente es bueno. Pero creo que tal vez diría que aún más encontrar formas de hacer que las cosas sean disfrutables. Me encanta mucho la idea de cómo podemos resolver problemas para que ya no tengamos que lidiar con ellos. Como hacer bibliotecas para que podamos decir, bueno, ese problema, sí, ese problema ya está resuelto, ahora pasemos a algo que, sabes, sea un mejor uso de nuestro tiempo, ¿verdad? Jonathan: No, claro. Tiene sentido. Así que una de las cosas que he disfrutado preguntarle a la gente, sobre todo en todo esto, porque soy bastante, diría que soy bastante nuevo en la tecnología como industria en general, y no vengo de un trasfondo particularmente experimentado en cuanto a desarrollar desde pequeño, etcétera, etcétera. Y una de las cosas que a menudo me ha llamado la atención es, y esto lo escuchas mucho con amigos que están en tecnología, que hay bastantes opiniones dando vueltas, lo cual parece bastante cierto. Pero tenemos esta pregunta que nos gusta hacerle a la gente que viene a nuestro pódcast, que es, ¿cuál es la colina por la que morirías en la tecnología? Y obviamente planteándolo de una forma un poco en broma. Pero ¿hay alguna mentalidad u opinión particular que tengas y con la que digas, esta es la colina que defendería? Y puede ser cualquier cosa. Así que un buen ejemplo sería como DJ, que es uno de nuestros mantenedores, quizás lo conozcas, su colina era el papel de la conversación realmente clave, como tener conversaciones bien intencionadas y bien estructuradas en el espacio tecnológico. O sea, tener ese interrogatorio robusto, sabes, desafiante, que está como construido sobre las bases correctas, digamos. Estoy tratando de recordar qué dijo alguien más. Rebecca, de Unison, era como, preferiría tener 50 personas en un equipo que fueran trabajadoras, conscientes, y tal vez menos talentosas que un genio que es una pesadilla con quien interactuar. Así que con suerte esos son buenos ejemplos. Y sí te puse un poco en aprietos con esa pregunta inesperada, porque probablemente hay bastantes perspectivas que podrías tener. Pero ¿hay una con la que digas, no, esto es lo que estoy dispuesto a defender firmemente? Brian: Mmm. Sí. Sí, porque mi primer pensamiento fue como, ah, camel case versus snake case. Bueno, no sé si moriría en esa colina o no. Creo que muchas de esas cosas como... Jonathan: Yo no podría... Brian: Sí, sí, pero muchas de esas cosas yo, creo que tal vez cada vez tengo menos opiniones firmes sobre eso con el tiempo. Pero sí, me gustan estas cosas de más alto nivel de las que hablas. Siento que podría, me gusta. A ver si puedo traer esto. Lamentablemente estás editando esto, así que mis pausas simplemente van a desaparecer, ¿verdad? Jonathan: Ese es el plan, al menos. Brian: Sí. Entonces hay una herramienta llamada Remote Retro. Que he usado varias veces y recomiendo mucho. Y me enteré de ella porque está escrita en Elixir. Pero aparte de eso, creo que está bien diseñada. Y con el tiempo ha crecido hasta ser una herramienta cada vez mejor. Pero siempre empieza con una directiva principal, que creo que era, mientras la miro ahora, veo que fue tomada de Norm Keith. Hay una página de wiki aquí, así que puedes buscarla. Puedes ir a remote-retro.org si quieres echarle un vistazo. Pero... la, sí, aquí está la directiva principal, que creo que es simplemente, es como la cosa que lees al inicio de una retrospectiva para poner a la gente en la mentalidad correcta, que dice, sin importar lo que descubramos, entendemos y creemos de verdad que todos hicieron el mejor trabajo que pudieron, dadas las circunstancias que conocían en ese momento, sus habilidades y capacidades, los recursos disponibles y la situación en cuestión. Eh, así que creo que eso es bueno. Creo que es similar a que... necesitas asegurarte de que siempre estás... Y en realidad, hasta diré una cosa más. Hubo una entrevista y puedo, puedo compartirla si quieres, como, poner el enlace en la descripción del programa o lo que sea más tarde. Jonathan: Sí, claro, para consultarla. Brian: Sí, siempre recomiendo este artículo, aunque siempre es súper difícil de encontrar y no sé, probablemente ya ha caído un poco en el olvido, pero hubo este... este hombre que era administrador de la Asociación de Veteranos en Estados Unidos, el departamento gubernamental. Y en concreto, creo que se encargaba de su sistema de salud. Y tenía esta entrevista donde venía del mundo aeroespacial. Y mucho de lo que habló era... cómo en el sector aeroespacial, en mucho de, probablemente no es perfecto en todos lados, pero en mucho de lo que vivió, se culpaba al proceso, no a las personas. Y si algo sale mal, dices, sabes, bueno, sabes, no es, sabes, como, yo, yo he borrado una tabla en producción. Pero por suerte nadie me culpó por eso. Dijeron, bueno, ¿qué hacemos ahora? Bueno, hacemos que cuando entres a producción en la consola, aparezca, el prompt sea rojo. Y así queda claro que estás en producción, ¿verdad? Porque yo cometí ese error porque pensé que era desarrollo cuando estaba. Sí, exacto. Así que tuve la suerte de tener una oficina en la que culpábamos al proceso y no a la persona. Y eso fue realmente genial. Y entonces habló de eso en el contexto de, como, la medicina, que era como, bueno, a veces tal vez una enfermera podría darle el medicamento equivocado a un paciente. Es como, bueno, a veces las etiquetas son confusas, o hay esto que es como, es difícil, o es lo que sea, no es ideal. Es como, bueno, arreglemos eso. Hagámoslo. Así que si queremos, si de verdad nos importa el paciente, hagamos un proceso en el que sea más difícil equivocarse. Así que eso es algo que creo que es muy importante para mí. Jonathan: Eso está muy bien. Definitivamente voy a poner esto en las notas del programa. ¿Eso viene de lo ágil, es como una metodología construida sobre lo ágil, digamos? ¿O es un poco de algo más? ¿Qué opinas de eso? Brian: Sabes, buena pregunta, creo. Me dio la impresión de que era parte de una tradición bastante larga en algunos círculos de ingeniería aeroespacial. O sea, aeroespacial, creo que tal vez tiene que ver con el hecho de que, si tienes, si estás haciendo aviones o si estás haciendo cohetes, estás en el negocio de que esto tiene que funcionar. Y cuando ponemos a un humano ahí, ya sea un astronauta o un pasajero, tenemos que darle la mejor oportunidad de que funcione. Y la mejor manera de hacerlo es dejar de lado nuestros egos y decir, sabes, ¿qué? Jonathan: Tú. Brian: ¿qué va a hacer que esto funcione lo mejor posible cada vez si simplemente seguimos el proceso? Creo que eso es parte de ello, sí. Jonathan: Porque cuando estaba buscando Remote Retro, se veía mucho como terminología ágil. Así que me pregunto si tal vez cambió de ahí en algún punto. Pero eso está muy bien. No había oído eso antes. El que sí he oído es el de las listas de verificación, sobre todo en medicina y aeroespacial. Así que es como que un piloto repasa una lista de verificación. No se desvía de su lista de verificación. Y un médico hace lo mismo. Eso está muy bien. Brian, vamos a empezar a aterrizar. Tengo una última pregunta para ti esta noche. Y es realmente cuál es tu recomendación para la comunidad de Elixir en la próxima semana. Si pudieras dar un consejo, y podría ser sobre cualquier cosa. Podría ser como ve a tomar kombucha de, no sé, tu deli local, o sal a correr y a nadar en el océano Ártico o lo que sea. Si hubiera una cosa que recomendarías a la comunidad de Elixir para que le diera una oportunidad, ¿cuál sería esta semana? Brian: ¡Salud! Mmm. Eh, yo diría... que, eh, o sea, dentro de, dentro de tus, sabes, capacidades, porque tal vez esto es, sabes, no, siempre es difícil dar consejos a todo el mundo. Pero creo que una cosa que ha sido importante para mí es, creo que una vez fui a urgencias porque tenía un dolor de cabeza repentino. Y tal vez había una preocupación de que fuera como un dolor de cabeza en trueno, que puede ser algo serio. Así que fui y el médico me revisó y todo estaba bien. Pero, sabes, el médico simplemente estaba haciendo preguntas generales y diciendo como, bueno, ¿cuánto ejercicio haces? Y, sabes, cuál es tu actividad y lo que sea. Y yo estaba como, sabes, siendo estadounidense, estaba como, bueno, yo, sabes, camino bastante, hago tal vez 8000 pasos a la semana, al mes, o en promedio al día. Y él dijo, sabes, deberías, deberías salir tres veces por semana, por 45 minutos, como para sudar de verdad. Y, sabes, no lo hice de inmediato. Pero, sabes, fue después de tal vez cinco o seis meses que entré en un patrón, en un hábito de correr, normalmente tres veces por semana, a veces eran dos veces por semana, pero sabes, y creo que eso ha sido algo que ha sido como un gran cambio en mi vida. Creo que me ha ayudado mucho. Así que creo, sé que es algo súper difícil de hacer y es súper difícil para mí entrar en eso. Y creo que parte de cómo lo hice fue que dije, bueno, voy a salir y si termino caminando el 75% del tiempo, entonces, bueno, así será. Voy a ir construyéndolo. Jonathan: Eso está bien. Creo que fue interesante que mencionaras eso porque nosotros... Brian: Creo que fue interesante que mencionaras eso porque nosotros... Jonathan: No, eso está muy bien porque una de las cosas que tratamos de pensar con las cohortes era qué va a facilitar que la gente crezca y aprenda y como que avance y gane impulso, supongo, en su trote de programación, digamos. Y una de ellas era simplemente salir, aunque fuera por 10 minutos al día, solo para ponerte en la posición de intentarlo. Y aunque en realidad no llegues a ningún lado, aunque solo leas las instrucciones y ya está por ese día, con tal de que aparezcas de alguna forma, eso marca una gran diferencia. Pero creo que es una gran recomendación, definitivamente un recordatorio para mí de ir a mover un poco mi deporte, solo porque a veces es tan sedentario estar sentado adentro. Así que si alguien por ahí está escuchando, sigan el consejo de Brian y salgan a correr. Pero, o sea, va a empezar a hacer un poco más de frío en Estocolmo en las próximas semanas. ¿Todavía corres en pleno invierno o es más como correr bajo techo? Brian: Sí, lo hago. Y, o sea, yo diría también que, sabes, el mejor ejercicio que puedes hacer, si vas a salir ahí por 30, 40 minutos al día tres veces por semana o algo así, es como, lo que sea, lo que sea que disfrutes más, sabes, porque si no disfrutas correr, entonces probablemente no vas a poder mantenerlo. Así que, sabes, diré eso primero, pero sí, el invierno, sabes, tengo un gorro, que es como, también está oscuro en Estocolmo. Así que mi esposa me regaló un gorro que tiene fibras incorporadas que son retroreflectantes. Bien, así que eso es bueno. Así que puede mantenerme seguro. Y luego tengo un cubrebocas y cosas para las orejas que puedo ponerme. Sí, y entonces, sí, tengo que abrigarme bien, pero también puede ser bueno porque, cuando hace frío, sabes, puedo, puedo mantener un ritmo más bajo y aún así lograrlo. Sí, exacto. Exacto. Jonathan: Ah, qué genial. Pero Brian, solo quería darte un enorme agradecimiento por tu tiempo esta noche, y probablemente ha sido un día largo, con los niños y el trabajo y el cachorro nuevo y todo ese tipo de cosas, así que solo quería decirte gracias por tu tiempo y por compartirlo con nosotros, y para cualquiera que esté escuchando por ahí, pondremos las notas del programa en la descripción abajo para que puedan consultar esas cosas. Si tienes alguna oportunidad y estás escuchando esto, ve a echarle un vistazo al track de Elixir y estoy seguro de que Brian, no sé si haces algo de mentoría en el track de Elixir, pero tal vez si alguna vez estás en el espacio de la mentoría podrías ver a gente nueva apareciendo y probando cosas. He oído muchas cosas buenas sobre Elixir, así que creo que definitivamente es uno al que hay que estar atento para el futuro, y sí, que tengas una noche maravillosa, Brian. Solo espera un poco cuando detenga la grabación, pero sí, fue genial tenerte con nosotros y gracias por compartir un poco de tu visión sobre la vida de Brian Underwood y sí, así que gracias a todos por escuchar y que tengan una noche maravillosa. Nos vemos pronto.

Más historias de nuestra comunidad

Escucha, aprende e inspírate con los miembros de nuestra comunidad.