sábado, 19 de diciembre de 2009

Las habilidades más importantes para los programadores del futuro

Navegando por la web, encontré desde 2ideas un listado de algunas habilidades deseadas en los programadores de aquí a 5 años. Muy importante tratar de formarnos en al menos 4 de estas áreas si queremos estar actualizados y ser competitivos en el campo tecnológico. No importa si la formación es autodidacta o si es académica, he notado que lo importante es manejar los conceptos generales, y a partir de ahí uno se va especializando, ojo es imposible ser un especialista en todos y cada una de las habilidades que listare a continuación:
  • Uno de los "3 Grandes" (Java, .NET, PHP) A menos que ocurra algún cambio radical en el mundo del desarrollo, la mayoría de los desarrolladores van a necesitar conocer alguno de los tres grandes sistemas de desarrollo: Java , .NET (VB.NET o C#), o PHP. Y tampoco alcanza con conocer al lenguaje principal, a medida que los proyectos crecen y van acaparando más funcionalidad, vamos a necesitar conocer los frameworks y librerías asociadas con profundidad.
  • Aplicaciones Ricas de Internet (RIA - Rich Internet Applications) Lo pueden amar u odiar, pero en los últimos años Flash se está usando para algo más que animaciones graciosas. Flash también obtuvo funcionalidad adicional en la forma de Flex y AIR. Los competidores de Flash, como JavaFX y Silverlight, también están mejorando en caracerísticas y performance. Los navegadores están mejorando sus motores JavaScript, el cual se perfila como una plataforma de aplicaciones web. Para hacer las cosas más complicadas, HTML 5 va a incorporar montón de funcionalidad RIA, incluyendo conexión a la base de datos, poniendo así el sello formal de la W3C a AJAX. En el futuro cercano, tener experiencia en RIA va a ser un factor determinante en nuestro currículum.
  • Desarrollo web El desarrollo web no va a desaparecer en el futuro. Muchos desarrolladores hasta ahora estuvieron felices ignorando la web, o sólo quedándose con "lo básico" que les brindaba su framework. Pero las empresas están demandando más y más a quienes realmente conocen cómo trabajar con las tecnologías subyacentes. Así que
    deberemos mejorar nuestros conocimientos de JavaScript, CSS y HTML para tener éxito en los próximos cinco años.
  • Servicios web ¿REST o SOAP? ¿JSON o XML? Aunque las elecciones y las respuestas dependen del proyecto, cada vez es más dificil ser un desarrollador sin tener que consumir Servicios Web (incluso aunque nuestro desarrollo no sea una aplicación Web).
  • Desarrollar habilidades humanas Hay una tendencia que viene ocurriendo hace ya un tiempo: la creciente visibilidad de IT dentro y fuera de la organización. Los desarrolladores están participando más y más de reuniones que no son de desarrollo y de procesos para obtener feedback de ellos. Por ejemplo, el presidencia no puede cambiar las reglas de contabilidad sin trabajar junto a IT para actualizar el sistema. Y un gerente de operaciones no puede cambiar el proceso de los call center sin que IT actualice el workflow de trabajo. De la misma forma, los clientes a menudo necesitan trabajar directamente con los equipos de desarrollo para asegurarse que se cumplan sus necesidades. ¿Va a ser necesario que todos los desarrolladores estudien Cómo hacer amigos e influenciar personas? No. Pero los desarrolladores que lo logren van a ser mucho más valiosos para sus empleadores - y serán muy buscados en el mercado.
  • Un lenguaje de programación dinámico y/o funcional Los lenguajes como Ruby, Python, F# y Groovy todavía no son muy populares - pero si lo son las ideas detrás de ellos. Por ejemplo, el sistema LINQ en .NET es un descendiente directo de las técnicas de programación funcional. Tanto Ruby como Python son cada vez más populares en algunos
    sectores, gracias al framework Rails y Silverlight respectivamente. Aprender uno de estos lenguajes no sólo va a mejorar nuestro currículum, sino también que va a expandir nuestro horizonte. Todos los grandes desarrolladores recomiendan aprender al menos un lenguajes dinámico o funcional para lograr aprender nuevos formas de pensar.
  • Metodologías de desarrollo ágiles A medida que pasa el tiempo, las ideas detras de las metodologias agiles se vuelven más definidas y mejor expresadas. Muchas organizaciones están adoptando metodologias agiles o haciendo pruebas de concepto con metodologias agiles. Aunque metodologias agiles no es la bala de plata para evitar fracasar en un proyecto, definitivamente tiene su lugar en muchos proyectos. Los desarrolladores que tengan experiencia en trabajar y comprender los ambientes Ágiles van a ser cada vez más demandados en los próximos cinco años.
  • Conocimiento de dominio De la mano con las metodologías ágiles, los equipos de desarrollo son cada vez más vistos socios en la definición de proyectos. Esto significa que los desarrolladores que comprendan el problema del dominio van a poder contribuir al proyecto de una forma muy visible y valiosa. Un desarrollador puede decir "Desde aquí, podemos agregar esta funcionalidad muy facilmente, y obtendremos mucho valor", o "Hey, este requerimiento no está acorde al patrón de uso que muestran los logs". Por más que muchos desarrolladores resistan la idea de conocer nada sobre el problema de dominio, no puede negarse que cada vez más organizaciones prefieren (si no incluso requieren) a desarrolladores que al menos comprendan lo básico sobre el negocio.
  • Higiene de desarrollo Hasta hace pocos años atras, muchas (si no todas) las organizaciones no tenían acceso a sistemas de bug tracking, control de versiones y otras herramientas; todo se resumia a los desarrolladores y su IDE preferido. Pero gracias a la creación de nuevos entornos integrados de desarrollo y la explosión de entornos de software libre de alta calidad, ya casi no existen organizaciones sin estas herramientas. Los desarrolladores tienen que conocer mucho más que sólo hacer un checkout del código. Necesitan tener un hábito riguroso de higiene para asegurarse que están correctamente coordinados con el equipo. Los "programadores solitarios" que guardan todo local, que no documentan los cambios y demás, no van a ser bienvenidos en las organizaciones tradicionales, y van a a quedar directamente fuera de lugar en los entornos Ágiles, en donde se utiliza una coordinación fuerte entre los equipos para operar.
  • Desarrollo movil Durante los fines de 1990 el desarrollo web creció y ganó adopción general, para así comenzar a desplazar a las aplicaciones tradicionales de escritorio. En 2008, el desarrollo para dispositivos móviles despegó finalmente, y en los próximos cinco años va a crecer de forma constante. Por supuesto, existen varios enfoques al desarrollo móvil: aplicaciones web diseñadas para funcionar en dispositivos móviles, RIAs apuntadas a este mercado, y aplicaciones que se ejecutan directamente en los dispositivos. Sin importar qué camino elijamos, nos va a servir agregar el desarrollo móvil a nuestro grupo de habilidades.

jueves, 3 de diciembre de 2009

Aguinaldos en la Aldea Fray Pedro de Agreda - Misión Sucre

Que bueno cuando se utiliza la inteligencia, dedicación y creatividad para cosas positivas en especial para trabajar por nuestra Aldea Universitaria Fray Pedro de Agreda, mis sinceras felicitaciones al profesor Euclides Matilde Rodríguez por escribir tan especial poema navideño.


¡Llegó diciembre!

A nuestra Alameda.

En Fray Pedro de Agreda

Nos llena la felicidad,

Con el niño en navidad

Visten las damas de la aldea;

Con su gracia que les recrea

Ellas son nuestras estrellas,

Del jardín las flores bellas

Que vuelan sus papagayos,

Como en los cielos de mayo

Yo me llevo la doncella….

I

¡Hay! Es mi niño chiquito

Yo lo quiero amamantar,

Y también le quiero dar

Todo mi amor bonito.

II

Es mi niño bienvenido

Yo lo quiero amamantar;

Y en mi pecho arrullar

Porque es mi consentido.

III

Éste mi niño cristiano

Ha venido en caravana;

Por la Panamericana

De Los Teques y San Antonio.

IV

Éste niño es mi hermano

Con regalos y otras cosas;

Viene de La Mariposa

Para tendernos su mano.

V

Ese mi niño bendito

Viene del canal oficial;

Regando la intercomunal

Con todos sus regalitos.

VI

Éste niño prodigioso

Bullanguero del poliedro;

Alborotando a Fray Pedro

De Agreda el bondadoso.

VII

El niño jesús bendito

Al Fray Pedro ha llegado;

Con el carruaje cargado

Repartiendo regalitos.