La regla y las excepciones del software en Chile


Si hay algo con lo que suelo patalear es con el nivel de la famosa "tecnología made in Chile". Desde siempre.

Que los sistemas se caigan suele ser el pan de cada día, y por supuesto los parches son eso, parches: arreglines a media que pocas veces resuelven el problema de fondo. Los técnicos saben pocazo, pero son secos para venderla, y los clientes (que siempre tienen la culpa, por lo demás) no tienen mucho más que hacer que aceptar las explicaciones del pelado de turno.

— Es que está caído el sistema, tiene que venir mañana.

La clásica. O cuando llamas al proveedor de Internet porque llevas una hora sin conexión.

— Desconecte el router, reinicie el computador y borre las kukys.
— Ya lo hice. Sigo sin conexión.
— A ver, haga click en el botón inicio y entre a la configuración de red.
— ¿Qué quieres que revise? No tengo botón inicio.
— ¿Cómo no tiene botón inicio? ¿Usa Mac?
— No, uso Linux. 
— ¿Cómo me dijo?
— Liii-nucs. El del pingüinito.
— Ah pero es que nosotros no damos soporte para eso... 

Tate.

Multiplicamos esto por mil y, ¿qué tenemos? Una opinión generalizada de que las empresas de tecnología en Chile son ahí no más, que las cosas se hacen siempre a la rápida, que el servicio es malo, en fin. Chilean way, all the way.

Y para las empresas más chicas, que de verdad estamos tratando de hacer tecnología desde Chile, la cosa no es fácil porque tenemos que luchar contra ese estereotipo cuando hablamos con clientes locales, que muchas veces nos meten a todas (grandes o chicas) dentro del mismo saco.

Bootic nació por el interés de dar una solución distinta al problema del e-commerce, entonces éste tema, el tema de hacer las cosas de forma distinta, resuena en forma especial en nuestros corazones unixeros.

De ahí nos pareció interesante enumerar algunas cosas que sentimos que nos hacen distintos, donde creemos que marcamos una diferencia, y de paso destacar también a otras empresas chilenas que andan en la misma. Intentando subir la vara.

Muéstrame el código

Cuando hablamos de software hablamos de código, y cuando escribimos código siempre lo hacemos sobre los hombros de algún barbón. Por eso, creemos, es justo y también necesario aportar de vuelta a la comunidad liberando al menos parte del código que hacemos.

Lo que en verborrea torrentiana se llama ser un seeder y no sólo un leecher.

Esto no sólo es bueno por la sana sensación de estar devolviendo la mano, sino también porque el hecho de liberar código obliga a ser un poco más prolijo, a indentar y documentar mejor, en fin, obliga a subir el nivel y hacer un poco mejor la pega, porque mal que mal lo que hagamos va a quedar a vista y paciencia de todo el mundo.

Bootic está escrito en una combinatoria de distintos lenguajes, pero las cosas que hemos liberado -- ya sea como empresa o bien en forma personal -- son principalmente en Ruby, Go y Javascript. Algunos son componentes propios de Bootic, como por ejemplo el cliente Ruby para nuestra API o nuestro nuevo CLI, pero hay también cosas más genéricas que se pueden usar en otros contextos, como por ejemplo nuestro servidor para redimensionar imágenes.

Francamente, creemos que es poco lo que las empresas chilenas contribuyen en código, y nos encantaría ver más casos, especialmente de las más grandes. ¿Cuántas librerías de código abierto usarán Movistar, VTR o Sonda? ¿Y cuánto es lo que aportan?

En EE.UU., incluso viejos enemigos del software libre como Microsoft ya se subieron a la micro. Lo de Walmart es otro caso interesante, porque ni siquiera es una empresa "de tecnología" per sé, pero ahí está metiéndole código.

En Chile, algunos casos destacables de otras empresas (que conocemos) son: Platan.us (209 repositorios propios en Github!), ComparaOnline (37 repos), Acid Labs (34), Magnet (33), Continuum (20), Prey (13) y ArchDaily (10).   

La pomá

Para muchos, el saber de tecnología es como tener un poder especial, estar un peldaño más arriba que los demás, casi en un altar. Lo que uno dice es ley, porque uno es "el que sabe" y el resto son todos nulos, nadie cacha nada. Es como cuando uno lleva el auto al mecánico.

— Ah noo, es que el pituto de la válvula del sensor de la sonda lambda está roto, y ná que hacerle po'.
— ¿Y qué significa eso?
— Ah noo, es que vamos a tener que comprar el repuesto y cambia'lo.
— ¿Y cuánto me va a salir?
— Ah noo, yo creo que--

Y a cruzar los dedos carajo.

Es súper fácil para una empresa tech aprovecharse de eso mismo, cobrarle una millonada al cliente y copiar y pegar cualquier cosa de Stack Overflow.

En Bootic tratamos, en lo posible, de que el cliente entienda de lo que estamos hablando y cobrarle lo que corresponda, si es que corresponde. Nos gusta trabajar con PyMEs como la nuestra y sabemos que las PyMEs no la tienen fácil, así que cobrarles un ojo de la cara en el fondo equivale a los dos.

Por lo mismo, si nos piden hacer algo que no nos interesa hacer, en vez de responder con un presupuesto impagable (la manera usual y "polite" de decir no gracias), preferimos ahorrarnos toda la vuelta y decirle al cliente directamente que preferimos no hacerlo, pero que está la opción A o B o C para resolver su problema (incluso aunque A o B sean competencia nuestra).

