días trabajando en construir el mejor SW del mundo! • Somos un equipo de 150+ personas trabajando desde BOG y MDE atendiendo clientes en 5 países. • Construimos y operamos DistSys para nuestros clientes. • Usamos tecnologías requeridas por la solución del problema. • Un proyecto en S4N es típicamente de 3 años donde intervienen más de 15 desarrolladores en el tiempo. • Mantenemos 25+ proyectos en ejecución simultánea.
cansados del ecosistema “empresarial” de Java (JEE, Spring) pues no podíamos entregar el valor que nuestros clientes buscaban. Ejemplo implementación “sagas” en contenedor
(sin efectos secundarios, transparencia referencial, mismo resultado dado los mismos datos de entrada) 3. ADT (Algebraic Data Types) 4. Typeclasses más usadas (Either, Option, Future, Try, List) 5. State, Writter, Reader, Kleisli y MonadT. 6. Un poquito de Shapeless para hacer parsers. 7. Parser combinators. 8. Demás drogas duras de FP.
fácilmente compartible entre todos? ◦ Golang style => Los desarrolladores necesitan herramientas limitadas para que no se vuelen los pies con la escopeta. ◦ S4N style => Somos capaces de aprender y aplicar correctamente las herramientas a nuestra disposición, aprendiendo de nuestros errores. De hecho ¡eso nos motiva!
/ cats / Shapeless para todo. Aciertos • Los desarrolladores son personas. Las personas normalmente quieren aprender cosas nuevas y los motiva la maestría :) • FP + Tipos como paradigma de diseño e implementación. • Entender, al menos superficialmente, Teoría de Categorías.
Satisfacción al aprender ◦ Satisfacción al mantener ◦ Satisfacción al diseñar ◦ Satisfacción al evolucionar • Número de errores asociados a errores capturables en tiempo de compilación gracias a un buen modelamiento del problema, considerablemente menor.