Ingeniería de Backend en Sling Money
Hola - Soy James, uno de los ingenieros de backend y miembro del equipo fundador de Sling Money. Esta publicación está dirigida a candidatos potenciales para ingeniería de backend. Cubre las preguntas que generalmente me hacen durante las entrevistas, para darte una idea de cómo es la vida aquí. ¡Esperamos que pueda ayudarte a tomar una decisión sobre si postular o no!
Acerca de Sling Money
Sling Money está construyendo un producto financiero global y sin fronteras que te permite enviar dinero a cualquier parte del mundo de forma instantánea. Históricamente, transmitir dinero ha sido lento, costoso y complicado. A nivel nacional, qué tan fácil es enviar dinero depende de la infraestructura bancaria de tu país y a menudo implica compartir IBANs de más de 20 caracteres o esperar el horario comercial para que los pagos lleguen. Internacionalmente, las cosas son peores: el dinero tiene que pasar por múltiples terceros y puede tardar varios días hábiles en procesarse. Y eso ni siquiera menciona las tarifas y costos (muchos de los cuales son ocultos). No hay razón fundamental para esto: los métodos existentes están simplemente construidos sobre sistemas heredados, a menudo implementados hace décadas.
Sling Money fue fundado con la realización de que hay una mejor manera de hacer esto. Se basa en dos tecnologías comparativamente nuevas:
Cadenas de bloques rápidas y baratas. Estas permiten a las personas mantener y transmitir dinero de manera muy económica y casi instantáneamente, incluso a través de fronteras. Usamos la cadena de bloques Solana.
Stablecoins. Estas son criptomonedas cuyo valor está vinculado 1:1 con una moneda emitida por el gobierno. Permiten a nuestros clientes mantener valor en una cadena de bloques sin que el valor de ese activo cambie en comparación con las monedas fiduciarias en las que están acostumbrados a pensar.
Una persona suficientemente informada puede comprar stablecoin (por ejemplo, USDC) con euros en Francia utilizando una transferencia bancaria SEPA, enviarlo a alguien en los EE. UU., que puede venderlo por dólares estadounidenses, recibiendo el dinero en su cuenta bancaria con una transferencia FedNow. Cada uno de estos pasos es básicamente instantáneo y básicamente gratuito. Creemos que esta es genuinamente la mejor manera de transmitir dinero a través de fronteras.
Sin embargo, es bastante complicado averiguar cómo hacerlo. Necesitas registrarte en un intercambio que te permita comprar stablecoins, asegurarte de obtener una tasa de cambio decente, crear un par de claves criptográficas, asegurarte de que tu clave privada no se pierda o sea robada, asegurarte de que tienes suficiente SOL o ETH para pagar la transferencia de criptomonedas, y necesitas convencer a la persona a la que estás enviando dinero para que haga lo mismo.
Sling Money existe para abstraer esta complejidad, para hacerlo lo más fácil e intuitivo posible para los clientes. Hemos construido una aplicación móvil que configura una billetera Solana no custodiada para el usuario. Nos hemos integrado con proveedores de pago locales en todo el mundo para proporcionar métodos de alta calidad y rápidos para agregar y retirar dinero de Sling Money.
Nos fundamos en el verano de 2022 y lanzamos en septiembre de 2024.
Ámbitos del problema
Nuestro trabajo involucra principalmente los siguientes ámbitos:
Pagos
Detección y prevención de delitos financieros y fraude
Escalado del soporte al cliente
Gestión de tesorería
Plataforma/seguridad/cumplimiento
Composición del equipo
En el momento de escribir esto, somos seis ingenieros de backend y seis ingenieros de cliente, distribuidos uniformemente entre Android, iOS y web. La empresa completa tiene alrededor de 25 personas. Tenemos oficinas en Londres, Ámsterdam y Nueva Jersey, y algunas personas que trabajan de forma totalmente remota. La ingeniería se basa principalmente en Londres.
Trabajamos en equipos multidisciplinarios, por lo que cada ingeniero trabaja en estrecha colaboración con cualquiera en diseño/producto/marketing/finanzas/fraude, etc., para lograr nuestros objetivos compartidos.
Pila técnica
Nuestra plataforma está escrita en Go. Contamos con una arquitectura orientada a servicios y utilizamos comunicación inter-servicio gRPC. Se despliega en AWS utilizando ECS. Utilizamos SQS para trabajos asíncronos, Postgres para almacenamiento de datos y GraphQL para comunicarnos con los clientes.
Tenemos un pipeline de análisis de datos separado que se alimenta de nuestra plataforma y utiliza BigQuery y Metabase.
Proceso de desarrollo
Queremos que nuestros ingenieros tengan las mejores herramientas para el trabajo, y es común que los ingenieros paguen herramientas que deseen. Nuestros ingenieros reciben MacBooks de alta gama y utilizan una variedad de entornos de desarrollo, incluidos GoLand, Cursor y Neovim. Recientemente hemos comenzado a utilizar Graphite para solicitudes de extracción.
Despliegue
Desplegar una función en producción típicamente implica:
Ejecutar la plataforma localmente, apuntando la aplicación móvil de staging a tu servidor de desarrollo
Codificar y probar tu cambio
Abrir un PR, pasar CI y obtener una revisión de código
La plataforma se despliega en staging y producción al fusionar con main
Desplegamos en producción múltiples veces al día.
Pruebas y documentación
Somos una empresa en etapa temprana y la velocidad de iteración es la prioridad para la mayoría de nuestros sistemas. Esto influye en nuestra filosofía de pruebas y documentación. Probamos y documentamos los sistemas a un alto nivel, buscando pruebas y documentación que sigan siendo relevantes a medida que se realizan cambios.
Tenemos pruebas de integración que ejecutan toda la plataforma y prueban los flujos más importantes, como el registro y los pagos. Probamos unidades de partes complicadas de la lógica. Queremos evitar probar por probar, y somos sospechosos de pruebas frágiles que están demasiado vinculadas a cómo se escribió actualmente el código.
Con el tiempo, a medida que los sistemas maduran, esperamos aumentar el nivel de pruebas y documentación que hacemos.
De guardia
Tenemos un turno de guardia pagado 24/7 que se espera que mantengan los ingenieros, pero las personas toman descansos por períodos prolongados. Creemos que los incentivos están bien alineados cuando las personas que envían código también son responsables de su correcto funcionamiento. Nuestro turno generalmente es bastante tranquilo y es común pasar una semana sin ser llamado. Priorizamos la empatía en nuestro enfoque de programación: cambiar turnos o intercambiar unas horas por la noche para salir a cenar es común.
Filosofía de ingeniería y escalado
Estamos tratando de construir una empresa pequeña y eficiente, con pocos empleados en relación con el número de clientes a los que servimos. Para hacer esto, intentamos:
Crear tanto espacio como sea posible para que los ingenieros trabajen de manera autónoma
Escalar partes del negocio que tradicionalmente habrían requerido un gran número de empleados usando ingeniería e IA para automatizar
Elegir tecnologías bien entendidas
Evitar asumir nueva infraestructura siempre que sea posible
Comprar en lugar de construir sistemas siempre que sea posible
Aplicando
Si esto suena atractivo para ti, puedes encontrar más información sobre Sling Money, nuestros valores y nuestras posiciones abiertas en nuestra página de carreras. Si actualmente no tenemos roles abiertos pero crees que serías un buen candidato, por favor envía un correo a [email protected] para que podamos ponernos en contacto cuando estemos contratando nuevamente.
Pruébalo ahora