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

Historia de una gran bola de lodo escrita en ja...

Historia de una gran bola de lodo escrita en javascript. Parte I

Charla impartida en la CommitConf 2019.
Estas slides sólo tienen utilidad si se ve la charla. Cuando salga la grabación la adjuntaré aquí.

Redumen
Javascript es sin dudas el lenguaje más versátil y popular de la era de Internet y a la vez el que más disciplina y fundamentos de ingeniería de software exige para escribir código mantenible.

Me gustaría contaros cómo Javascript y Node.js nos permitieron hace 7 años añadir funcionalidades a velocidad de crucero como si no hubiese mañana y competir con los principales productos del ecosistema social media.

También me gustaría contaros cómo esa dinámica nos llevo a escribir una gran bola de lodo y cómo tuvimos que pagar la deuda y sus no pocos intereses para poder reaccionar a los cambios del mercado y la evolución del stack.

En algún punto entendimos que arquitectura hexagonal y domain driven design serían nuestro aliados. ¿Cómo aplicas todo esto con un equipo pequeño y al que todo esto le viene de nuevas sin dejar de añadir valor a tus clientes? La respuesta a esta pregunta será el centro de esta charla. Hablaremos de cómo nos tuvimos que reciclar como equipo, cuál fue nuestro plan de evolución de la arquitectura y cómo typescript jugó un papel fundamental.

De todas estas etapas veremos algunos ejemplos de código espagueti, implementación de clean architecture con javascript y arquitectura hexagonal y DDD con typescript, todos conviviendo en el mismo monolito.

Como el título deja ver esta historia tiene segunda parte y aún se está escribiendo, tratará sobre cómo estamos viviendo el desacoplado del monolito.

Alfredo Artiles

November 20, 2019
Tweet

More Decks by Alfredo Artiles

Other Decks in Programming

Transcript

  1. Alfredo Artiles Co-founder & CTO @aartiles24 Historia de una Gran

    Bola de Lodo escrita en JavaScript Parte I
  2. ๏Cubano de nacimiento y cordobés de adopción. ๏Lic. en Ciencias

    de la Computación por la Universidad Central de Las Villas ๏Investigador en el grupo investigación EATCO de la UCO ๏Emprendedor en proyectos como MayoCordobés, e24Presenter, FollowFriday.com y Audiense ๏Combino mi pasión por el desarrollo de software con el ajedrez, el deporte y mi familia ¿Quién Soy?
  3. Agenda ๏ ¿Qué factores influyen en nuestra velocidad de entrega

    de software? ๏ Historia de nuestra Gran Bola de Lodo ๏ Enséñame tus Hexágonos
  4. La solución a nuestros miedos ๏Mantenibilidad del código ๏Arquitectura débilmente

    acoplada ๏Monitorización ๏Despliegues automáticos ๏Integración continua ๏Trunk based development
  5. ¿Cuándo deja de ser bueno un monolito? ๏Necesidades de escalabilidad

    independiente de diferentes componentes del dominio ๏Diferentes componentes o módulos necesitan escribirse en diferentes lenguajes ๏Necesidad de despliegues independientes ๏Big ball of mud
  6. Code is going to get messy. There is no shame

    in that. Seeing code as messy is a sign that you have learned something. Kent Beck
  7. Big design up front is dumb. Doing no design up

    front is even dumber. Dave Thomas
  8. Lecciones Aprendidas ๏No podemos olvidarnos del diseño previo ๏El diseño

    es el código ๏El coste de la calidad compensa ๏Arquitecto no es un rango ni un rol individual ๏La solución a los problemas de un monolito no siempre es microservicios
  9. Hay miles de métodos pero sólo unos pocos principios. Quien

    entiende los principios podrá elegir sus propios métodos. Quien ignora los principios fracasará con cualquier método. Harrington Emerson