SlideShare une entreprise Scribd logo
1  sur  27
Télécharger pour lire hors ligne
Coding Dojo




              Campus Party México 2011
La programación es una habilidad
que se adquiere, se aprende.
Si quieres mejorar tus habilidades,
            debes practicar, mucho.
El software como artesanía
http://manifesto.softwarecraftsmanship.org/
¿Se acuerdan del
 Manifiesto Ágil?
http://agilemanifesto.org/
Ojo con
                             estos señores



http://agilemanifesto.org/
Robert C. Martin
• UncleBob (@uncleBobMartin)
• Agilista y actualmente Artesano de Software
• Promueve mucho los conceptos:
 • Software Craftsmanship
 • Clean Code
• http://cleancoder.posterous.com/
Dave Thomas

• Mente maestra detrás de “Pragmatic
  Programmers”
• Escribe, edita libros, podcast, screencast
  sobre desarrollo de software
• http://pragdave.pragprog.com/
• “Inventor” de las code katas
¿Que tienen que ver
        estos tipos?
Empecemos de nuevo
¿Que es un Dojo?
“Lugar de la via”
en japonés.
“Lugar de la via”
en japonés.




        se refiere a la búsqueda de la perfección
                       física, moral, mental y espiritual.
Los Samurai, adoptaron esto
debido a su filosofía de vida.

Se empezaron a ocupar
para practicar artes
marciales.
El Coding Dojo se origina
 a través de Code Katas
Code Kata
• La premisa es: Practicar, practicar y
  practicar.
• La idea es ejercitarte.
• No solo conozcas la teoría, ponla a prueba.
• Obtén retroalimentación, observa
  resultados, experimenta una y otra vez.
Code Kata
• Tomate un tiempo sin interrupciones. Solo
  tu mente (talento e idea) y tu maquina.
• Define algo simple que quieres hacer.
• Para lograr tu objetivo debes sentirte
  cómodo cometiendo errores. Intenta tantas
  veces como sea necesario.
• Busca siempre retroalimentación.
¿Que pasa si no tengo
idea de algún ejercicio?
Lugares con Katas
•   http://codekata.pragprog.com/
•   http://www.butunclebob.com/
    ArticleS.UncleBob.TheBowlingGameKata
•   http://katas.softwarecraftsmanship.org/
•   http://codingkata.org/
•   http://www.katacasts.com/
•   En español:
    •   http://www.idlebit.es/codekatas/
    •   http://www.12meses12katas.com/
ProgrammingPraxis

• No necesariamente un sitio de katas, pero
  si de muchos ejercicios.
• http://programmingpraxis.com/
Coding Dojo
•   No estas solo, estas con un grupo de amigos.
•   No es competencia, se trata de colaboración.
•   Se propone un desafío y debes resolverlo.
•   Usa tu lenguaje favorito. Pero mejor elige otro para aprenderlo.
•   Dos modalidades.
    •   CodeKata -> Trabajas solo
    •   Randori -> Trabajas en pareja o en grupo, pueden hacer Pair-
        programming
•   Lo ideal es que se use TDD (Test Driven Development)
A trabajar¡¡

• Resolver los desafíos (Siguiente lamina)
• Puedo ayudarles en el proceso, solo
  preguntenme.
• Tengo unos regalos para los que
  completen/avancen mucho los desafíos.
Desafios

• FizzBuzz
 •http://goo.gl/4yO8L
• StringCalculator
 •http://goo.gl/8OzTI
Créditos fotos
•   http://www.flickr.com/photos/zenonline/3431365556
•   http://www.flickr.com/photos/heycoach/1197947341/
•   http://www.flickr.com/photos/thart2009/3560809129/
•   http://www.flickr.com/photos/habeebclicks/4716528771/
•   http://www.flickr.com/photos/drachmann/327122302/
•   http://www.flickr.com/photos/dumbo/42958842/
•   http://www.flickr.com/photos/
    54459164@N00/4611679307/
•   http://www.flickr.com/photos/evaysucamara/5494953658/

Contenu connexe

En vedette

Webinar: Groovy y la producttividad para el desarrollador Java
Webinar: Groovy y la producttividad para el desarrollador JavaWebinar: Groovy y la producttividad para el desarrollador Java
Webinar: Groovy y la producttividad para el desarrollador JavaDomingo Suarez Torres
 
Escribir código y ganarse la vida de paso
Escribir código y ganarse la vida de pasoEscribir código y ganarse la vida de paso
Escribir código y ganarse la vida de pasoDomingo Suarez Torres
 
