El código tenía un bug y le costó 300K USD a la empresa.
Así es, parece broma pero es anécdota.A mediados de 2021, fui contratado por un chileno criado en Texas para ser el primer ingeniero a cargo de su start-up. Un Crypto exchange para Latam.
Fondos de VC crypto y un par de Latam-Top-Tier -Angels habían puesto plata, lo que llevó a sacar una ronda de $2M USD en pre-seed.
Los objetivos eran super claros:
- Quemar plata
- Construir
- Crecer
- Llegar a la siguiente ronda
En 90 días había que tener: Aplicación móvil IOS, Android, motor de transacciones, base de datos, proveedores de liquidez, conexión con wallets seguras, protocolos de monitoreo, métricas a tracking, el maldito KYC, consolidación de depósitos, la adquisición de los primeros 100 usuarios y un eterno etcétera.
> Aun me sorprende la cantidad de trabajo que hice en esos 90 días sin herramientas como Claude Code. Me metí en el papel de primer ingeniero, TL, lo di todo
Luego de hacer todo el checklist, empezamos en un espiral de contratación, publicidad, construir, validarlos y repetir. Yo ya tenía experiencia en Fintech y sabía el dolor de cabeza que era la deuda técnica y lo importante de hacer auditorías y pentesting. Trabajar con plata ajena es super delicado. Lamentablemente, el CEO nunca destinó tiempo ni plata. A cambio de eso:
- Entrevista en los diarios
- Video publicitario con el Chicken Castle
- Publicidad pagada de Fin-Influencers. El de las casitas y un par más
- Millones de pesos en "regalos" para incentivar el uso de la pp
- Viajes a conferencias crypto
- funcionalidad nueva todas las semanas
Finalmente, luego de casi 1 año de trabajo sin fin y on-calls que no terminaban, me fui de vacaciones. En la mitad de mis vacaciones, me enteré que nos habían atacado 7 veces durante el día y nos había costado +600K USD. Como andaba sin computador, me enteré 5 horas luego del ultimo ataque.
Los bug eran dos:
- Nunca puse Rate limit por cuenta/ip. GRAVÍSIMO ERROR.
- Problemas con los puntos flotante. Había problemas de calculo en la comisión cuando se sobrecargaba el sistema y se le sumaba al cliente en vez de cobrárselo. Alguien se dio cuenta, hizo un script, un grupo en telegram y nos atacaron todos juntos.
Aunque al final pudimos identificar a los atacantes y recuperar el dinero robado, de todas maneras tuvimos que pagar por el uso de nuestro proveedor de liquidez. La perdida se redujo bastante, pero aún así se tuvo que pagar 300K USD solo por el uso de la api de nuestro proveedor.
Al cabo de 1 mes me despidieron verbalmente según el CEO porque "ya no sentía el fit", demandé y gané pero al momento del fallo(4 meses después), esta persona había cerrado la empresa, retirado los fondos del banco y vuelto a USA.
A lo largo de los meses en esta startup pasaron varias cosas que fueron red flags que nunca vi pero pudieron ahorrarme muchos problemas: el founder nunca nos hizo firmar el vesting de acciones; en vez de estar con el equipo andaba viajando en conferencias Crypto; admitió haber un par de rug-pulls con NFT, constantemente jugaba a ponernos en contra de nuestro compañero de equipo, etc.
La Historia tiene un leve bonus track, si alguien quiere saberla, que pase y deje su comentario 🤘🏻