El CTO de andar por casa
cómo elegir tu stack tecnológico

Jerónimo López
@jerolba
Codemotion, 19 de Octubre de 2013
lunes 21 de octubre de 13
Agenda
Quién soy yo
¿Qué es Otogami?
¿Cómo está hecho?
¿Por qué?

Agenda
lunes 21 de octubre de 13
Jerónimo
‣
‣
‣

‣
‣
‣
‣

12 años de experiencia
Mundo empresarial
Medios de comunicación
Java, J2EE

Sobre mi
lunes 21 de octubre de 13

Apasionado de la informática
Técnico vocacional
Jugón
QUÉ
lunes 21 de octubre de 13
el mejor motor de búsqueda y comparador de
ofertas de videojuegos
Qué
lunes 21 de octubre de 13
CÓMO
lunes 21 de octubre de 13
Otogami
‣Startup
‣Bootstraping
‣Lean:
‣ Salir rápido
‣ Validar el modelo
‣ Gastar poco dinero!!
Cómo
lunes 21 de octubre de 13
Un poco de números

50

tiendas
monitorizadas

5.000

X
250.000
=
12.500.000

ofertas por tienda
ofertas

Cómo
lunes 21 de octubre de 13

registros
anuales
Usuarios

Cómo
lunes 21 de octubre de 13
Premisas
‣Cientos de miles de usuarios
‣Rápido
‣Mucho Ajax
‣Mucho tráfico
‣Muchos robots
‣Gran volumen de datos
Cómo
lunes 21 de octubre de 13
Elección Tecnológica

Cómo
lunes 21 de octubre de 13
Los Fundamentos

Cómo
lunes 21 de octubre de 13
Diagrama de Sistemas

Cómo
lunes 21 de octubre de 13
El Frontend
Servidor

Navegador

WebSockets

Cómo
lunes 21 de octubre de 13
WTF
lunes 21 de octubre de 13
WTF

‣Startup
‣Bootstraping
‣Lean:
‣ Salir rápido
‣ Validar el modelo
‣ Gastar poco dinero!!
WTF
lunes 21 de octubre de 13
WTF
‣
‣
‣

‣
‣
‣
‣

12 años de experiencia
Mundo empresarial
Medios de comunicación
Java, J2EE

Qué
lunes 21 de octubre de 13

Apasionado e la informática
Técnico vocacional
Jugón
WTF

WTF
lunes 21 de octubre de 13
Un poco de trolling

WTF
lunes 21 de octubre de 13
Node JS
‣Creado el 2009
‣maduro?
‣DIY
‣¿Te gusta programar en JS?!
‣¿De verdad es tan rápido?
(v 0.10.20)

WTF
lunes 21 de octubre de 13
Node JS

WTF
lunes 21 de octubre de 13
MongoDB
‣1ª release producción en 2010
‣DIY
‣¿Te gusta programar en JS?!
‣¿ACID?
‣¿De verdad tienes tantos datos?
‣¿De verdad no tienes esquema?
WTF
lunes 21 de octubre de 13
La realidad

30

tiendas
monitorizadas

106 K

ofertas registradas

170 MB
Backup

WTF
lunes 21 de octubre de 13

2.200
juegos

8,3
millones de
registros históricos
Cómo
lunes 21 de octubre de 13
CÓMO
lunes 21 de octubre de 13
Elección Tecnológica

vs

Cómo
lunes 21 de octubre de 13
Elección Tecnológica

vs
Molar

Cómo
lunes 21 de octubre de 13

Ganar dinero
¿Qué lenguaje?

Cómo
lunes 21 de octubre de 13
¿Qué lenguaje?
‣Sé pragmático
‣¿en cual eres más productivo?
‣¿y tu equipo?
‣¿cuanto te cuesta encontrar a alguien?
‣¿cuanto va a durar tu código?
Cómo
lunes 21 de octubre de 13
¿Stack completo?
‣ Ruby -> Rails
‣ Java -> J2EE, Spring
‣ Groovy -> Grails
‣ PHP -> Simfony
‣ Python -> Django
‣ Scala -> Play
Cómo
lunes 21 de octubre de 13
¿Stack completo?
‣ Setup rápido
‣ Fácil prototipar
‣ ¿Y si te sales del guión?
‣ Aplicaciones monolíticas
‣ Siempre hay un plugin que te hace eso ...
‣ ... tal vez demasiados
Cómo
lunes 21 de octubre de 13
¿Stack completo?
‣ Frameworks sencillos
‣ Usa el framework, que no te use él a ti
‣ Minimiza las dependencias
‣ Modulariza -> Reutiliza

Cómo
lunes 21 de octubre de 13
Arquitectura
‣ Desacopla
‣ Orientado a servicios (lógico o físico)
‣ Evita la optimización prematura
‣ YAGNI
‣ Buenas prácticas y patrones
‣ No subestimes el HW
Cómo
lunes 21 de octubre de 13
Arquitectura
App

App
CORE
App

App
Tech A
Cómo
lunes 21 de octubre de 13

Tech B
OTOGAMI
lunes 21 de octubre de 13
Los Fundamentos

Otogami
lunes 21 de octubre de 13
Diagrama de Sistemas

lunes 21 de octubre de 13
Infraestructura Común
JPA

Otogami
lunes 21 de octubre de 13
Frontend

Otogami
lunes 21 de octubre de 13
Backend

Otogami
lunes 21 de octubre de 13
SAKE

SAKE

Otogami
lunes 21 de octubre de 13

{
Servidores

Otogami
lunes 21 de octubre de 13
Metodología
‣Funcionalidad por semana
‣Agile

Otogami
lunes 21 de octubre de 13
Infraestructura

Otogami
lunes 21 de octubre de 13
¿Preguntas?
@jerolba
jero@funius.com
lunes 21 de octubre de 13

Otogami- Codemotion - El CTO de andar por casa