Una charla con José, el primer dev de Auth0

Soy José Romaniello, vivo en Mendiolaza (Córdoba) y llevo 7 años en Auth0. Soy de los primeros en sumarme. Mi rol fue cambiando a lo largo del tiempo pero hay algo que nunca cambió: siempre estuve cerca del código.

Una charla con José, el primer dev de Auth0

Soy José Romaniello, vivo en Mendiolaza (Córdoba) y llevo 7 años en Auth0. Soy de los primeros en sumarme. Mi rol fue cambiando a lo largo del tiempo pero hay algo que nunca cambió: siempre estuve cerca del código. Nunca me interesó tanto la parte de management. Eso me llevó a que hoy sea Principal Engineer. Trabajo en el equipo de OCTO (Office of the CTO) y a lo largo del tiempo fui moviéndome en diferentes áreas del producto. Escribí gran parte del core de Auth0, las APIs de autenticación y autorización.

¿Cómo llegaste a Auth0?

Conocí a Matías en una conferencia de Node.js en Buenos Aires en el 2012 y luego empezamos a hablar por mail. Noté que teníamos intereses y formas de trabajar similares. Me comentó que tenía una idea que me pareció interesante. Recuerdo la entrevista en donde Eugenio y Matías me preguntaron ¿vos cómo implementarías esta idea? Compartí mi pantalla, abrí la terminal, escribí `mkdir auth0` y abrí el Sublime Text. Me puse a programar la primera version del dashboard en la entrevista :D

El primer commit

¿Y cómo fue que decidiste sumarte cuando todavía no era nada?

Yo había renunciado a mi trabajo y decidí tomarme un tiempo para encontrar algo que me motivara. Estuve dos meses sin trabajar en nada concreto. Asistía a conferencias y hablaba con mucha gente.

Hubo cierta química con Eugenio y Matias desde la primera entrevista. Me di cuenta que eran personas técnicas, programadores con mucha experiencia de los cuales podía aprender. Siempre traté de trabajar en lugares en donde pueda aprender algo nuevo.

Por otra parte tenían una visión. Querían resolver un problema en un dominio que entendían muy bien y eso contagiaba.

Todo lo demás se fue dando naturalmente, casi como jugando con amigos. Hablábamos de software y de “qué pasaría si hiciéramos esto”. Para cuando me di cuenta, ya habíamos hecho un hermoso equipo y si bien seguía habiendo incertidumbre yo ya había decidido que este iba a ser mi trabajo.

¿Cuál era tu rol en Auth0 cuando recién arrancaba?

Es la primera vez en mi vida que estoy en una empresa que pasa de tener 5 personas a casi 700 (en 7 años). Cuando arrancamos, todos hacíamos de todo. No había un rol definido. Matias hablaba con un cliente, hacía un poco de diseño gráfico, escribía un blog post, y programaba parte del backend. Yo hacía más o menos lo mismo (sacando el diseño web, que nunca fue mi fuerte). Eugenio también: mandaba pull requests y programaba a la par nuestra.

A medida que Auth0 fue creciendo, para cada puesto se necesitaba alguien experto en algo. Y eso es muy enriquecedor, porque yo vendría a ser como un “generalista” y hablar con el “cirujano” me es muy provechoso. Aprendo mucho de la gente que es experta en un dominio. Ese es uno de los cambios más grandes que yo he visto.

Enseñando Node.js inicios de 2013 para que nos conozcan en la comunidad

¿Cómo se sentía ese primer año?

Los primeros meses son como en todos lados: una apuesta. Una de las cosas que me atrajo desde el principio era que sentía que alguien usaba todo lo que yo hacía. Parece un detalle, pero a muchos programadores nos pasa que trabajamos en consultoría haciendo cosas que muchas veces no llegan a ningún lado, ni nadie las usa.

Una de las cosas que me atrajo desde el principio era que sentía que alguien usaba todo lo que yo hacía. Parece un detalle, pero a muchos programadores nos pasa que trabajamos en consultoría haciendo cosas que muchas veces no llegan a ningún lado, ni nadie las usa

En cambio, en Auth0 todo lo que hacíamos (y hacemos), soluciona un problema, y eso es muy gratificante para alguien que programa. Yo recuerdo agregar cosas y ponerlas en producción, sin escribir un blog post ni un artículo ni nada. A la hora alguien ya lo había descubierto en el dashboard y lo había utilizado.

¿Qué te motiva a seguir trabajando en Auth0 después de 7 años?

En términos del producto, sentir que estamos solucionando un problema que miles de empresas y usuarios tienen. En términos de la empresa, la gente con la que trabajo es maravillosa y extraordinariamente capaz. La cultura, las relaciones que se van dando y el hecho de que se mantienen ciertas cosas de los primeros años.