SGCE 2012 Lightning Talk-Single Page Interface
SGCE 2012 Lightning Talk-Single Page InterfaceSGCE 2012 Lightning Talk-Single Page Interface
SGCE 2012 Lightning Talk-Single Page InterfaceDomingo Suarez Torres
 
Serling dev team, development process
Serling dev team, development processSerling dev team, development process
Serling dev team, development processDomingo Suarez Torres
 

En vedette (6)

Webinar: Groovy y la producttividad para el desarrollador Java
Webinar: Groovy y la producttividad para el desarrollador JavaWebinar: Groovy y la producttividad para el desarrollador Java
Webinar: Groovy y la producttividad para el desarrollador Java
 
ITT Flisol 2013
ITT Flisol 2013ITT Flisol 2013
ITT Flisol 2013
 
Escribir código y ganarse la vida de paso
Escribir código y ganarse la vida de pasoEscribir código y ganarse la vida de paso
Escribir código y ganarse la vida de paso
 
PCJ Sesión 10: Development
PCJ Sesión 10: DevelopmentPCJ Sesión 10: Development
PCJ Sesión 10: Development
 
SGCE 2012 Lightning Talk-Single Page Interface
SGCE 2012 Lightning Talk-Single Page InterfaceSGCE 2012 Lightning Talk-Single Page Interface
SGCE 2012 Lightning Talk-Single Page Interface
 
Serling dev team, development process
Serling dev team, development processSerling dev team, development process
Serling dev team, development process
 

Similaire à Coding Dojo: Aprende programando con katas

Crecimiento profesional como desarrollador de software
Crecimiento profesional como desarrollador de softwareCrecimiento profesional como desarrollador de software
Crecimiento profesional como desarrollador de softwareDanae Aguilar Guzmán
 
Coding dojo - Kata The Cube
Coding dojo - Kata The CubeCoding dojo - Kata The Cube
Coding dojo - Kata The CubeOriol del Barrio
 
Presentacion programador apasionado
Presentacion programador apasionadoPresentacion programador apasionado
Presentacion programador apasionadoEdwin Cruz
 
TDD y Python
TDD y PythonTDD y Python
TDD y PythonJavier_J
 
Desarrollando en la web con todo el power 2.0
Desarrollando en la web con todo el power 2.0Desarrollando en la web con todo el power 2.0
Desarrollando en la web con todo el power 2.0Fredy Guibert
 
Kodu game lab
Kodu game labKodu game lab
Kodu game labutopiw
 
Cómo aplicar TDD. Almería 13/05/2014
Cómo aplicar TDD. Almería 13/05/2014Cómo aplicar TDD. Almería 13/05/2014
Cómo aplicar TDD. Almería 13/05/2014Javier_J
 
Cómo terminar los proyectos personales que se empiezan ...o no!
Cómo terminar los proyectos personales que se empiezan ...o no!Cómo terminar los proyectos personales que se empiezan ...o no!
Cómo terminar los proyectos personales que se empiezan ...o no!Carlos Cabo González
 
Trabajando con código heredado y ser feliz
Trabajando con código heredado y ser felizTrabajando con código heredado y ser feliz
Trabajando con código heredado y ser felizDiego Caballero
 
¿Te Sientes Orgulloso Del CóDigo Que Escribes?
¿Te Sientes Orgulloso Del CóDigo Que Escribes?¿Te Sientes Orgulloso Del CóDigo Que Escribes?
¿Te Sientes Orgulloso Del CóDigo Que Escribes?Israel Antezana Rojas
 
Haz realidad tu proyecto, Cómo hacer una app movil en 30 días
Haz realidad tu proyecto, Cómo hacer una app movil en 30 díasHaz realidad tu proyecto, Cómo hacer una app movil en 30 días
Haz realidad tu proyecto, Cómo hacer una app movil en 30 díasDavid Muñoz Gaete
 
Artesano de software | software guru conference| SGCE 2014
Artesano de software | software guru conference| SGCE 2014Artesano de software | software guru conference| SGCE 2014
Artesano de software | software guru conference| SGCE 2014Juan Velez Ballesteros
 
Presentacion Programador Apasionado
Presentacion Programador ApasionadoPresentacion Programador Apasionado
Presentacion Programador ApasionadoEdwin Cruz
 

Similaire à Coding Dojo: Aprende programando con katas (20)

Coding dojo
Coding dojoCoding dojo
Coding dojo
 
Crecimiento profesional como desarrollador de software
Crecimiento profesional como desarrollador de softwareCrecimiento profesional como desarrollador de software
Crecimiento profesional como desarrollador de software
 
