domingo, 6 de enero de 2008

Sistemas Desarrollados

Actualmente me Encuentro desarrollando Un proyecto en Java del cual he publicado algunos artículos, también dicto clases a la Escuela de Ingeniería de Sistemas e Informática en la Universidad Nacional del Santa.

Les muestro un resumen de los sistemas que he desarrollado los últimos años:


Estas son las empresas en las que he laborado

  • InterAmerican Service CO S.A.C. (Jefe de Sistemas Actualmente)
  • Agroindustrias Pomalca (Jefe de Desarrollo de Sistemas)
  • Universidad Nacional del Santa (Docente Universitario Sistemas)
  • Universidad Nacional del Santa (Desarrollador Externo)
  • Universidad Privada San Pedro (Jefe de Sistemas)
  • Universidad Privada San Pedro (Jefe de Registro Tecnico)
  • Universidad Privada San Pedro (Jefe de Desarrollo de Sistemas)
  • Sima Chimbote (Analista de Sistemas)
  • Sima Chimbote (Administrador de Red)
  • Agroindustrias San Jacinto (Jefe de Desarrollo de Sistemas)
  • Desarrollador y consultor Independiente en varias empresas

De Regreso por el Sima Chimbote

Inicios del 2001 el Sima Chimbote me llama para integrarme al Dpto. de informática para apoyarlos con el Sistema de gestión de calidad. El Sima Chimbote se había certificado en la norma ISO 9000 y pretendía actualizar su certificación a la versión 2000 de la norma y para lo cual necesitaba automatizar sus diferentes procesos. En los casi 4 años que estuve en el Sima Chimbote aprendí muchas cosas, dentro de las cuales destaco dos temas muy importantes :
  • Redes y Comunicaciones
  • Gestión de procesos, Calidad y Norma ISO
En redes y comunicaciones me introduje en el mundo Unix, iniciándome con Linux probando después FreeBsd, OpenBsd y NetBsd. Una de las cosas mas interesantes que recuerdo sobre este tema fue el trabajo que tuve que realizar al hacer funcionar de manera integrada las diferentes plataformas con las cuales trabajaba el Sima Chimbote estas plataformas eran:
  • Windows (9x, Millenium, 2000, Xp)
  • Novell Netware
  • Linux
  • Dos
Se logro que todas estas plataformas se puedan comunicar y trabajar con los sistemas de manera transparente. Se ejecutaban en linux los sistemas que se habían desarrollado en Foxpro gracias al DosEmu y también desde el Dosemu se hacia logear al servidor Novell.

En Gestión de calidad y procesos tuve la suerte de Trabajar con Cap. de Navio Diaz Ismodes (Guru) el cual era el asesor corporativo del SIMA Perú sobre estos temas y de quien aprendí muchas cosas.

jueves, 3 de enero de 2008

Trabajando por Todos Lados

Terminando los sistemas de la Azucarera, La Universidad nacional del Santa me propone desarrollarles su sistema de planilla así como su sistema de control de personal. Así que regrese ha Chimbote y me puse ha terminar las cosas pendientes en la universidad y empece ha desarrollar sistemas para el área de planillas. En ese entonces el SIMA Perú específicamente el astillero Sima Chimbote necesitaba programadores así que fui gracias a la recomendación de Flor V. empece a trabajar en el Sima Chimbote Programando en Foxpro y Visual Foxpro, me toco recuerdo realizar la contabilización de letras y contabilidad definitivamente no era mi fuerte. La gente de contabilidad me apoyo para entender el proceso y finalmente implemente la solución de manera correcta. Recuerdo de esa primera experiencia en el Sima Chimbote muy buena una empresa bien ordenada, lo bueno es que la Norma ISO obliga a las empresas a tener un orden en toda la organización esto es bueno ya que es mucho mas fácil implementar sistemas cuando una empresa esta ordenada y es madura a nivel de procesos y funciones.
Los sistemas que ayude ha implementar en el Sima Chimbote son:
  • Sistema de Facturación
  • Sistema de Caja
  • Parte de Asientos Contables
  • Sistema de Información gerencia
Y La modificación de sistemas para enfrentar el problema del PYA2000.

