Busqueda local

Loading

viernes, 5 de octubre de 2012

Análisis del Plan de capacitación para un equipo de desarrollo

Introducción.

Cuando se habla de capacitación para un equipo de desarrollo, siempre surge la preocupación sobre si tendrá el impacto que queremos sobre las habilidades de nuestra gente. No es un secreto que los cursos de capacitación tienen el contenido necesario para poder sentar las bases y que a partir de ese nuevo conocimiento se pueda desarrollar un conjunto de habilidades necesarias para actualizarnos.

Sin embargo esto no es lo que necesitan la mayoría de las empresas, ya que el personal debe ausentarse de la oficina y atrasarse en sus proyectos, para poder participar en los cursos.
Los equipos de desarrollo necesitan actualizarse, esa es una realidad; pero necesitan una alternativa que les permita aprender al mismo tiempo que son productivos, desarrollando nuevas habilidades tecnológicas, que les permitan ser competitivos.


Por que aprender C#?.

Para poder atender las necesidades actuales del área de sistemas, se recomienda llevar a cabo un proceso de preparación en lenguaje C#. Al aprender a codificar en este lenguaje, podremos abrir la posibilidad de incursionar en nuevas tecnologías que les permitirán cubrir aspectos como:
1. Páginas Web con el patrón MVC.
2. SilverLight.
3. Desarrollo de aplicaciones para dispositivos como:
a. WP7
b. Android
c. iOS
Aun que es posible codificar las dos primeras tecnologías empleando VB, no sucede lo mismo para poder incursionar en los dispositivos móviles multi plataforma.
El debate que aun existe sobre si C# es mejor lenguaje que VB, fue uno de los motivos por los cuales tarde mucho tiempo en aprenderlo; sin embargo hoy en día, una vez que me he familiarizado con su sintaxis y forma de hacer las cosas, puedo decirles que me resulta más sencillo de codificar, además que he encontrado algunas características que no son tan sencillas de lograr usando el VB.
Pero el argumento más importante es que si aprenden C#, podrán desarrollar aplicaciones que puedan correr en diferentes plataformas, con muy pocos detalles particulares de cada una de estas.
 

Porque aprender MVC?

Desde su aparición entre las plataformas de Microsoft hace algunos años, ha existido la duda entre quienes programan con el paradigma ASP, si deberían migrar al paradigma MVC.
El modelo de WebForms de ASP.NET es una gran mentira. Nada de lo que se hace usando este modelo tiene algo que ver con el entorno Web.
Surgió en una idea equivocada, que pretendía que los programadores de computadora familiarizados con el estilo de programación de Microsoft en aplicaciones Windows, pudieran trasladar sus habilidades y conocimientos a la web, con muy poco esfuerzo de su parte.
El internet trabaja mediante un protocolo denominado HTTP, y trabaja enviando paginas en HTML, es algo que debemos saber y aceptar, para poder incursionar en el verdadero desarrollo de aplicaciones web.
MVC nos ofrece un completo control sobre la generación del HTML que será enviado a los clientes; nos permite extender las funcionalidades y establece los lineamientos para que hagamos nuestro trabajo dentro de estándares y patrones bien definidos y probados; MVC nos ofrece una arquitectura solida, que harán nuestro código más eficiente y fácil de mantener.
 

Por que aprender Silverlight?

Aun que no existe un orden de precedencia con respecto a aprender MVC y después Silverlight, creo que si partimos del grado de complejidad y de innovaciones a las que se debe enfrentar un programador que incursiona por primera vez en estas tecnologías, entonces el segundo paso –después de aprender C#- seria aprender MVC y una vez que se sientan seguros avanzar hacia el Expression Studio.
Si dentro de nuestras metas se encuentra llegar a desarrollar aplicaciones para dispositivos móviles, que puedan ser desarrollas con la visión de reutilización desde el principio, entonces no podemos pasar por alto aprender este paradigma de desarrollo.
 

Y después que sigue?

Una vez que hayan avanzado en estas tecnologías y se sientan a gusto con los nuevos conceptos que se deberán asimilar, estarán listos para dar el último paso: Desarrollo de aplicaciones Multi plataforma.
A pesar que hasta el final aprenderemos a programar para diferentes plataformas, la idea del curso consiste en avanzar desde la capacitación en C#, para llevar al equipo de desarrollo al siguiente nivel, que consiste en consolidar los conocimientos que adquirieron.
Repasaremos y consolidaremos conceptos, patrones y modelos de desarrollo como:
  • Entidades.
  • Extensiones.
  • ViewModels
  • Repositorios.
  • Servicios y APIs.
  • Esquemas de seguridad.
  • Reutilización de código.
  • Helpers.
  • Http web response.
  • Entre muchos otros.
 

Proyecto de capacitación.

Creo que si empezamos el plan de capacitación como parte del desarrollo de un proyecto real, que pueda irse construyendo poco a poco, sin la urgencia de tener una fecha límite, los participantes, podrán asimilar las tecnologías sin sentir la presión de un proyecto critico.
Independientemente del esquema que decidan aplicar para este proceso de capacitación, yo les recomiendo aprovechar el proceso para realizar el repaso de todas las etapas del desarrollo de un sistema, ya que de esta forma tendrían la oportunidad de opinar sobre aquello que sería mejor para el proyecto con una visión como la que hemos platicado en este articulo.
 

Cometario final.

El área de sistemas de una empresa siempre se encuentra en el dilema de atender a sus clientes o sacrificar los resultados para poder mantenerse actualizado. Un sistema de capacitación que les permita crear algo útil para la empresa mientras se capacitan es la solución más apropiada.



























No hay comentarios:

Publicar un comentario