Kleer yoseki coding dojo - 2012-08-03 - medellín
Kleer   yoseki coding dojo - 2012-08-03 - medellínKleer   yoseki coding dojo - 2012-08-03 - medellín
Kleer yoseki coding dojo - 2012-08-03 - medellín
 
Coding dojo - Kata The Cube
Coding dojo - Kata The CubeCoding dojo - Kata The Cube
Coding dojo - Kata The Cube
 
Presentacion programador apasionado
Presentacion programador apasionadoPresentacion programador apasionado
Presentacion programador apasionado
 
TDD y Python
TDD y PythonTDD y Python
TDD y Python
 
Coding Dojo
Coding DojoCoding Dojo
Coding Dojo
 
Computacion conocimientos
Computacion conocimientosComputacion conocimientos
Computacion conocimientos
 
El arte de programar
El arte de programarEl arte de programar
El arte de programar
 
Desarrollando en la web con todo el power 2.0
Desarrollando en la web con todo el power 2.0Desarrollando en la web con todo el power 2.0
Desarrollando en la web con todo el power 2.0
 
BDD & Cucumber
BDD & CucumberBDD & Cucumber
BDD & Cucumber
 
Kodu game lab
Kodu game labKodu game lab
Kodu game lab
 
Cómo aplicar TDD. Almería 13/05/2014
Cómo aplicar TDD. Almería 13/05/2014Cómo aplicar TDD. Almería 13/05/2014
Cómo aplicar TDD. Almería 13/05/2014
 
Cómo terminar los proyectos personales que se empiezan ...o no!
Cómo terminar los proyectos personales que se empiezan ...o no!Cómo terminar los proyectos personales que se empiezan ...o no!
Cómo terminar los proyectos personales que se empiezan ...o no!
 
Trabajando con código heredado y ser feliz
Trabajando con código heredado y ser felizTrabajando con código heredado y ser feliz
Trabajando con código heredado y ser feliz
 
¿Te Sientes Orgulloso Del CóDigo Que Escribes?
¿Te Sientes Orgulloso Del CóDigo Que Escribes?¿Te Sientes Orgulloso Del CóDigo Que Escribes?
¿Te Sientes Orgulloso Del CóDigo Que Escribes?
 
Elaboración de prototipos
Elaboración de prototiposElaboración de prototipos
Elaboración de prototipos
 
Haz realidad tu proyecto, Cómo hacer una app movil en 30 días
Haz realidad tu proyecto, Cómo hacer una app movil en 30 díasHaz realidad tu proyecto, Cómo hacer una app movil en 30 días
Haz realidad tu proyecto, Cómo hacer una app movil en 30 días
 
Artesano de software | software guru conference| SGCE 2014
Artesano de software | software guru conference| SGCE 2014Artesano de software | software guru conference| SGCE 2014
Artesano de software | software guru conference| SGCE 2014
 
Presentacion Programador Apasionado
Presentacion Programador ApasionadoPresentacion Programador Apasionado
Presentacion Programador Apasionado
 

Plus de Domingo Suarez Torres

Cloud Native MX Meetup - Asegurando tu Cluster de Kubernetes
Cloud Native MX Meetup - Asegurando tu Cluster de KubernetesCloud Native MX Meetup - Asegurando tu Cluster de Kubernetes
Cloud Native MX Meetup - Asegurando tu Cluster de KubernetesDomingo Suarez Torres
 
Java Dev Day 2019 No kuberneteen por convivir
Java Dev Day 2019  No kuberneteen por convivirJava Dev Day 2019  No kuberneteen por convivir
Java Dev Day 2019 No kuberneteen por convivirDomingo Suarez Torres
 
Retos en la arquitectura de Microservicios
Retos en la arquitectura de MicroserviciosRetos en la arquitectura de Microservicios
Retos en la arquitectura de MicroserviciosDomingo Suarez Torres
 
DevFest Lima Corriendo cargas e trabajo seguras en GKE con Istio
DevFest Lima Corriendo cargas e trabajo seguras en GKE con IstioDevFest Lima Corriendo cargas e trabajo seguras en GKE con Istio
DevFest Lima Corriendo cargas e trabajo seguras en GKE con IstioDomingo Suarez Torres
 
Cloud Native Mexico - Introducción a Kubernetes
Cloud Native Mexico - Introducción a KubernetesCloud Native Mexico - Introducción a Kubernetes
Cloud Native Mexico - Introducción a KubernetesDomingo Suarez Torres
 
Meetup DigitalOcean Cloud Native architecture
Meetup DigitalOcean Cloud Native architectureMeetup DigitalOcean Cloud Native architecture
Meetup DigitalOcean Cloud Native architectureDomingo Suarez Torres
 
