Ver Mensaje Individual
  #7  
Antiguo 24-04-2005
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Reputación: 29
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Smile Mi parte y algo más

¡Hola a todos!

A cuatro días de la última respuesta, dada por nuestro buen amigo Federico, y con el ánimo de generar mayor interés en el tema, me permito participar en este productivo debate exponiendo a grandes rasgos lo que ha sido mi experiencia como desarrollador y asesor a distancia.

He pasado la mayor parte de mi vida en Chihuahua, una de las ciudades más bellas, estables, seguras y ordenadas de México, al norte del Trópico de Cáncer. Un lugar sui géneris en mi país, donde se mezclan la arquitectura colonial y europea con algunos matices de modernismo estadounidense y, en su mayor parte, grandes extensiones de barrios antiguos, al centro y sur, y de nuevos suburbios, al norte. Aquí la desigualdad económica se hace evidente todos los días, pero se mantiene cierta "armonía" debido a que estamos geográfica y culturalmente muy aislados de otras ciudades grandes. Es la primera ciudad de mi país que profesionalizó a su policía, siendo ésta certificada por una agencia de Washington. Una ciudad vieja, sabia, moderna, pobre, orgullosa y con grandes inversiones de capital, por cuyas calles suele verse transitar a Don Avelino, mi vecino de atrás, a bordo de su carro de madera con viejas ruedas de automóvil y tirado por una yegua, mientras en el semáforo un Mercedes espera la luz verde. La Ciudad de Las Maravillas.

Desde mediados de los noventas, la mayoría de los universitarios recién egresados de carreras como Informática o Sistemas de Computación, emigran a Ciudad Juárez, Monterrey o el extranjero, en busca de buenos sueldos y estilos de vida menos conservadores (según ellos), o bien, se quedan en Chihuahua para dedicarse a alguna profesión u oficio que no les exige ni el cinco por ciento de lo que estudiaron. Yo soy un caso raro: no tuve los recursos económicos para estudiar una carrera universitaria, aunque quizá pude haber obtenido una buena beca si hubiese estado mejor informado, y no obstante mis habilidades técnicas están muy por encima del promedio. Por ejemplo, no conozco a ningún otro programador que escriba rápidamente, sin ver el teclado y usando correctamente nueve dedos (oprimo la barra espaciadora sólo con el pulgar derecho); que haya creado una clase para permitir que una instancia de objeto quede alojada en memoria compartida de Windows (quedando el objeto accesible a dos o más procesos); o que se haya cuestionado porqué Borland creo la extraña función _CopyObject que está en la unidad System de Delphi. Tengo un proyecto y filosofía de vida que me permite ser feliz con lo poco o mucho que posea, escribo mi primer libro, soy fundador de un importante foro de programadores, y a mis treinta años estoy empecinado en establecer una empresa de desarrollo de software que no esté subsidiada por el gobierno o ligada a la suerte de un par de clientes gordos. Creo en la globalidad, en la capacidad de dos seres humanos para relacionarse, hacer negocios y trabajar en equipo independientemente de su ubicación geográfica.

Aunque profesionalmente estoy en el desarrollo sistemas desde 1993, mi primera experiencia de trabajo a distancia sucedió apenas en el año 2002, cuando le pedí a un desarrollador de Guatemala y excelente amigo que me elaborara una rutina Delphi para abrir un cajón (gaveta) de dinero desde una impresora de recibos Epson. Su trabajo fue impecable, pero para desgracia de ambos, descubrí que no había forma razonable de hacerle el pago desde México. Afortunadamente, desde 2004 las sucursales de Western Union de mi país ya permiten el envío de dinero al extranjero. Hasta ahora ha sido mi única experiencia como cliente a distancia, el resto ha sido como proveedor. Aquello fue poco tiempo después de fundar la comunidad Web Programadores Delphi de México, entre cuyos objetivos está el fomento al tele trabajo.