Paralelamente desarrollaba el sistema de planillas de la UNS el cual me tomo 2 meses, ha este sistema le puse mucho interés ya que había mucha expectativa en la Universidad querían ver si un egresado podría desarrollar sistemas que funcionen y garanticen las operaciones de manera correcta. Sinceramente el sistema era complejo pero yo ya tenia experiencia en el desarrollo de sistemas así como para efectuar un análisis adecuado y poder abstraer los procesos. Al tercer mes el sistema se puso en funcionamiento dando resultados positivos realice unos ajustes finales y el sistema empezó a funcionar como se esperaba. En ese momento pensé ojala que mi sistema pueda durar hasta 5 años funcionando para mi como desarrollador eso era la garantía de que era un buen trabajo y que satisfacía las necesidades de la universidad. El sistema se desarrollo el Año 1999 fue cambiado por otro el año 2007 (El actual sistema ofrece las mismas funcionalidades que el que yo desarrolle) esto para mi es muy gratificante ya que supero mis propias expectativas.

Ese año (1999) la nostalgia me embargo y desempolve mis viejos programas hechos en Turbo pascal y pensé que sera de pascal, la respuesta era el maravilloso Delphi esta acá. Entonces pq' no despertar los viejos programas y de esa manera aprender delphi, efectivamente parte de ese año lo dedique a programar en Delphi migrando mis aplicativos de mi vida universitaria, fue muy gratificante Delphi es un entorno muy interesante netamente orientado a la solución de problemas en general, son muy pocas las cosas que no se pueden hacer con Delphi frente a C o C++ . Personalmente Migre mis aplicativos a Visual C++ y Delphi obteniendo resultados similares, como siempre he dicho la mejor manera de aprender un lenguaje de programación es meterte a un proyecto y desarrollarlo en ese lenguaje.

El año siguiente desarrolle sistemas Para la UNS para Grifos, Ferreterias Tiendas comerciales Etc. El sistema de control de personal lo quise implantar con huella digital pero el problema de presupuesto y otras cosas me hicieron que optar por lectora de código de barras combinado con el Control OCX Text to Speech fue una gran novedad en ese entonces. Se desarrollo utilizando PowerBuilder 6.5 (Para mi una de las mejores Versiones en el sentido de la estabilidad) .

Se me presento un problema en el sistema de control de personal, Físicamente las oficinas administrativas y el campus universitario estaban en diferentes sitios separados aproximadamente por 1 a 2 Kilometros la pregunta era Como enviar y traer los datos del campus para ser procesados en las oficinas administrativas ? bueno pensé que tengo a la mano era una linea telefónica, entonces empece a programar un software de comunicación que utilizaba el puerto serial en este caso el del Módem, prepare mis cables para hacer las pruebas con el Módem null (Netamente las pruebas se realizaban por el puerto serial de 9 y 25 pines) y cuando la solución estaba lista recién lo probábamos en el Módem y las lineas telefónicas. La solución fue un éxito eso me abrió otra puerta el maravilloso mundo de las comunicaciones.
El sistema funcionaba muy bien registrando y controlando a los trabajadores, el trabajador registraba su fotocheck en el lector de códigos de barra y el sistema le mostraba su foto pronunciando su nombre en el momento del registro. La comunicación entre el campus y las oficinas se realizaba en lotes en función a las necesidades del área de planillas ellos jalaban la información del campus las veces que deseaban.
Finales del año 1999 e inicios del 2000 Desarrolle un sistemas de Compras, Ventas y almacén que se convertiría en el núcleo de muchos otros sistemas para Ferreterías, Grifos y Tiendas comerciales. Mi plataforma de desarrollo era Powerbuilder y Microsoft Sql Server, algunas cosas que no podía hacer con Powerbuilder lo implementaba en dlls ya sea en Visual C++ o Delphi.

Finales del año 2000 me contactaron para desarrollar un navegador de Internet Lógicamente esto no lo iba a hacer de cero, solo utilice el control Activex de Internet explorer y le cambie la mascara, la idea de la empresa que me contrato era tener su propio navegador entre comillas esto y atraves de tener su propia publicidad, este navegador debería sincronizarse con un programa para medir tiempos de navegación y otros datos.
Con la experiencia que había tenido programando el puerto serial la pregunta que se me planteo y como es la comunicación en las redes, la respuesta fueron los Sockets, y para trabajar con esto Visual C++ y Delphi son los indicados, como yo ya conocía Delphi y en Visual C++ solo había hecho algunas cosas como la migración de algunos aplicativos de mi vida universitaria, decidí hacerlo en Visual c++, los resultados son muy interesantes y el mundo de los sockets me tenia cautivado. Empece ha estudiar mas a fondo los protocolos de Red especialmente el dominante TCP/IP.