Cloud Native Mexico Meetup de Marzo 2018 Service Mesh con Istio y Envoy
Cloud Native Mexico Meetup de Marzo 2018 Service Mesh con Istio y EnvoyCloud Native Mexico Meetup de Marzo 2018 Service Mesh con Istio y Envoy
Cloud Native Mexico Meetup de Marzo 2018 Service Mesh con Istio y EnvoyDomingo Suarez Torres
 
Cloud Native Mexico Meetup enero 2018 Observability
Cloud Native Mexico Meetup enero 2018 ObservabilityCloud Native Mexico Meetup enero 2018 Observability
Cloud Native Mexico Meetup enero 2018 ObservabilityDomingo Suarez Torres
 
Orquestación de contenedores con Kubernetes SGNext
Orquestación de contenedores con Kubernetes SGNextOrquestación de contenedores con Kubernetes SGNext
Orquestación de contenedores con Kubernetes SGNextDomingo Suarez Torres
 
Webinar Arquitectura de Microservicios
Webinar Arquitectura de MicroserviciosWebinar Arquitectura de Microservicios
Webinar Arquitectura de MicroserviciosDomingo Suarez Torres
 

Plus de Domingo Suarez Torres (20)

Cloud Native MX Meetup - Asegurando tu Cluster de Kubernetes
Cloud Native MX Meetup - Asegurando tu Cluster de KubernetesCloud Native MX Meetup - Asegurando tu Cluster de Kubernetes
Cloud Native MX Meetup - Asegurando tu Cluster de Kubernetes
 
Java Dev Day 2019 No kuberneteen por convivir
Java Dev Day 2019  No kuberneteen por convivirJava Dev Day 2019  No kuberneteen por convivir
Java Dev Day 2019 No kuberneteen por convivir
 
Contenedores 101 Digital Ocean CDMX
Contenedores 101 Digital Ocean CDMXContenedores 101 Digital Ocean CDMX
Contenedores 101 Digital Ocean CDMX
 
Retos en la arquitectura de Microservicios
Retos en la arquitectura de MicroserviciosRetos en la arquitectura de Microservicios
Retos en la arquitectura de Microservicios
 
Java Cloud Native Hack Nights GDL
Java Cloud Native Hack Nights GDLJava Cloud Native Hack Nights GDL
Java Cloud Native Hack Nights GDL
 
meetup digital ocean kubernetes
meetup digital ocean kubernetesmeetup digital ocean kubernetes
meetup digital ocean kubernetes
 
Peru JUG Micronaut & GraalVM
Peru JUG Micronaut & GraalVMPeru JUG Micronaut & GraalVM
Peru JUG Micronaut & GraalVM
 
DevFest Lima Corriendo cargas e trabajo seguras en GKE con Istio
DevFest Lima Corriendo cargas e trabajo seguras en GKE con IstioDevFest Lima Corriendo cargas e trabajo seguras en GKE con Istio
DevFest Lima Corriendo cargas e trabajo seguras en GKE con Istio
 
Cloud Native Development in the JVM
Cloud Native Development in the JVMCloud Native Development in the JVM
Cloud Native Development in the JVM
 
Cloud Native Mexico - Introducción a Kubernetes
Cloud Native Mexico - Introducción a KubernetesCloud Native Mexico - Introducción a Kubernetes
Cloud Native Mexico - Introducción a Kubernetes
 
Meetup DigitalOcean Cloud Native architecture
Meetup DigitalOcean Cloud Native architectureMeetup DigitalOcean Cloud Native architecture
Meetup DigitalOcean Cloud Native architecture
 
Cloud Native Mexico Meetup de Marzo 2018 Service Mesh con Istio y Envoy
Cloud Native Mexico Meetup de Marzo 2018 Service Mesh con Istio y EnvoyCloud Native Mexico Meetup de Marzo 2018 Service Mesh con Istio y Envoy
Cloud Native Mexico Meetup de Marzo 2018 Service Mesh con Istio y Envoy
 
Cloud Native Mexico Meetup enero 2018 Observability
Cloud Native Mexico Meetup enero 2018 ObservabilityCloud Native Mexico Meetup enero 2018 Observability
Cloud Native Mexico Meetup enero 2018 Observability
 
Cloud Native Mexico Presentacion
Cloud Native Mexico PresentacionCloud Native Mexico Presentacion
Cloud Native Mexico Presentacion
 
gRPC: Beyond REST
gRPC: Beyond RESTgRPC: Beyond REST
gRPC: Beyond REST
 
