Historia
Mi inicios en la informática se remontan al año 1989, época en la que empecé mis
primeros pininos de programación gracias a un ordenador Atari 800XL, con 64K de
RAM - memoria que ahora lleva cualquier tarjeta SIM. Poco a poco investigué mas
en pronfundidad hasta dar con un libro de ensamblador para la 6502, procesador
de Motorola para los ordenadores Atari de 8 bits, el mío incluído. Como era
demasiado joven no podía trabajar de ello así que me dediqué a hacer un poco de
investigación hasta que llegó a mi manos una petición de un amigo: arreglar un
juego que estaba hecho para televisores PAL y que no funcionaba en Ataris NTSC.
Me costó casi todo el verano entender las centenares líneas de código hasta que
corregí el 'issue'. Recuerdo que me pagaron 50 dólares, toda una fortuna para mi
en ese momento.
Poco tiempo después entré en el mundo de C++ y Visual C++, donde hice mis
primeras líneas de código como programador Junior. Gracias al nuevo lenguaje de
programación aprendí y apliqué un nuevo paradigma de programación: la orientada
a objetos. Aunque en esa época - tenía 17 años - no tenía ni idea de lo que era
un paradigma o lo que era un objeto desde el punto de vista de la programación,
gracias a un buen par de libros y un compilador de C++ empecé a entender lo que
es una clase, sus propiedades, métodos, herencia y finalmente el polimorfismo.
Todo este nuevo mundo dió entrada a mi trabajo como desarrollador profesional,
olvidándome de las épocas de la Atari, el 6502 y la programación con lenguajes
de bajo nivel.
Una vez que aprendí a aplicar los conceptos de la POO llegaron a mis manos dos
cosas totalmente nuevas - otra vez - para mí: Visual Basic (en aquel entonces
acababa de salir la versión 3.0) y el administrador de base de datos Microsoft
Access 97. Tras practicar y aplicar mis primeros pasos en el diseño de base de
datos, unión de tablas y reportes me 'dejaron caer' en un proyecto para un
ministerio: Tenía que hacer el análisis, diseño, programación, implementación y
formación a los usuarios. Tenía 19 años y tenía que hacerlo completamente solo.
Mis únicas herramientas fueron los conocimientos del la orientación a objetos y
los conocimientos de base de datos. El proyecto me costó 4 o 5 meses y una
importante cantidad de noches sin dormir. Gracias a que el proyecto constaba de
un módulo de reportes 'dinámico', lo que ahora sería una tabla de Excel que se
monta en dos minutos a mí me costó casi la mitad del proyecto - dos meses -
entendiendo un nuevo lenguaje totalmente distinto a los que había conocido
antes: T-SQL.
Poco a poco seguí evolucionando a lo largo de mi carrera, aprendí a inicios de
siglo ese concepto llamado Windows DNA o lo que es mas común, el desarrollo en
capas: presentación, lógica y persistencia. Utilizando componentes COM y DCOM
entré en el mundo internet con una nueva manera de programar: ASP. No recuerdo
bien si la primera página ASP la quise hacer con Javascript de servidor, o C++,
sólo recuerdo que me dijeron que estaba loco y que utilizara Visual Basic. Así
lo hice y empecé en el nuevo mundo: el desarrollo web. A partir de aquí mi
carrera empezaría a soltarse como programador y la nueva manera de programar,
por capas, empezaron a perfilarme como arquitecto de software, diseñando la
comunicación entre capas y la definición de cada una de ellas. Con mis
conocimientos de T-SQL me contaron que había una manera mas ágil de utilizar los
datos y devolverlos: los procedimientos almacenados. A día de hoy es el único
lenguaje que conozco durante casi 10 años sin que haya cambiado
considerablemente, salvo recientemente.
Fué en este punto donde empecé a encontrar nuevos problemas, ya no eran
sencillamente algoritmos sino cómo hacer que un equipo de programadores aumente
su producitivdad y entraron nuevos conceptos: normalización y estandarización.
Todo esto mezclado con la programación orientada a objetos me llevaron a ser un
tipo de programador distinto, dejé de crear interfaces de usuario para hacer
clases base que luego utilizarían un grupo de programadores. Esta nueva manera
de programar vino de la mano con la aparición de un nuevo formato de
programación que prometería ser la luz que los desarrolladores COM buscábamos
con locura: el .net framework.
Casi en simultáneo entré en el mundo .net de windows y asp.net, la jefatura
oficial de proyectos y la consultoría, tecnología en la que quedé inmerso para
desarrollar un proyecto que duró tres años, compilando mas de 700 páginas aspx,
miles de procedimientos almacenados y 400 tablas repartidas en 12 módulos,
profecía que me soltó mi primer jefe cuando a mis 18 años me agobié por tener
que hacer un programa "muy grande" que constaba de 12 tablas... Liderar un
proyecto como éste terminó por madurar mis conocimientos de las tres capas, ya
que al haber tenido que participar en el código de toda la herramienta, terminé
aprendiendo SOAP, XML, XSLT, XHTML y CSS por la parte de 'programación' y la
administración de bases de datos SQL 2000, herramienta que utilicé durante 6
años consecutivos hasta que migramos a SQL 2005, época en la que ya había dejado
de lado la programación y me dedicaba principalmente al análisis y a resolver
problemas de código de ligera complejidad, como la creación de ensamblados que se
cargaban dinámicamente por base datos o la extensión de la plataforma .net para
reemplazar ficheros .resx por vistas de bases de datos.
Casi al término de esta época fué que llegó a mis manos un proyecto hecho bajo
MOSS, Microsoft Office SharePoint Server para los amigos y me di cuenta que ya
no hacía falta - medianamente hablando - mis conocimientos de código para crear
soluciones complejas bajo un entorno web. Fué entonces cuando decidí dedicarme
por completo a esta herramienta, desarrollando una arquitectura para fusionar
desarrollos existentes, programadores seniors de .net que no controlábamos en
profundidad esta nueva tecnología, SharePoint, además de su implementación,
dando como resultado a un consultor MOSS, que es a lo que ahora me dedico.
A lo largo de los años, 15 como desarrollador profesional (en total llevo mas de
20 años en el mundo de la informática) y digo desarrollador por envolver en una
sóla palabra los roles que me tocó desempeñar: programador, analista,
arquitecto, administrador de base de datos, administrador de sistemas,
implementador y consultor es que creo humildemente que es buen momento para
compartir mi experiencia para aquellos que entran tanto en el mundo del
desarrollo web como de la plataforma SharePoint.