Dilema

He llegado al punto en mi trabajo en el que siento la inquietud de moverme. En marzo del año que viene cumplo cuatro años en la misma posición con el mismo salario (sumando los aumentitos que dan cada año). No se vislumbra ni por pura casualidad la remota posibilidad de un aumento de salario (porque de labores ya ha habido aumento.) Entre otras cosas, estos son dos de los motivos por los cuales he tomado la decisión de actualizar mi resumé y ponerme al día con las entrevistas.

Pero antes de seguir, quisera repasar mi trayectoria laboral hasta el día de hoy.

Como todo universitario recién graduado, salí de mi bachillerato con muchas ansias de comerme al mundo. Tengo un bachillerato en Ciencias de Computadoras, de la Universidad de Puerto Rico en Bayamón. Culminé los estudios en diciembre de 2006 y ya en febrero de 2007 conseguí trabajo como programador en Update Computer Solutions.

UpdateCom es una compañía (familiar) pequeña que se dedica a la consultoría. Sus clientes varían entre farmacéutica, banca, hasta colegios. Mi principal tarea era desarrollar lo que mi jefe me ordenaba, en lenguaje JAVA, utilizando DB2 y MySQL como RDBMS (Relational DataBase management Systems). Demás está decir que fue tremenda primera experiencia, aprendí tecnologías nuevas (como Linux, DB2 y MySQL) reforcé mis conocimientos en JAVA, aparte de exponerme al mundo laboral y obtener esa primera experiencia que todo recién egresado ansía.

A unos cuantos meses de cumplir el año trabajando en Update, me comunico con una compañera de estudios. En nuestra conversación, me dice que estaba por casarse y mudarse para Estados Unidos, y su compañía (WorldNet) estaba buscando candidatos para cubrir la vacante que ella dejaría (Revenue Assurance Analyst). Me preguntó si yo estaba dispuesto y le dije que si. Inmediatamente ella le dio a sus supervisores mi información y resumé. La entrevista fue excelente y esa misma tarde, me entero de que la posición sería mia. La paga eran $12/h, $2 más que mi trabajo en Update. De más está decir que acepté.

Como Revenue Assurance Analyst, siempre describí mi puesto como un programador en el área de Operaciones. Necesitaban un programador que pudiera hacer queries a MSSQL, mantener y actualizar la intranet de la compañía,  monitorear  la información de llamadas recibidas vs las facturadas, proveer las gráficas a la gerencia, enviar la base de datos a Estados Unidos para que una compañía se hiciera cargo de la facturación, etc etc.

Apenas estaba comenzando el training. El área de las comunicaciones es una demasiado extensa como para poder coger el piso en unos cuantos meses.

Pero, no llegué a los tres meses de probatoria. Un buen día mi supervisora me dice que su jefe nos llamó a una reunión. Cuando me acerco a la oficina, estaba él, un muchacho de Recursos Humanos, y mi supervisora. La mala noticia: Eliminaron mi posición. Me quedé sin trabajo.

Así que, con poco menos de un año de experiencia me vi en la difícil y tediosa posición de buscar empleo nuevamente, con el rabo entre las patas. Hasta llegué a pensar que si no me hubiera ido de mi trabajo en UpdateCom estuviera estable programando tranquilito en aquella oficinita en la Calle Duarte en Hato Rey.

Creo que sólo pasó un mes y un par de entrevistas. Conseguí trabajo en una Cooperativa, el cual por motivos obvios llamaré La Mona Federal Credit Union.

La posición era Programador I. Mis labores se describían como “Analizar, diseñar, codificar y documentar sistemas computarizados de información”, entre unas cuantas otras que básicamente decían lo mismo en otras palabras.

El Departamento de Sistemas es uno pequeño. Consiste en el Gerente, Administrador de Redes, Help Desk, Programador II y Programador I (que era yo). Cuando le preguntaba a mi compañero los lenguajes que utilizaban, me di cuenta que no sabía qué decirme. Terminó diciéndome que la realidad era que yo podía escoger el lenguaje de mi preferencia.

