¿Por qué asistir?

Software Craftsmanship es el corazón de este curso. A lo largo de este curso, tu equipo aprenderá sobre la mentalidad de Software Craftsmanship y cómo aplicarla dentro de la organización.

Escribir Clean Code no es fácil; y limpiar código existente todavía menos. Tu equipo debe asistir si necesita:

  • Alinear la tecnología con los requerimientos del negocio
  • Escribir código limpio que sea fácil de entender y mantener
  • Mejorar sus competencias en Test-Driven Development (TDD): usando testing para diseñar y construir

El código limpio requiere un buen diseño. Tu equipo aprenderá:

  • A comprender los principios de diseño que conducen a un código limpio
  • A evitar la sobre-ingeniería y las grandes reescrituras mediante un diseño que evolucione gradualmente utilizando pruebas

Una vez que tu equipo domine estos principios podrá aplicarlos a código heredado. Esto les permitirá ganar confianza trabajando con legacy code.

La parte de diseño de software de esta serie de capacitación se centra al nivel de aplicaciones y microservicios utilizando los requisitos comerciales para impulsar el diseño.

Aplicaciones:

  • estructura interna
  • capas
  • componentes
  • mecanismo de entrega
  • core domain

Microservicios:

  • definir la responsabilidad de cada servicio
  • cómo colaboran los servicios
  • visibilidad interna / externa
Audiencia

Este curso está diseñado para equipos de desarrollo de software:

  • familiarizados con un nivel mínimo de lenguaje orientado a objetos
  • con competencias en Java o C#
  • capaces de escribir y ejecutar pruebas unitarias utilizando un framework (como JUnit, NUnit, etc.)
  • con un comprensión básica de los mock objects
Contenido del curso

Principios de:

  • Test-Driven Development (TDD)
  • Object-Oriented Design (OOD)
  • Domain-Driven Design (DDD)
  • Interaction-Driven Design (IDD)

Contenido:

  • Ciclo de vida TDD y modelado de comportamientos
  • Escritura de pruebas unitarias que expresan intención, no implementación
  • Utilizando pruebas unitarias para conseguir un buen diseño
  • Expressive code
  • Probar y refactorizar código heredado
  • Cómo estructurar proyectos para que expresen lo que hace la aplicación y de qué se trata
  • Comprender las diferencias entre capas, hexágonos, características y componentes
  • Identificación de servicios a partir de reglas comerciales
  • Expresar diseño y arquitectura en código, pero manteniendo claridad en el dominio
  • Comprender Impact Mapping como técnica y cómo se puede derivar una arquitectura de servicios a partir de ella
Prerequisitos

Se trata de un curso totalmente práctico, así que se requerirá que los equipos de desarrollo de software escriban mucho código.

Necesario:

  • Tener disponible tu propio ordenador portátil
  • Ser capaz de crear proyectos, construir código fuente y ejecutar casos de prueba en su entorno de desarrollo
  • Tener un entorno de desarrollo que conste de lo siguiente:
    • Lenguaje orientado a objetos
    • Un framework the unit testing
    • Una librería para hacer mocking
  • Se recomienda un sistema de control de versiones distribuido como por ejemplo Github
COURSE INSTRUCTOR Sandro Mancuso

Software craftsman, escritor, cofundador de Codurance y fundador de la London Software Craftsmanship Community (LSCC). Sandro ha estado programando desde muy joven, y comenzó su carrera profesional en 1996. Ha trabajado para startups, empresas de software , empresas de productos, empresas de consultoría internacional y bancos de inversión.

Durante su carrera, Sandro tuvo la oportunidad de trabajar en gran variedad de proyectos, con diferentes idiomas, tecnologías y en muchas industrias diferentes. Sandro tiene mucha experiencia en llevar la ideología de Software Craftsmanship y las prácticas de Programación Extrema a organizaciones de todos los tamaños. Sandro es reconocido internacionalmente por su trabajo en la evolución y difusión de Software Craftsmanship y con frecuencia es invitado como speaker en muchas conferencias en todo el mundo. Su aspiración profesional es elevar el nivel de la industria del software ayudando a los desarrolladores a mejorar y preocuparse más por su oficio.

Estos son algunos de nuestros clientes

Asos logo Aspect Capital logo Flextrade logo M&G Investments logo Moonpig logo Societe Generale logo Roche logo Vistaprint logo Schibsted logo Siemens logo lastminute_logo

Hablemos de cuáles son tus necesidades en training.

Nos encantaría saber más sobre tu negocio. Descubre cómo nuestros programas de training pueden impulsar tus equipos tecnológicos.