jueves, diciembre 30, 2004

Desarrollador 5 estrellas

Desde hace tiempo tenia la curiosidad acerca del programa Desarrollador 5 estrellas de Microsoft. Por algun motivo no habia tenido el tiempo para ver ninguno de los examenes presentados en el sitio, asi que finalmente el dia de ayer entre con la intencion de presentar el primer examen y obtener la primera estrella, estaba a punto de comenzar a bajar las guias, cuando me parecio mas interesante presentar los examenes sin estudiarlas para saber cual es mi nivel de conocimiento, y asi lo hice.

Los examenes costan de 20 preguntas de opcion multiple y se tiene un tiempo de 35 minutos para responderlas.

El dia de hoy puedo decir que cuento ya con las 2 primeras estrellas. El examen para la tercer estrella requiere de cierta interactividad y no esta disponible de momento, asi que tendre que esperar unos dias antes de ir por la tercera.

De Linux y Windows

Este es mi primer blog, y tenia pensados un par de temas sobre los cuales platicar, pero ayer me encontré con una entrada al blog de Eduardo Arredondo referente a Linux la cual me pareció interesante y que inicialmente pensé en agregar un comentario, pero al ver que iba a ser un poco extenso, decidí que fuera mi primer blog.

Tal y como se menciona el blog, Linux - especialmente - en los últimos 2 años ha venido alcanzando una gran popularidad, no solo en el lado de servidores - como normalmente se cree y que sigue siendo su nicho fuerte -, sino además en el escritorio corporativo y poco a poco entrando a las pc's de casa. Esto se debe al gran empuje que Linux ha recibido de empresas como IBM, Oracle, Novell, Compaq, Dell, Redhat, etc., pero además de que las personas que están envueltas en su desarrollo se han dado cuenta, que tienen que buscar la facilidad de su uso para poder llegar al usuario común, y dejar de ser únicamente accesible para los usuarios avanzados o como comúnmente se les conoce "hackers", esto se ve reflejado en las versiones mas recientes de los escritorios Gnome y KDE.

Esta evolución de Linux es muy notoria en el sentido de que antes se tenia que ser muy "técnico" para poder tener una instalación funcional, pero últimamente esta ha cambiado radicalmente, y es muy fácil y sencillo tener una instalación de Linux co-habitando nuestra pc con Windows, o bien ejecutar Linux desde un CD sin tener que realizar instalación alguna. Como ejemplos sobresalientes en este sentido están el Novell Linux Desktop (NDL), el Fedora Core, y la mas reciente distribución llamada Ubuntu.

Y aunque Linux ha ido cambiando poco a poco, le hace falta todavía un gran camino por recorrer sobre todo en los siguientes puntos:
1.- La comunidad Linux - no toda, pero en su gran mayoría - tiende a ser agresiva y grosera con quien no comparte sus puntos de vista y mas cuando se hace alguna referencia a Microsoft, situación que algunas personas llevan a un fanatismo extremo que raya en lo absurdo.
2.- Mejores e integradas herramientas de desarrollo que permitan crear aplicaciones de una forma mas rápida y sencilla, ya que utilizar Vi o Emacs para tal propósito puede sonar muy "cool", pero definitivamente no creo que sea lo mejor para productividad.
3.- Es importante contar con una mejor documentación, mas completa y de preferencia que este agrupada o disponible desde unos pocos sitios web, ya que actualmente - en muchos de los casos - para buscar algo hay que hacer uso del Google y buscar entre decenas de referencias para ver cual todavía existe o cual esta mas o menos actualizada, o en el peor de los casos bajar el código fuente de algún API para ver como se usa.
4.- En el mundo Linux se aboga por la opción a decidir que utilizar y que no, es decir que haya mas de un programa que pueda hacer lo mismo; lo cual me parece muy bueno, el problema es cuando se lleva al extremo y se crean muchos proyectos desde cero o derivados de otros, resultado en que si hay muchas opciones de donde elegir, pero desafortunadamente algunas llegan a ser menos que mediocres; cuando a lo mejor, lo mas sano seria enfocar las energías a 2 o 3 programas diferentes y que estos lleguen a ser de calidad.
5.- Con la finalidad de crear un sistema operativo que sea atractivo para el usuario común, se ha buscado que tenga cierta similitud a Windows en el uso, como en el tipo de aplicaciones disponibles, lo cual no es un punto malo, pero quizás ya llego el momento de que tome su propio rumbo, tal y como ya lo ha empezado a hacer Evolution y el recién creado proyecto Beagle.

