Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Arquitectura de software en un mundo post-arquitectura

Nando Sola
September 11, 2015

Arquitectura de software en un mundo post-arquitectura

Slides de la conferencia a las alumnas y alumnos del ciclo de Ingeniero en Software (ISW) de la Universidad de Sonora en Guaymas.

Nando Sola

September 11, 2015
Tweet

More Decks by Nando Sola

Other Decks in Technology

Transcript

  1. SOBRE MI • En esto desde mi primer Commodore VIC-20

    • 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
  2. TRABAJO EN EQUIPO • Objetivo: ganar dinero • Comerciales y

    finanzas • Expertos en el dominio • Desarrolladores • Data scientists • DevOps • Trabajo remoto • ¿Arquitecto? 9/33
  3. MIS 0,02 € • Hay proyectos y empresas que apuestan

    por tener arquitectos dedicados en plantilla • Respeta y escucha a los desarrolladores • Fórmate de manera constante • Sigue programando 12/33
  4. MIS 0,02 € • En la mayoría de startups y

    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
  5. TL;DR • Elegir el diseño más simple para resolver un

    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
  6. MIS 0,02 € • Cada 10 años se renueva el

    debate distribuido vs centralizado • ¿Ocurrirá otra vez? 18/33
  7. DOMAIN-DRIVEN DESIGN Inmutabilidad Lenguaje unívoco Inmutabilidad Inmutabilidad Orientación a objetos

    extrema Separación de contextos Dominios complejos http://dddcommunity.org/ 22/33
  8. MIS 0,02€ • No siempre estamos resolviendo grandes problemas •

    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
  9. PROGRAMACION FUNCIONAL • Muchos de los patrones “tradicionales” no aplican

    • Nos “obliga” a conocer el lenguaje • No es orientado a objetos • Inmutabilidad “gratis” • Paralelismo y concurrencia masivas • Sin efectos de lado 26/33
  10. BIG DATA • Una arquitectura nueva cada semana • Offline

    Map-Reduce, Lambda architecture, Kappa architecture… • Depende fuertemente del estado de la tecnología • Migrando hacia patrones puramente funcionales 27/33
  11. PODCASTS • Functional Geekery • The Ruby Rogues • Software

    Engineering Radio • FLOSS Weekly • Hanselminutes 32/33