Presentamos los cursos de CodelyTV: ¡CodelyTV Pro! 🚀

¡Subscríbete ahora y aprovecha la oferta de lanzamiento al 50%!

Entrevista Raúl Raja ⡈ CTO 47 Degrees

La primera vez que vimos a Raúl Raja en acción fue en la Software Craftsmanship Pamplona de 2016. Hizo una presentación de introducción a la programación funcional a base de ejemplos que ilustraban perfectamente el potencial que se esconde detrás de este paradigma, y de una forma fácil de seguir para que la curva de entrada fuera asequible. Con un discurso calmado pero contundente y que demostraba mucho trabajo y tiempo “en las trincheras” detrás. Desde entonces teníamos ganas de tener la oportunidad de sentarnos a charlar con él y darle voz en nuestra serie de entrevistas a desarrolladores.

Raúl Raja es el actual responsable técnico de 47 Degrees. Una empresa que ha puesto Cádiz en el mapa de la programación funcional y no para de publicar librerías de código abierto con una calidad y aportando un valor excepcional al ecosistema conjuntamente con charlas que, como la de Pamplona, son oro puro 👌. En la LambdaWorld tuvimos la oportunidad de hablar con él y la verdad es que da gusto escuchar su opinión al respecto del sector.

Sin más, os dejamos el vídeo de la entrevista y un desglose de los temas tratados. Si queréis seguir más de cerca a Raúl, raulraja es su Twitter 😬

Desglose de la entrevista

1:30 Primeros contactos con la informática

  • 18 años: Por aquel entonces… Parque, litronas, lo típico 😂
  • Me interesaba la programación pero lo hacía por puro amor, no era interés profesional
  • Estudié magisterio de música hasta el último año
  • Cuando quise estudiar informática en la universidad no me dejaron porque había escogido letras
  • Me fui a América con mi mujer a estudiar. Inglés sabía de las canciones de Nirvana y poco más
  • Para poder financiar los estudios estuve trabajando remotamente para empresas de España

4:24 Trabajando para Boing ✈️

  • Trabajar para una aerolínea es aburrido
  • Estuve en el programa del 787 y me encargaba de los updates de los aviones
  • Teníamos una lista de librerías aprobadas desde hace 4 o 5 años que eran las únicas que podíamos usar
  • Teníamos que programar con versiones 2.x de Hibernate cuando ya iban por la 3.x

6:40 Startup Cirque

  • Trabajábamos para poder enviar aplicaciones embedidas en emails
  • En el cliente de email se renderizaba y podía actuar
  • Era una startup que pivotó varias veces y finalmente cerró por falta de funding
  • En el equipo de programación conocí a Nick y Justin. Cuando se acabó decidimos montar 47 Degrees

7:55 Inicios 47 Degrees

  • Nuestro foco al principio era exclusivamente aplicaciones móviles nativas (Objective-C y Java)
  • Muchos clientes nos empezaban a pedir la programación del backend de las aplicaciones y decidimos apostar por Scala
  • La idea surgió de unas navidades que estaba aburrido y me puse a aprender Scala
  • Como éramos un equipo pequeño fue algo que pude introducir fácilmente sin hacer migraciones masivas

10:00 Apuesta por Scala en 47

  • Una de las cosas que me ayudó fue aprender patrones de diseño. Me di cuenta que todos esos patrones era parches o inhabilidades del lenguaje en sí mismo
  • Los patrones de diseño se convertían en “el nuevo altar de los programadores Java”
  • El 80% del código que escribimos está orientado a resolver problemas que no son del dominio sobre el que trabajamos
  • Es una industria que en ese sentido podría estar potencialmente equivocada. Pero tenía suficiente tracción como para que la gente que estaba empezando simplemente siguiera esa inercia
  • Hay ciertas comunidades donde hay demasiado fanboyismo. Creo que eso en la programación funcional ocurre un poco menos.
  • Para nada [soy Rockstar de la programación funcional]. No tengo ni puta idea de muchas cosas. Soy una persona que no está centrada en la individualidad.
  • Mi rol en 47 Degrees es que la gente tenga un nivel de programación aceptable para que como equipo puedan resolver problemas juntos. Ese es mi trabajo.

12:50 Iniciarse en la Programación Funcional

  • No sabías lo que eran los patrones de diseño cuando empezaste a programar. Ahora que ya sabes te has creado una opinión de ti mismo donde no encaja que hayan otras cosas más allá.
  • Es un dominio y una forma diferente de hacer las cosas. Si nunca lo has hecho de esa forma, te va a requerir el mismo tiempo de aprendizaje y adaptación.
  • 2 cosas básicas para empezar:
    • Funciones referencialmente transparentes
    • Inmutabilidad
  • Si trabajas en términos de abstracciones como Monad, Functor, etc, necesitas que tu lenguaje de programación soporte Higher Kinds. Si tu lenguaje no lo soporta, es muy tedioso.
  • Java, al ser un lenguaje muy aceptado en la infustria, te encuentras gente que ya sabe y no quiere salir de su estilo. El problema siempre es humano, no es un problema técnico.

18:10 Kotlin

  • Kotlin no tiene Higher Kinds, pero tenemos emulación en la librería Kategory.
  • Tenemos una propuesta para un cambio en Kotlin para introducir soporte oficial a Type Classes sin hacer hacks.
  • JetBrains oficialmente dijo que querían hacer Scala pero que compilase rápido. Por eso quitaron partes que consideran más académicas del lenguaje.
  • Librerías como Spark y Akka han hecho popular a Scala. Los programadores de backend van a tirar más a Scala que a Kotlin.
  • Se puede hacer Scala en Android, 9cards la hemos hecho así.
  • No se hace Scala en Android porque la gente no elige lenguajes por sus características, si no por factores humanos como que Google anuncie que lo soporta.
  • Depende de cada programador, tú qué eres, ¿programador del imperio o de la resistencia?

23:17 LambdaWorld y 47 Degrees

  • Siempre nos ha interesado la programación funcional y aquí en Cádiz no hay comunidad. Decidimos traernos a todos los programadores aquí y darle visibilidad a la empresa
  • 47 se fundó en Seattle, estamos basados en San Fernando (Cádiz), y Londres
  • Como nuestros clientes son internacionales, en muchos casos el trabajo remoto funciona
  • Como somos una empresa pequeña-mediana, las decisiones que tomamos las hacemos muy personales de acuerdo a lo que esa persona puede aportar

Y esos son algunos de los puntos destacados a modo de resumen de la entrevista. Si te interesa el tema, te recordamos que hemos hecho algunos posts sobre Scala y programación funcional, y que en CodelyTV Pro tenemos el curso de Introducción a Scala!

En breves publicaremos los screencasts sobre Kategory y Freestyle, subscríbete al canal para más info!

SHOWHIDE Comments (0)

Leave a Reply

Your email address will not be published.

¡Presentamos #CodelyTvPro! 🚀

¡Subscríbete ahora y aprovecha la oferta de lanzamiento al 50%!