Así pues los años 1999 y 2000 pasaron muy rápido, Dios me dio la oportunidad de desarrollar varios sistemas por diferentes empresas lo cual me serviría en un futuro cercano
.


A Trabajar en Serio

Después de la experiencia del colegio, me llamaron para desarrollar un sistema de planillas en una Empresa pesquera , lógicamente que el lenguaje que deseaban que se desarrolle era Clipper ya que en ese entonces en el medio era uno de los lenguajes dominantes.
Clipper no conocía, acepte el proyecto y que piensan que paso? lo hice en pascal no no, ya me deje de cosas y me compre un par de libros de clipper de la versión 5.3 me dieron 2 meses para el proyecto así que dije en tres semanas estaré dominando Clipper y el resto del tiempo desarrollo el sistema. Pues en el fondo se que un lenguaje de programación es solo una herramienta del profesional de sistemas, así que manos a la obra.
Esta es la primera experiencia de manera real que yo tuve profesionalmente ya que una empresa pesquera es compleja en el sentido de sus procesos y la forma particular en la que maneja sus pagos.
Visite la planta realice las entrevistas pertinentes abstrayendo los procesos, en aquel entonces el análisis orientado a Objetos estaba empezando en el medio y lo que reinaba era el análisis estructurado. así que empece realizar el análisis, una cosa que he aprendido con los años es que los sistemas, los programas los análisis los hacen las personas no una metodología en particular; el sentido común, la habilidad y la experiencia son los factores predominantes para que un proyecto tenga éxito, lógicamente se necesita una formación para ello.
Veo actualmente a muchos "Analistas" que se pasan todo el tiempo peleándose que si la metodología tal la han seguido al pie de la letra y si tal o cual diagrama se olvidaron en fin etc. y como resultado del proyecto veo que se obtienen desastres que realmente no son funcionales ni dan al cliente lo que el desea.
Hoy por hoy un programado es aquel que siguió un cursillo de 2 o 3 meses y ya es programador como se han degenerado las cosas, ahora cuando converso con un egresado de la especialidad de sistemas y le pregunto que es lo ara en su vida profesional entonces me responden que el es un jefe de proyectos y un arquitecto de software. Para nuestro medio esto no es acertado tenemos un enorme forado en la vida universitaria ya que al docente universitario le falta blue jean (Experiencia en el campo) y solo le habla de teorías que en su vida ni siquiera ha intentado plasmar ni comprobar.
Cuando lo mas natural en el mundo es Ser primero programador Junior (mínimo 2 años) y luego programador senior (mínimo 2 años) luego analista Junior (mínimo 2 años), después analista Senior(mínimo 2 años) y finalmente jefe de proyectos y después de haber desarrollado exitosamente por lo menos 10 proyectos como jefe recién ser un Arquitecto de software.

El sistema que me habían pedido desarrollar era de planillas (Nominas) para pago a empleados, Obreros y jornaleros, efectivamente con mucho esfuerzo amanecidas y muchos problemas termine el proyecto con 1 mes de retraso.
Recuerdo con mucha alegría las primeras planillas que se imprimieron con ese sistema y las primeras boletas que se entregaban a los trabajadores. "Funciona hay que hacer algunos ajustes pero nos has ahorrado varios días de trabajo pq' con Qpro nos tardábamos una semana en procesar las planillas y boletas" es lo que me dijo el encargado de planillas fue mi primera satisfacción que me lleno de mucha alegría, aunque la paga no era muy buena, pero no es lo único en la vida Gracias por esa oportunidad Alfredo. Este sistema significo mucho para mi ya que me introdujo al desarrollo de sistemas para las empresas y me dio seguridad para seguir adelante.

Les debo las capturas de las pantallas Ojala que pueda encontrar los programas y mostrarles algunas capturas de ello.