• No estudié Computer Science • He vivido la .com • He trabajado para compañías que ya no existen • Programo desde 2008 en Scala y Ruby para ganarme la vida 3/33
empresas de producto son los desarrolladores con más experiencia quienes elaboran la arquitectura • Escucha a tu CTO • Dí muchas veces NO • Convence al resto del equipo con argumentos técnicos • Déjate convencer 13/33
problema • Conocer el dominio • Ser flexibles para obtener un producto flexible • Maximizar la comunicación • Aprender siempre • Apóyate en la Comunidad http://www.infoq.com/presentations/Simple-Made-Easy 14/33
Sin embargo, hay patrones comunes • Pero dependen mucho de la tecnología • Framework is king: • MVC (Rails, Spring), MVP (Angular), … • Architecture: the lost years • https://www.youtube.com/watch?v=HhNIttd87xs 24/33 http://97things.oreilly.com/wiki/index.php/Home_Page_for_97_Things
• Nos “obliga” a conocer el lenguaje • No es orientado a objetos • Inmutabilidad “gratis” • Paralelismo y concurrencia masivas • Sin efectos de lado 26/33
Map-Reduce, Lambda architecture, Kappa architecture… • Depende fuertemente del estado de la tecnología • Migrando hacia patrones puramente funcionales 27/33