He recibido últimamente muchos correos y comentarios respecto al taller, y verdaderamente estoy muy contento por el interés sobre el mismo (ver mapa). Esto demuestra una vez más que no estoy equivocado al pensar que muchos desarrolladores se han quedado en la "programación básica" (scripting, procedural) y quieren pasar al "siguiente nivel", la Programación Orientada a Objetos (POO). También es un indicio que creo que confirma que no existen buenos libros o materiales que aborden medianamente de forma sencilla y pragmática el tema de la POO sobre PHP, y en particular, sobre la versión 5 en adelante. También puede jugar otro factor: el idioma, donde aún más se reduce la cantidad de material "bueno" disponible en nuestro propio idioma (he visto innumerables libros y discrepo con casi todos, el tema se aborda de forma innecesariamente compleja).
Espero poder aportar una solución al respecto transmitiendo mi experiencia en el área, criterios adoptados, metodologías implementadas, todo abordado de forma directa y simple.
Lo que voy a hacer a continuación es responder las dudas que he recibido y comentarles algunos detalles que tengo en mente para aplicarlos al taller.
Primero, algunas puntualizaciones / aclaraciones
- Es un taller "piloto": esta es mi primer experiencia real armando un taller a distancia. A pesar de contar con experiencia en el tema a tratar y haber dictado varios cursos, estos fueron fundamentalmente "presenciales" (docente y alumnos cara a cara). Por esa razón vuelvo a aclarar: quiero investigar y adquirir experiencia en este nueva área, por lo tanto iremos haciendo "camino al andar" y experimentando durante el proceso. Por lo tanto, cometeremos errores y el transcurso no será perfecto.
- Es un taller, no es un curso: ni es un taller presencial, es a distancia, por lo cual la metodología y la forma de dictarlo cambia notablemente. Tanto para ustedes como para mi. Y recalco el concepto de taller: un curso se piensa muchas veces con un docente delante de un pizarrón dictando y explicando un tema. En un taller la óptica y la didáctica cambian notablemente: se debe ser mucho más práctico y directo. La idea es que el taller lo armamos todos, yo aporto mis conocimientos en el tema y lo gestiono como si fuera una "empresa", asignaremos temas / desafíos / problemas a resolver / solicitud de informes / etc y tendrán una semana para resolverlos. Esta es al unidad de tiempo que me parece más productiva.
- La mayor parte del trabajo la tienen que hacer ustedes: como decía en el punto anterior, esto no es un curso y no es "pasivo", ustedes van a tener que resolver las tareas que se les van a ir proponiendo, por lo tanto su progreso dependerá directamente del esfuerzo que apliquen para cumplirlas. Yo me encargaré de mantener la organización y la gestión global del taller.
- Se busca que aprendan "a aprender": no se dará nada digerido de antemano. Tendrán que resolver muchos problemas de cero, y tendrán que ser "autodidactas", como sucede siempre durante nuestra vida profesional.
- Pretendo que el temario sea real y sumamente práctico: busco crear un contexto similar al de estar trabajando para una empresa de desarrollo web a distancia. Usaremos muchas herramientas y metodologías que he usado en trabajos con estas características. Por lo tanto, sumaríamos no solo experiencia en POO sobre PHP5, sino también en "teletrabajo" y en desarrollo real de aplicaciones web.
- Tiempo de dedicación: mi idea es que el taller no debe ser extremadamente exigente, por lo que se dividirá en tareas semanales que podrán ser realizadas en cualquier momento de la semana, eso dependerá de la administración que hagamos cada uno sobre nuestro tiempo personal. Es mi opinión que así debería ser en un contexto de "teletrabajo profesional", no que alguien te obligue a estar permanentemente disponible 8 horas diarias a través de un msn, skype o gtalk (eso es esclavitud a distancia).
- Dos etapas claras, "nivelación y desarrollo real": el primer mes será "nivelador", tratando de tocar de la forma más simple y directa todos los conceptos y las herramientas base para poder trabajar en la siguiente etapa. El segundo mes se dividirán en varios grupos con un "líder" para cada uno, donde yo interactuaré con ellos para que luego dividan los trabajos y asignen responsabilidades a pequeños equipos de no más de dos personas. Y la idea es que la dificultad sea progresiva e ir aprendiendo con la práctica, aplicando los conceptos y recibiendo constantemente correcciones y sugerencias.
- Esfuerzo y compromiso: a pesar de que el taller es gratuito, la idea es que exista un compromiso para cumplir cada cada tarea asignada. Buscaré reproducir "mi ideal" de empresa de "trabajo a distancia", quién no cumpla mínimamente con lo asignado será retirado del taller (como sucedería en cualquier empresa normal).
- Mi rol será el de BDFL ;-): o en otras palabras, un seudo "Gerente de Proyecto" que dictará las órdenes a diestra y siniestra, tratando de buscar la mejor forma de transmitir "conocimientos base" sobre desarrollo orientado a objetos usando PHP5 y un conjunto de herramientas y metodologías, y en lo posible, de la forma más sencilla que se me ocurra.
La idea global es fingir que estamos en una empresa, pero vuelvo a repetir, es un
"taller piloto" y estaremos haciendo muchas pruebas y cometiendo muchos errores. Por lo tanto, hay que tener paciencia, y muchas de las características que quiero aplicar
son "ideas e intenciones" que espero que la realidad me permita implementarlas.Espero vuestros comentarios, sugerencias y críticas ;-)