Spin

Comenzamos a trabajar para Spin en 2017 cuando uno de sus directores de ingeniería nos contactó por nuestra experiencia en Rails.

Joshua había sido el primer ingeniero en Basecamp y valoraba muy positivamente tanto nuestra experiencia como nuestra cultura empresarial.

Spin es un gran monolito de Rails rodeado de muchas otras herramientas construidas con otros lenguajes más adecuados para realizar microservicios o soluciones IoT para su configuración de hardware.

Nos unimos a Spin para ayudarles a desarrollar muchas aplicaciones. Desde el principio, comenzamos a trabajar en la aplicación principal para ayudarles a aumentar su ritmo de desarrollo.

A lo largo de los años, ampliamos nuestro impacto en Spin ayudándoles en múltiples frentes: construyendo APIs, desarrollando herramientas internas para automatizar procesos, ayudando con las aplicaciones móviles e incluso aventurándonos con Golang para construir microservicios para todos sus dispositivos IoT (por ejemplo, para desarrollar la funcionalidad de desbloqueo de scooters eléctricos).

MarsBased se acogió de inmediato a un proyecto complicado y rápido con soltura. No solo fueron capaces de extender y refactorizar un código Rails desordenado en módulos limpios y manejables. Rápidamente encontraron la manera de integrarse sin problemas en un equipo que trabajaba en un ciclo de sprints quincenal, con una diferencia horaria de 9 horas. Recomendaría MarsBased para cualquier proyecto desafiante de Rails.

Tecnologías del proyecto

Ruby on Rails

Rails es un framework de modelo-vista-controlador (MVC), con estructuras predeterminadas para una base de datos, un servicio web y páginas web.

React Native

Framework de código abierto utilizado para desarrollar aplicaciones multiplataforma con React junto con las capacidades nativas de la plataforma.

Go

Go es un lenguaje de alto nivel, tipado estáticamente y compilado, sintácticamente similar a C, usado generalmente para microservicios.

Apache Kafka

Plataforma distribuida para la transmisión de datos, diseñada para administrar los flujos de datos de varias fuentes y enviarlos a distintos usuarios.
Spin e-scooter

A lo largo de los años, hemos estado trabajando en diferentes zonas horarias con su equipo distribuido, principalmente de forma asíncrona.

Spin es una empresa que valora el rendimiento y la productividad. De hecho, uno de los pilares de la cultura de la empresa en Spin es confiar por defecto, lo cual se integra muy bien con un modelo de desarrollo distribuido totalmente remoto orientado a lo asíncrono.

Hemos presenciado la venta de Spin al Grupo Ford en 2018 y luego a TIER Mobility en 2022, y hoy en día hemos sobrevivido a dos CTO diferentes, dos CEOs y varios VPs, ya que tenemos una de las permanencias más largas dentro de la empresa.

Esto nos ha permitido ayudar a incorporar y formar a los nuevos empleados de Spin y ser considerados parte de su equipo core incluso en sus actividades fuera de la empresa.

Uno de los aspectos más complejos de este proyecto fue ser conscientes en todo momento de que cualquier cambio afectaría a miles de patinetes eléctricos en todo el mundo y que cada solución que construimos tuvo que escalar desde el principio a cientos de miles de peticiones simultáneas con la mínima latencia posible. Además, fuimos pioneros en la utilización de Stimulus para construir el panel de administración interno para todos sus sistemas.

Movimientos clave

Visión holística

Desde el comienzo del proyecto, estuvimos involucrados a nivel transversal en la empresa, dándonos visibilidad a todos los niveles.

Pensar a largo plazo

Con una alta rotación en la plantilla, eventualmente nos convertimos en las personas más senior en el proyecto, formando a sus nuevos empleados.

Equipo core

Casi desde el inicio, fuimos considerados parte de su core, a diferencia del resto de las agencias. ¡Estamos profundamente agradecidos!

Turno continuo

Una diferencia horaria de 9 horas es brutal, pero lo hicimos funcionar a nuestro favor, cubriendo como si fuéramos el turno de noche de forma asíncrona.