En serio.

Creemos que a la larga esto es mejor, porque construye confianza. Quizás del punto de vista comercial sería mejor decirle que sí a todo, y cobrar caro, pero no es nuestra filosofía y tampoco creemos que sea una buena estrategia en el largo plazo.

El ruido versus las nueces

Siguiendo con lo de arriba, en general las empresas más grandes invierten tanto o incluso más en marketing de lo que ponen en investigación y desarrollo. Un caso habitual de esto son los Cyber Monday, donde nos toca competir con los grandes y sus mega equipos de desarrollo, y todo el bombo y platillo que le meten a las "grandes inversiones en infraestructura" que declaran hacer.

En la práctica, lo que vemos es que nuestros sitios aguantan y los de ellos no. Y no es que nosotros seamos mejores -- en absoluto. La diferencia es simplemente que el tiempo que le dedicaríamos a meter ruido preferimos gastarlo en producir nueces.

Le hemos metido harta cabeza a nuestra infraestructura para que sea eficiente, y con eso no sólo me refiero a que consuma pocos recursos de máquina, sino también pocas horas/hombre para su mantención. Esto nos permite seguir invirtiendo más tiempo en mejorar otras cosas que hagan que la plataforma funcione mejor.

Por ejemplo, una buena optimización que hicimos hace poco fue remover jQuery como dependencia de algunas de las plantillas Bootic. Para esto escribimos nuestra propia versión de jQuery (sí, desde cero) que permite hacer lo básico y esencial para el funcionamiento de una tienda en línea, con todo lo que ello implica.

Nos preocupamos también de reducir al máximo la cantidad de consultas HTTP que se realizan por carga, porque de verdad nos importa la experiencia de usuario y de verdad hacemos algo al respecto. Preferimos eso a llenarnos la boca con que "la experienshia de ushuario" aquí y allá y dedicarnos a tapizar el HTML a puro plugin jQuery.

Las agencias chilenas parecen estar dándose cuenta de esto, pero más lento que rápido. De las que aparecen en la primera página de Google para la búsqueda "agencia de diseño web", apenas una pasa el test de la blancura de PageSpeed Insights (verde/OK en desktop y mobile). Y a amarillo llegan menos de la mitad...

En fin, menos ruido y más nueces. :)

La comida del perro

Una de las frases típicas del mundo startup es "eat your own dog food". Es media cliché, pero no por eso menos válida: se refiere a que uno debería ser el primer usuario del servicio o solución que uno provee.

Felizmente, este post lo escribo desde nuestro editor de texto Bootic (una versión de Summernote que modificamos un poco) y lo estás leyendo en nuestro sitio, que obviamente corre sobre nuestra plataforma. El diseño lo hicimos nosotros, el CSS lo escribimos nosotros (incluso el framework CSS que usa por detrás es una versión propia de Skeleton), las imágenes las hicimos nosotros, y así.

Si miras el código fuente de esta página, vas a ver varias llamadas a Bootic.load() y es porque también escribimos nuestro propio loader Javascript!

Este claramente no es el estándar de la industria, y no esperamos que así lo sea, pero sí nos gustaría ver, al menos, es un poco de consecuencia. Por ejemplo, nos llama la atención que una empresa que vende diseño web no haga su propio HTML, y en vez use una plantilla gratuita en su propio sitio.

Al menos uno esperaría que hagan su propio sitio web, ¿no?

La humildad

Lo hemos dicho siempre: sabemos que no somos perfectos y que no tenemos la respuesta para todo. No nos consideramos ninja rockstars masters del código, porque no lo somos ni tampoco pretendemos serlo.

Pero como Torvalds o Ritchie, ¡claro que queremos ser! Así que siempre nos verás jugando con nuevas librerías o herramientas, o simplemente viendo cómo resolver el mismo problema de una mejor forma (porque a veces sí es bueno reinventar la rueda).

Y como nos creemos nada del otro mundo, intentamos escribir toda nuestra documentación en lenguaje para humanos, para que cualquiera pueda subirse a bordo y empezar a hacer cosas sobre nuestra plataforma. No nos olvidamos que en algún momento éramos nosotros los que ni sabíamos que era `display: inline`. :)

Parte de esta humildad es, también, reconocer que no todo lo hacemos bien. Sabemos que hay áreas donde nos falta mejorar, y una de ellas es, justamente, comunicar mejor lo que hacemos, cómo lo hacemos y por qué lo hacemos, y de paso armar más comunidad. Tenemos buena onda con varias empresas chilenas, pero sabemos que hay muchas más con las que podríamos (y deberíamos) estar conectados.

Este post va precisamente en esa dirección. 

En fin, son varias las cosas donde creemos que podemos mejorar como industria, y nos alegra ver que haya cada vez más empresas (de tecnología y no) que quieran ser más abiertas, más transparentes y más aterrizadas. Es una señal de que en Chile no todo lo que se hace es a medias, ni los computines puros vendepomá. También hay excepciones a esta regla, y quizás en un futuro cercano las excepciones sean tantas que terminen por reemplazar y convertirse en la regla.

Publicado el 19/03/2018 por Tomás Pollak
Ver artículo anterior Ver artículo siguiente