Dentro del área de innovación definitivamente no se puede decir que Linux no lo ha hecho; tienen una comunidad que trabaja desde diversos puntos del planeta, con diferentes zonas horarias; es increíble a veces la coordinación que tienen aun sin tener algún punto central que los controle o maneje, utilizando como software de colaboración a Bugzilla, el IRC y las listas de correo.
El Freedesktop concentra una serie de proyectos comunes para las distribuciones de Linux, donde destacan el proyecto HAL (Hardware Abstraction Layer) cuya finalidad es tener una capa de software que permita el hardware simplemente trabajar, sin importar de que tipo de hardware estemos hablando (O lo que en Windows se llama Plug-and-Play, y que en forma de broma y cierto dejo de verdad se le conoce también como Plug-and-Pray).
Otro de los proyectos es el D-Bus, que provee un canal de software para que las diversas aplicaciones y sistema operativo, pueden comunicarse entre si, enviando y recibiendo notificaciones de diversa índole, o bien realizar comunicación directa entre las aplicaciones.

En cuanto a los casos de éxito con Linux, definitivamente hay mas de los comúnmente escuchados por todos (Que x gobierno de x país ya cambio o esta pensando cambiar a Linux):
Oracle: Desde hace ya un par de años Oracle a estado invitando a sus clientes a migrar a Linux (Clientes de la Base de Datos y la Applicacion ERP), liberando tecnología enfocada primeramente a Linux y con acuerdos comerciales y de soporte con Redhat y Suse (ahora Novell). Pero el empuje Oracle a Linux no ha quedado ahí, ya todas sus herramientas de desarrollo trabajan en Linux (antes solo trabajaban en Windows), e internamente las operaciones (financieras, operativas, soporte, desarrollo, etc.) han sido migradas a Linux como prueba de confianza.

Dell: Tiene un acuerdo con Oracle en cuanto a hardware destinado para la tecnología Grid de Oracle, la cual esta enfocada principalmente a ejecutarse en Linux - aunque puede correr en otras plataformas -, además esta realizo su tarea internamente y también migro sus operaciones a Linux.

Novell: Lo mismo esta haciendo Novell, migrando internamente a Linux al mismo tiempo que invita a sus clientes a hacerlo también.

Junta de Extrema Dura en España: La cual es una región autónoma situada en el oeste de España haciendo frontera con Portugal, en el centro del triángulo formado por Madrid, Sevilla y Lisboa; tiene trabajando desde hace tiempo con Linux y software libre, e inclusive tiene incentivos para empresas que desarrollen software libre.

Humano2: Es una compañía creada por el ex-Gerente de Microsoft Chile, y que tiene un producto actualmente enfocado a Windows, pero que esta a punto de iniciar el desarrollo de la siguiente versión teniendo en la mira a que la aplicación pueda funcionar (el Cliente y el Servidor) tanto en Linux como en Windows.

Y finalmente la empresa para la que actualmente trabajo, en los últimos 6 meses a instalado 2 servidores Linux con la finalidad de reducir costos en algunas de nuestras operaciones, y para ser franco esos servidores han requerido la menor atención que los servidores Windows que realizan funciones semejantes durante el mismo periodo.

Ya para terminar quiero destacar que por muchos años he trabajado con ambiente y herramientas Windows, desde hace unos 3 años a la fecha llevo trabajando con Linux-Unix - de hecho mi pc de escritorio normalmente la utilizo en Linux, y mi notebook tiene dual boot a Windows y Linux -, además de Windows, y se por experiencia propia que a los clientes (Internos o externos) no les interesa en que ambiente trabajen los programas, ellos lo que buscan son soluciones para realizar sus actividades de negocios de forma rápida y sencilla; por lo tanto esta en nosotros, la gente de Sistemas el mantener la mente abierta y ofrecer la herramienta adecuada para las necesidades de nuestros clientes, sea Windows, Linux o alguna otra.

Saludos y Feliz Año..
Mario Alberto.

jueves, enero 01, 2004

Curriculum vitae

Objetivo:
Colaborar en actividades de arquitectura y/o diseño de soluciones de software que promuevan la innovación y la creatividad, pero sobre todo que proporcione soluciones a problemas reales de negocio.


Experiencia y habilidades:
Lenguajes de programación:
VB, C#. VB.NET, (pg, t, pl)-SQL, Java, C, C++, Ruby, HTML.

Tecnologías:
UNIX, Linux, Win32, Microsoft.NET, Mono, J2EE, COM, WebServices, ASP.NET, Oracle Forms, Ruby on Rails, XML.

Programas varios:
Photoshop, Freehand, Project, Visio, Office y programas similares en GNOME.

Bases de Datos:
Microsoft SQL, Oracle Database, Postgresql, Herramientas de BI.

Sistemas Operativos:
UNIX (AIX), Linux, Windows.

Redes:
Ethernet, LAN, WAN, switches, routers.

Idiomas:
Inglés 75-80% (Puedo atender reuniones y/o conference calls en este idioma)


Talentos:

  • Habilidad para entender e implementar sistemas complejos y requerimientos – aun cuando estos últimos sean mínimos -.
  • Mantenerme actualizado de los cambios tecnológicos en diferentes áreas.
  • Trabajar bien bajo presión y bajo poca o nula supervisión.
  • Habilidad para negociar requerimientos y tiempos con clientes y/o usuarios.
  • Disponibilidad para emplear tiempo y recursos para asegurar de forma adecuada la finalización de un proyecto.
  • Disponibilidad y habilidad para enseñar y dirigir a otras personas involucradas en un proyecto; así como para aprender cosas nuevas.