A mediados de 2003, uno de mis principales clientes (el cliente gordo del cual dependía mi empresa y prácticamente mi vida misma) decidió penalizarme arbitrariamente con un buen porcentaje del proyecto que le desarrollaba, porque no logré conectar de forma rápida y estable una PC del gobierno de Chihuahua con una base de datos Microsoft Access que se encontraba a 300 kilómetros de distancia (una locura, lo se). Mi cliente olvidó sus promesas que el año anterior había hecho, respecto a permitir emigrar la base de datos a SQL Server u Oracle, así que tuve que ingeniármelas para que ADO+Access y el MS Jet (que en lugar de jet más bien parecía el carro de Don Avelino) aguantaran el viaje de ida y vuelta a través de varias antenas de radio instaladas en el desierto. Pero a la gente del gobernador no le pareció bien que la computadora mostrara el mensaje «Reiniciando conexión con el servidor» cada vez que una mancha solar, aeroplano o serpiente de cascabel interrumpían la transmisión, así que no recibí mi paga completa. Cabe mencionar que desde entonces procuro utilizar solamente bases de datos cliente-servidor, las confiables y verdaderas bases de datos. Recuerdo que por aquellas fechas comencé a ser más humilde y honesto conmigo mismo, aceptando que ningún programador es bueno en todas las áreas del desarrollo de software. Me di cuenta que mi perfil estaba más orientado hacia el código escrito de las aplicaciones cliente y las bibliotecas de componentes y funciones. Recuerdo haberle dicho a mi asistente «Debe existir una forma de que cada persona viva de hacer lo que más le gusta y para lo cual posee talento. Creo que el software se ha venido creando de forma equivocada. Una sola persona no puede encargarse de tantas y tan diversas tareas, debe haber especialistas para cada área», sin imaginar que dos años más tarde estaría estimando costos y calendarizando proyectos bajo un experimental modelo de trabajo en equipo que llamé DTE (Distribución del Trabajo por Especialidades).

Aquel hecho constituyó una dramática y lamentable ruptura entre mi cliente y mi pequeña empresa de sistemas. Debido a las nuevas dificultades financieras, algunos de mis acreedores se convirtieron en mis enemigos, algunos de mis amigos se convirtieron en mis acreedores, mi ex asistente estuvo a punto de demandarme y empeñé mi bicicleta de montaña al ogro casero. Me vi obligado a vender mis pertenencias no indispensables y a contratarme con cualquier empresa antes de quedarme sin vivienda. Como no logré ningún proyecto nuevo, cerré mi negocio y acepté un modesto empleo en una no muy prestigiosa escuela de computación, cobrando mil pesos (90 Dlls) por 25 horas a la semana, donde mi constante labor fue darle mantenimiento y continuidad a una espantosa aplicación malparida con Visual FoxPro, ¡un verdadero horror! Mi novia perdió su empleo y las cosas se complicaron aún más. Como no surgía ningún trabajo nuevo y en cada minuto de vigilia recibía algún tipo de amenaza, le sugerí a María que me permitiera trabajar algunas horas extras como caballero de compañía de señoras solas, pero aquello no resultaba un negocio viable en una ciudad como Chihuahua, donde todo mundo está al pendiente del «qué dirán».

En esa época de crisis, a través de la comunidad Web que represento, conocí a una novel programadora Delphi de Durango, México, quien abierta y generosamente me solicitó asesoría profesional para ayudarle a desarrollar una pequeña aplicación. Y a los pocos días, otro desarrollador, de Tuxtla, México, también me contrataba para algo similar. Así que en las mañanas lidiaba con Visual FoxPro en la escuela de computación y por las tardes me relajaba dando asesorías de Delphi desde un café Internet. Mis nuevos clientes me pagaban puntualmente mediante depósitos bancarios. Fueron mis dos primeras experiencias trabajando a distancia.

Sin embargo los ingresos no eran suficientes, y no lograba convencer a otros desarrolladores de diversas ciudades de que me permitiesen apoyarlos en sus proyectos. Tenían esa desconfianza que menciona Federico, síntoma de no ser todavía ciudadanos globales. Mi novia y yo nos separamos en buenos términos, regresando ella a vivir a casa de sus padres por insistencia mía. Mientras tanto me quedaba yo solo a tratar de rescatar lo irremediable. Semanas después renuncié a la escuela de computación y abandoné mi apreciado apartamento, donde había logrado construir un hogar a base de perseverancia y trabajo honesto. Ese apartamento que describo al final de Tiempos de Cambio, el relato que nuestro buen amigo Marcos Zorrilla me hizo el favor de publicar en el foro de humor. Me refugié en casa de mis padres mientras decidía que rumbo darle a mi vida.

Entonces, ya a finales de 2003, otro desarrollador Delphi, de la Paz, Bolivia y buen compañero de diversos foros, me contactó para solicitarme asesoría con un par de aplicaciones. En una de ellas, había que hacer que dos sucursales se comunicaran vía módem para transferirse información de las ventas e inventarios del día. En la otra, había que permitir que se pudieran capturar imágenes JPEG en una base de datos InterBase. Desarrollé algunas rutinas de soporte y asesoré a mi cliente vía MSN Messenger para adaptarlas a sus aplicaciones. Los pagos fueron hechos vía Western Union.