Devops Landscape
Devops LandscapeDevops Landscape
Devops Landscape
 
Orquestación de contenedores con Kubernetes SGNext
Orquestación de contenedores con Kubernetes SGNextOrquestación de contenedores con Kubernetes SGNext
Orquestación de contenedores con Kubernetes SGNext
 
JVM Reactive Programming
JVM Reactive ProgrammingJVM Reactive Programming
JVM Reactive Programming
 
SGNext Elasticsearch
SGNext ElasticsearchSGNext Elasticsearch
SGNext Elasticsearch
 
Webinar Arquitectura de Microservicios
Webinar Arquitectura de MicroserviciosWebinar Arquitectura de Microservicios
Webinar Arquitectura de Microservicios
 

Coding Dojo: Aprende programando con katas

  • 1. Coding Dojo Campus Party México 2011
  • 2. La programación es una habilidad que se adquiere, se aprende.
  • 3. Si quieres mejorar tus habilidades, debes practicar, mucho.
  • 4. El software como artesanía
  • 6. ¿Se acuerdan del Manifiesto Ágil?
  • 8. Ojo con estos señores http://agilemanifesto.org/
  • 9. Robert C. Martin • UncleBob (@uncleBobMartin) • Agilista y actualmente Artesano de Software • Promueve mucho los conceptos: • Software Craftsmanship • Clean Code • http://cleancoder.posterous.com/
  • 10. Dave Thomas • Mente maestra detrás de “Pragmatic Programmers” • Escribe, edita libros, podcast, screencast sobre desarrollo de software • http://pragdave.pragprog.com/ • “Inventor” de las code katas
  • 11. ¿Que tienen que ver estos tipos?
  • 13. ¿Que es un Dojo?
  • 14. “Lugar de la via” en japonés.
  • 15. “Lugar de la via” en japonés. se refiere a la búsqueda de la perfección física, moral, mental y espiritual.
  • 16. Los Samurai, adoptaron esto debido a su filosofía de vida. Se empezaron a ocupar para practicar artes marciales.
  • 17. El Coding Dojo se origina a través de Code Katas
  • 18. Code Kata • La premisa es: Practicar, practicar y practicar. • La idea es ejercitarte. • No solo conozcas la teoría, ponla a prueba. • Obtén retroalimentación, observa resultados, experimenta una y otra vez.
  • 19. Code Kata • Tomate un tiempo sin interrupciones. Solo tu mente (talento e idea) y tu maquina. • Define algo simple que quieres hacer. • Para lograr tu objetivo debes sentirte cómodo cometiendo errores. Intenta tantas veces como sea necesario. • Busca siempre retroalimentación.
  • 20. ¿Que pasa si no tengo idea de algún ejercicio?
  • 21. Lugares con Katas • http://codekata.pragprog.com/ • http://www.butunclebob.com/ ArticleS.UncleBob.TheBowlingGameKata • http://katas.softwarecraftsmanship.org/ • http://codingkata.org/ • http://www.katacasts.com/ • En español: • http://www.idlebit.es/codekatas/ • http://www.12meses12katas.com/
  • 22.
  • 23. ProgrammingPraxis • No necesariamente un sitio de katas, pero si de muchos ejercicios. • http://programmingpraxis.com/
  • 24. Coding Dojo • No estas solo, estas con un grupo de amigos. • No es competencia, se trata de colaboración. • Se propone un desafío y debes resolverlo. • Usa tu lenguaje favorito. Pero mejor elige otro para aprenderlo. • Dos modalidades. • CodeKata -> Trabajas solo • Randori -> Trabajas en pareja o en grupo, pueden hacer Pair- programming • Lo ideal es que se use TDD (Test Driven Development)
  • 25. A trabajar¡¡ • Resolver los desafíos (Siguiente lamina) • Puedo ayudarles en el proceso, solo preguntenme. • Tengo unos regalos para los que completen/avancen mucho los desafíos.
  • 26. Desafios • FizzBuzz •http://goo.gl/4yO8L • StringCalculator •http://goo.gl/8OzTI
  • 27. Créditos fotos • http://www.flickr.com/photos/zenonline/3431365556 • http://www.flickr.com/photos/heycoach/1197947341/ • http://www.flickr.com/photos/thart2009/3560809129/ • http://www.flickr.com/photos/habeebclicks/4716528771/ • http://www.flickr.com/photos/drachmann/327122302/ • http://www.flickr.com/photos/dumbo/42958842/ • http://www.flickr.com/photos/ 54459164@N00/4611679307/ • http://www.flickr.com/photos/evaysucamara/5494953658/

Notes de l'éditeur

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n