Hablar con Matias y pensar en los próximos pasos, cómo llegar a tal lugar, cómo solucionar cierto problema… eso me motiva a seguir estando.

¿Cómo describirías la cultura de Auth0?

Una cultura motivadora, un ambiente que te desafía. Siempre la energía está enfocada en cómo solucionar cualquier problema (internamente lo llamamos n+1>n).

Trabajar con gente de diferentes países y culturas es muy enriquecedor.  Por ejemplo, cuando viajamos a los offsites, te podes relacionar con alguien de la India, otra persona de Bélgica… interacciones que no se dan en todos lados.

Otra cosa que me gusta son los “clubs” que hay en Slack. Yo por ejemplo estoy en uno que es #club-italiano, porque mis abuelos eran italianos, y leo sobre su cultura, del idioma. Hablo con italianos o nietos de italianos que viven por el mundo… y eso es maravilloso.

Charla de Slack en #club-italiano

¿Qué otro aspecto te parece interesante de la cultura?

La transparencia y la confianza. Un ejemplo que se me ocurre es: si se cae algún componente del sistema, ¿qué ocurre en las empresas de software? ¿Cómo reaccionan?

Hace poco escribí un tweet sobre esto:

Desde que éramos 5, siempre buscamos entender qué pasó, qué se puede mejorar, qué aprendemos de esto y cómo hacemos para que no vuelva a pasar. Una actitud positiva enfocada en superar el obstáculo (Eugenio, CEO, vive y comunica los valores del estoicismo). Cuando éramos 5, era un proceso súper informal. Pero nunca buscábamos el culpable, sino cómo salir mejor de esa situación. Hoy es un proceso formal que llamamos post-mortem. Cada vez que hay algún incidente, hay una actitud muy positiva por parte de todos los equipos, donde todos se ayudan entre todos. Se escribe un documento como parte del proceso formal y en muchos casos se publica en status.auth0.com.

¿Cómo vivís el trabajo remoto? ¿Siempre trabajaste de forma remota?

Sí, incluso antes de empezar en Auth0. Al principio, no tenía una oficina en mi casa; era una casa chica y yo trabajaba desde el lavadero. ¡Era lavadero/oficina! Compatibilizar con la familia a veces es difícil al principio. Pero ya después de tantos años, la dinámica en familia está muy aceitada.

El trabajo remoto es algo que me encanta y me es súper conveniente. Yo puedo vivir en el campo, en la montaña. Me gusta el entorno en el que vivo y al mismo tiempo el hecho de que puedo trabajar en algo con impacto global, y desarrollarlo con compañeros distribuidos por el mundo. También me ahorro la hora de viaje desde y hacia la oficina todos los días, que es algo que ya ni puedo concebir.

Por otro lado, en casa tengo mi espacio y puedo enfocarme en resolver un problema sin interrupciones. Lo bueno de Auth0 es que es una opción. A mucha gente le encanta ir a la oficina que tenemos en Buenos Aires o ir a un co-working.

La oficina de José

¿Cómo son tus famosos asados en Mendiolaza?

Hicimos un offsite del equipo de OCTO (Office of the CTO) y trabajamos en el quincho de casa. Mientras trabajábamos, el asador estaba siempre encendido. Nos comimos un lechón, un cordero, un cabrito, empanadas fritas…

😱

Estuvimos así dos o tres días. ¡Hambre no pasaron! Eso me gusta, es parte de la cultura argentina que traemos a la empresa.

¿Algún tip para un asado a lo José?

A mí me gusta el asado con leña, no con carbón. La calidad de la carne y saber de donde viene es importante, y en lo personal soy fanático del cordero.

¿Alguna anécdota relevante para contar? Algún offsite, algún push a producción que rompió algo...

En 2013 conseguimos nuestro primer cliente. Una de las particularidades de este cliente, era la necesidad de tener Auth0 corriendo dentro de su infraestructura. Auth0 estaba escrito pensado para la nube (creo que corría en Heroku). Pero lo bueno fue que era Node.js sobre Ubuntu y MongoDB que podía correr en cualquier lado.

Nos inspiramos en el modelo que tenía GitHub on-premises en ese momento. Implementamos un pequeño shell y un poco de puppet con nginx y en 3/4 semanas estaba funcionando.

La VM empaquetada en formato .OVF para correr en VMWare viajó en una avioneta, dentro de un pen-drive. Llegamos y en unas horas estaba corriendo. Lo primero que aparecía al iniciar la vm, es la imagen que se ve en el primer blogpost con el logo ascii.