Mis tareas al principio resultaron ser reportes de aquí y de allá. Al momento de yo llegar, se estaban implantando unos cuantos proyectos. Uno de ellos era el de pagos a tarjeta de crédito por el sistema automatizado de voz TeleMona. Mi parte consistía en generar un reporte de los pagos que se efectuaron por el sistema de TeleMona para ayudar al área de caja hacer su cuadre de pagos de Tarjetas de Crédito.

Otro proyecto mayor que trabajé fue el de optimizar el proceso de generar cartas de cobro. En ese momento, el proceso le tomaba aproximadamente tres horas a las dos oficiales de cobro que habían en el momento. Para hacer el cuento largo corto, logré eliminarles las tres horas diabólicas al Departamento de Cobros, pero me quedé yo con ellas. El proceso se movió de Progress, a MS Access. A la vez que trabajaba en este proyecto, el Departamento de Cobros implantó un sistema de Cobros con una compañía externa llamada Transworld. Mi labor consistía en investigar el layout de los archivos  y programar el proceso que estaría generando estos archivos diariamente para enviarlo a esta compañía. Por ahí mismo tuve que comunicarme con nuestro procesador de Pagos de tarjetas de Crédito (Evertec) para solicitarles un reporte diario de delincuencia de tarjetas de crédito, de nuevo, con un layout especificado por Transworld. Definí el proceso general de obtener estos reportes y enviarlos a Transworld para que ellos hicieran sus gestiones.

Como parte de mi resumé también está la implantación de Transferencias automáticas para tarjetas de crédito. Nuestro sistema en ese momento, carecía de esta función, a pesar de haber mercadeado a todos los socios la opción de hacer pagos automáticos el día 25 de cada mes. Lo automático era que, un oficial debía leer un reporte de socios suscritos a pagos automáticos y hacer los pagos manualmente. Digo, era automático para el socio porque él no lo tenía que hacer, sino el pobre oficial…

Como parte del proceso nos dimos con más problemas de configuración. Comenzó a explotar el asunto de que a algunos socios se les estaba cobrando 2 y 3 veces corridas. Abrimos una investigación con Evertec, Fiserv, y no recuerdo quien mas para ver por qué esto estaba ocurriendo. EL problema resultó ser que Las Transferencias automáticas se estaban corriendo 3 veces al día, dos de ellas manuales y una automática. En Adición, habían unos parámetros que hacían que el programa de transferencia intentara hacer la misma por un periodo de 60 días consecutivos.

COmpartí mi sugerenca. Sugerí que en lugar de 60 días, intentara solamente 1 vez y, de no poder hacer la transferencia, eliminar la misma. En adición, sugerí que las corridas manuales se eliminaran y dejaran la automática… Nadie me hizo caso y solamente eliminaron las automáticas y dejaron la corrida manual. Tanta cosa por un “Auto Transfer.” Pero ni modo.

Otro de los problemas que me tocó trabajar fue el de los dichosos late fee. Cada año, los auditores encontraban que los cargos por demora se estaban entrando de manera misteriosa como pagos parciales, haciendo que La Mona no estuviera cobrando correctamente la multa conforme a lo que establece la política de préstamos.

Así que, investigué la documentación que existía sobre este asunto previo a mi llegada a la compañía. Comencé con abrir una llamada de support. “El socio pagó x cantidad por encima del scheduled payment. Esa cantidad se está contando como pago parcial.” A lo que me responden: “Eso es lo que el sistema hace cuando haces un pago por encima del scheduled payment.”