Historial de empleo:

Actualmente
Consultor independiente de sistemas

Consultoria y desarrollo de sistemas. Clientes en California US y el interior de la republica Mexicana.

  • Consultoria sobre bases de datos, administracion, diseño y performance and tunning
  • Diseño e implementacion de Datawarehouses, con herramientas de Microsoft BI y Cognos.
  • Mantenimientos de Servidores
  • Desarrollo de aplicaciones Win32 y de Internet/Intranet
  • Desarrollo de aplicaciones móviles para teléfonos inteligentes como iPhone y BlackBerry
  • Cursos de entrenamiento para desarrolladores de software

Septiembre 2001 – 2004.
Panasonic
AVC

Administrador de Oracle Applications 11i y desarrollador

  • Desarrollo de aplicaciones para el control de líneas de producción, utilizando VB6, MTS y Base de Datos Oracle.
  • Diseño de framework para software destinado a líneas de producción, con la finalidad de reducir tiempo de desarrollo de las mismas.
  • Implementación, configuración y administración de Oracle Applications 11i en servidores AIX.
  • Trabajar de cerca al equipo de soporte y desarrollo de Oracle e IBM para solucionar problemas de tecnología entre Oracle Applications y AIX, fuimos el primer cliente de Oracle en implementar Advance Supply Chain Planning en AIX a nivel mundial.
  • Colaborar de cerca en la implementación y desarrollo de soluciones con diferentes grupos de Panasonic en América, Europa y Asia.
  • Migración de Oracle Applications de una plataforma de 32 bits a 64 bits.
  • Desarrollo de modulos, reportes y un conector de Crystal Reports para Oracle Applications
  • Soporte a usuarios, tanto técnico, como desde el punto de vista operativo de Oracle Applications.
Julio 1997 – Septiembre 2001
Agencia Aduanal Rodriguez y Cia, S.C.

Jefe de IT

  • Planeación e implementaron de la infraestructura tecnológica de la empresa, tanto en la matriz como es las sucursales(México y USA), infraestructura consiste en enlaces dedicados y accesos vía RAS del personal de la empresa, enlaces a proveedores, actualizaciones de la LAN (Cableado, servidores, estaciones).
  • Desarrollo de software "in house", para las áreas operativas, administrativas y de atención a clientes, basadas en el framework DNA de Microsoft.

Mayo 1996 – Julio 1997
Cybermedia Communications
Jefe de Desarrollo

  • Coordinación técnica del contenido y tecnologías de un portal de Internet.
  • Delegar y supervisar a los programadores el desarrollo del contenido del portal.
  • Coordinación de reuniones creativas entre los ejecutivos y el personal técnico.
  • Coordinación y control de la empresa proveedora del hosting en USA.

Agosto 1993 - Mayo 1996
Omega Computadoras
Jefe de Soporte Técnico

  • Responsable de la coordinación del personal de soporte técnico de la empresa.
  • Consultoría a diversos clientes privados y de gobierno estatal y municipal.
  • Diseño y elaboración de proyectos redes.
  • Dentro de los logros mas importantes fue el diseño y la aprobación por parte de SHCP de una tarjeta de memoria especial(Memoria Fiscal) que al implementarla en una PC común, la SHCP la autorizaba como registro fiscal.

Escolaridad:
  • Carrera Tecnica en electronica digital, 1990-1993, Cetis 156. Obtencion del premio Nacional de Ciencia y Tecnologia Dr. Marcos Moshinsky 1993. Obtencion del titulo y mencion honorifica
  • Ingeniero en Sistemas Computacionales por el Instituto Tecnologico de Tijuana, titulación por excelencia académica.

Cursos de la Industria:

  • Administración y desarrollo con MS-SQL Server (Currículo Microsoft).
  • Desarrollo de aplicaciones con ASP (Currículo Microsoft).
  • Administración de Windows NT (Currículo Microsoft).
  • Arquitectura de Oracle Database (Oracle University).
  • Performance and tunning de Oracle Database (Oracle University).
  • Ingenieria y Bill de Materiales (Oracle University).
  • Inventarios, Costos y Compras (Oracle University).

Actividades Adicionales:

  • Participación activa en la comunidad TJ.NET, desarrollo del sitio, además de dar pláticas y talleres de programación, como en la UIA, UTT y las jornadas de ingenieria de la UABC.
  • Participacion como conferencista en eventos como InnovaTec 2005 y 2006 organizados por la carrera de Ingenieria en Sistemas Computacionales del Instituto Tecnologico de Tijuana; y en el evento DevDays 2006 de Microsoft en el teatro Vizcaino de la UABC Tijuana.
  • Participación como organizador y conferencista en varias ocasiones del evento Innov@Tec del Instituto Tecnológico de Tijuana