Luego, a principios de 2004, me mudé a Cuernavaca, México. por una larga temporada. Siempre consideré mi estancia allá como una especie de exilio reparador, alejándome de todas las cosas negativas que habían invadido mi vida en el 2003. Ahí trabajé para una empresa de software, cuyo propietario, desarrollador Delphi también, me había conocido el año anterior a través de la comunidad Web que fundé. Él había publicado una oferta laboral en la página y otro de los miembros de la comunidad me avisó de tal hecho. Fui de los primeros en contactarle, de tal suerte que después de varios meses de charlas y negociaciones telefónicas y por Internet, volé a la Ciudad de México y de ahí viajé en auto a la Ciudad de La Eterna Primavera. Concentrado en un solo proyecto y con el respaldo de una empresa más consolidada que la mía, estando en Cuernavaca me di más tiempo para mi persona, ingresé a un gimnasio, asistí a un taller de teatro donde representé al Marqués de Mascarille (uno de los personajes de Moliere) y conviví sanamente con varios amigos durante deliciosas veladas en La Plazuela del Zacate, La Botica y otros lugares de esparcimiento. Además, estando allá, aproveché para organizar la primera reunión presencial de programadores Delphi en la Ciudad de México. Ocho desarrolladores Delphi de diversas ciudades y quienes no nos conocíamos en persona, nos dimos cita en un restaurante de Coyoacán, en uno de los encuentros más satisfactorios de los que tengo memoria.

En octubre decidí regresar a Chihuahua para continuar con mi anhelado proyecto de empresa. Mi jefe en Cuernavaca fue muy comprensivo y, aunque mi separación de su empresa era lo que menos deseaba, aceptó de buena forma mis nuevas aspiraciones y me ofreció todo su apoyo. Me regresé en autobús para hacer escala en Saltillo, donde me entrevisté con un empresario, programador Delphi, quien me había solicitado apoyo en días recientes y donde conviví con una amiga de la comunidad Delphi que sólo había tratado vía Messenger y por teléfono. Hice una segunda escala en Durando, para conocer en persona a la chica que me había dado un poquitín de trabajo digno el año anterior.

A los pocos meses después de regresar a Chihuahua, desarrollé para mi ex jefe (ahora cliente) de Cuernavaca una clase Delphi derivada de TBarCode, un componente que permite generar imágenes de códigos de barras, agregándole funcionalidades extras para lograr introducir la imagen del código en documentos de Word y Excel. Le trasferí el componente vía MSN Messenger, le indiqué cómo instalarlo y le di las instrucciones precisas para hacerlo funcionar en una de sus aplicaciones.

Hace un par de meses, otro colega Delphi, a quien conocí personalmente durante la reunión de la ciudad de México, me solicitó apoyo para una aplicación que debía generar un documento de Word de varias páginas, a partir del contenido textual y gráfico de una base de datos. Desarrollé para la compañía donde él trabaja un componente derivado de TWordApplication, en el cual incluí nuevos métodos para facilitar el objetivo buscado y lo asistí vía MS Messenger en la instalación y aplicación de dicho componente. Terminado el trabajo, le envié una imagen escaneada de mi recibo de honorarios. y confirmada la transferencia bancaria, le envié por correo postal registrado el recibo original.

La semana pasada asistí a un nuevo cliente de la Ciudad de México con un reporte de QuickReport, el cual, bajo tamaño media carta, debía imprimirse dos veces en una sola hoja tamaño carta. El problema era que se trataba de una impresora láser, que al igual que las de inyección de tinta expulsan la hoja en cuanto la primera impresión es realizada. La solución fue utilizar un componente TQRCompositeReport, no sin aplicar algunos trucos de cambio de tipo y desplazamiento de objetos en la banda de pie de página.

Esa misma semana, mi cliente de Bolivia me solicitó de forma urgente que le asistiera con un problema de imágenes en QuickReport, las cuales desaparecían misteriosamente. Un conocido defecto de QuickReport que no se corrigió con los parches que distribuye el fabricante. La solución que aplicamos fue convertir todas las imágenes JPEG a formato BMP antes de imprimirlas.

Espero no haber aburrido o incomodado a nadie con mi extensa narración. Lo he externado de esta forma para incentivar la sana costumbre del trabajo a distancia, y explicar algunas de las causas que originan esta forma de ganarse la vida. Siento que la comunidad mundial de desarrolladores de software se fortalece al compartir este tipo de experiencias.

Me estoy cayendo de sueño, pero creo que ha valido la pena. De antemano gracias por seguir participando en este debate.

Al González.
Responder Con Cita