En esa investigación encontré las variables globales que tiene nuestro sistema que manejan el tipo de multa que se va a cobrar. Había de todo, pero el nuestro en particular, estaba configurado como que cobraría un 4% del pago recibido en multa. O sea, que el sistema se encargaría él solito de distribuir las cantidades en el GL. Una parte iría a principal, otra a multa, y otra a intereses. Si paga a tiempo, simplemente una parte se va a principal y la otra a intereses. Pero No. Yo tuve que probar todas y cada una de las configuraciones. Sumar y restar y hacer ejemplos de pagos, pintanto cada escenario para llevar la prueba contundente a mi querida amiga gerente del Dpto De Cobro: Llevaban AÑOS cobrando una cantidad adicional a los socios innecesariamente. El oficial que recibe el pago, NO DEBE calcular el 4% encima de lo que el sistema muestra. Resulta que, en la era de la informática, los sistemas son lo suficientemente inteligentes como para  determinar cuándo un préstamo está en atraso y cómo calcular las multas y cómo distribuir el pago completo. Ya los humanos debemos despreocuparnos por eso porque las máquinas lo hacen por nosostros.

Tuve que pintarlo con grafiquitas y diagramitas. Tuve que documentarlo y darlo por cerrado. No pensaba seguir investigando algo que ya había descifrado y probado hasta la saciedad. Sugerí que se hiciera el pago que indicaba el sistema y que no se calculara (a mano) un 4% adicional. O sea, Hello.

Me encantó trabajar con el Late Fee. De veras. Fue una investigación que me tomó meses y horas y horas de investigación. No tanto de investigación, si no de experimentar y mostrar los resultados de lo que yo les había dicho desde un principio.

Otro de mis cucos fueron los reportes de Análisis de Delincuencia. Fueron tres: Análisis de préstamos en pérdida, Resumen de préstamos  y tarjetas en atraso , y  uno de pagos recibidos de préstamos en pérdida, para cuadrar el pago que se hace al abogado.

Durante el transcurso, aprendí lo que era Crystal Reports. Ha sido una de las mejores herramientas que he aprendido en este trabajo. Migré totalmente las cartas de cobro que hice en Access y ahora el usuario, con tan solo escoger las fechas, puede generar solito las cartas de cobro sin necesidad de mi intervención. Y lo mejor de todo es que nos ahorramos casi cuatro horas en la mañana.

Y todo esto para una posición de programador!

He estado envuelto en todas las etapas del ciclo de desarrollo de sistemas (SDLC). Me explico. Cuando hay que desarrollar algún reporte o proceso, paso por todo el proceso de investigar con el usuario, compilar las necesidades, documentar, presentar al usuario lo que necesita y lo que se propone como solución, hacer el desarrollo, pruebas, implementación y mantenimiento, y luego support. En cambio, a veces el usuario necesita que se modifique  o que se añada funcionalidad a algún módulo en nuestro sistema. Ene se caso, se pasa por el mismo proceso de levantamiento de información, con la excepción de que la programación no la hago yo, sino que redacto un documento de necesidades a nuestro proveedor en Estados Unidos, ellos nos proponen la solución junto con la cotización, para luego hacer las pruebas y ver que corre como se solicitó. Se muestra al usuario, se documenta y se cierra.

So, qué soy? Un poco de todo, supongo! Analista/Programador? Programador/Analista? Business Analyst? Business Analyst/Programmer? Whatever!

Bueno, hoy tengo entrevista en una compañía bastante importante para la posición de Developer. Lo negativo es que la compañía tiene como política el que el empleado sea por servicios profesionales y se le renueva el contrato cada tres meses. De no renovar el contrato, la compañía que me coloca me busca otro proyecto ahí mismo o en otra compañía. O sea, que el factor estabilidad no sería una constante en ese escenario.

Lo bueno es que el salario se me “duplicaría”, como me dijeron en la primera entrevista.

Y si me contratan con permanencia?

Y si, al estar expuesto  otro ambiente, otras tecnologías, se me presenta la oportunidad de crecer profesionalmente?

Quién sabe!

Lo que sí se es que estoy tomando estas oportunidades para mejorar mis habilidades en entrevistas. Me sube la moral el hecho de que una reclutadora me diga que mi resumé le pareció muy interesante por todas las tecnologías y áreas en la que me he expuesto.

A ver qué sale de todo esto!

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s