El largo tiempo de la Programación

Para tocar este tema que he querido exponer, debo tocar otras áreas de trabajo en el mundo IT (Informática y Tecnología) para entrar e comparaciones.

A diferencia de otros tipos de trabajo en el IT, las personas que trabajan en la programación suelen trabajar más seguido en algo que los que en IT trabajan en otras áreas. Por ejemplo, el área de Soporte Técnico, para muchos, esta área es considerada la de menor rango.  Revisar los equipos, las impresoras, la red (desde un punto de vista no tan completo como el hablar de CISCO, sino mas sencillo).  El soporte técnico es uno de los mas pocos pagados en el mercado. Las personas que tienen como trabajo revisar la fotocopiadora, las impresoras, el porqué se colgó el computador, es el tipo de trabajo en IT que estará basado en el pago mínimo estipulado por ley en muchas empresas.

Quien trabaja en Soporte Técnico en ocasiones se siente como un asistente al que llaman cuando algo falla, además de que se presta a frases como “no sé que tiene, pero arreglalo rápido que tengo que seguir trabajando (y la persona se levanta de su puesto para que hagas lo tuyo) y eso si tienes suerte, porque en otras ni se paran, incluso cosas opuestas “no, ahora no que estoy ocupado(a), vuelve más tarde… yo te aviso/llamo” esto ultimo no debe de pasar, si quien hace estos trabajos de soporte técnico no se planifica bien y si no ponen de su parte las demás personas, será un trabajo algo odiado.

Lo que si es bueno del trabajo de soporte técnico es que es un estilo de trabajo con situaciones que aparecen y en muchas ocasiones son solventadas al momento, algo rápido o al menos es hablar de una situación con su respectiva solvencia el mismo día.  Algunas cosas llevan más tiempo (días), pero normalmente son problemas puntuales que se atienden inmediatamente (más en base a su prioridad) por lo que no son muchas las cosas que quedan pendientes para el siguiente día (si pero pocas).

En un solo día el trabajo de soporte técnico puede solventar varios problemas, en otras cosas como formatear y volver a instalar todo en un computador puede llevar la mitad de un día o en ocasiones un día entero, pero mientras el software se instala, se pueden ir realizando otras cosas por lo que siempre se pueden atender otras cosas que empiezan y terminan en un mismo día.

Pasando a tocar otras áreas….

La programación es un área más laboriosa, toma más tiempo, son cosas que cuando empiezan, pueden pasar muchas semanas o meses hasta que esté listo.  Si se realizan cambios o agregados, el tiempo de entrega se alarga, es un tipo de trabajo en el que el cliente o tu jefe, paga y va pagando conforme se va realizando y creciendo lo solicitado, pero eso es solo si eres parte de la empresa. Si tu caso es ser un Consultor Outsourcing Freelance, es posible que sea por proyecto, donde puedes cobrar un porcentaje mientras trabajas o recibir un único pago y completo al terminar tu parte.  El problema con esto ultimo es que si tu desarrollo es de 1, 2 o más meses, no es bueno trabajar tanto para cobrar al final una vez culminado.

Otro problema con la programación es la ignorancia que tiene la gente que solo sabe encender el PC, usar las aplicaciones Ofimaticas y ver sus correos (y usar messenger).  Pueden considerar muy costoso el proyecto, solo ven el pago final que es lo que les interesa, para saber si pueden costearlo.  Normalmente las cosas de alto costo pueden ser pagadas en cuotas, el detalle importante es el no haber trabajo 10 horas al dia durante 1 mes para cobrar menos de sueldo mínimo, sino preferiblemente un poco más de eso.

En ocasiones comparó la larga labor de un programador con otras áreas muy distintas. Quien escribe un Libro o una Novela, por ejemplo, el trabajo solo vale cuando este completo y este listo, terminado.  Un Sastre que hace un traje, quien hace un levantamiento de información (tomar medidas, saber que telas y color usar, y el diseño que desea el cliente) comenzar a trabajar y eso toma días o semanas hasta que esté listo y posiblemente cobrar cuando esté terminado o el cobrar un porcentaje previamente.

Lo mejor es cobrar un anticipado (posiblemente un 30% al inicio, un 20% a mitad del trabajo, ya seria 50% del trabajo cobrado y luego otro porcentaje o al finalizar el otro 50%).  Esto también depende mucho del área de trabajo.  Por ejemplo en el área de Redes, donde se le pasa un presupuesto a la Empresa para montar un DataCenter (RACK, Router, Swiches, Patch Panel, cableado, mano de obra). En ese tipo de trabajos normalmente se cobra el 70% por anticipado, ya que son cosas que se deben comprar, y obviamente quien las paga es la Empresa.  Cuando se rompe una tubería en casa, y el plomero va a visitarte o el pintor, te indica que se necesita para que le des el dinero y pueda ir a comprarlo para volver, instalarlo y finalmente cobrarte su mano de obra.  El de Soporte Técnico pide de caja chica lo monetariamente necesario o una carta de prestamo (en acuerdo entre proveedor y la empresa) para salir a buscar lo necesario (fuente de poder, fan Cooler, un disco, etc).

En la programación no hay nada que salir a comprar en ninguna tienda o proveedor, todo es software que ya se tiene (a no ser que se tenga que comprar licencia en una empresa, compran el producto y así luego para trabajar con éste), en otros casos, se van por la piratería de software y se evitan gastos.  No se compra nada para contratar a un programador, pero el trabajo es costoso por el largo tiempo que toma el desarrollo de lo pedido.  Y algo que nunca deja de estar presente sin importar de que área de trabajo se hable. Bien sea para un Diseñador Gráfico, un Arquitecto, un Programador, un Contratado para montar la Red… siempre por factores que no se pueden controlar, el plazo o tiempo de entrega se alarga y el costo se incrementa un poco en muchas ocasiones.

En el ámbito de redes, el presupuesto dura poco, es decir, si te traen un presupuesto el Lunes, pero se deciden por contratarte el Miércoles de la siguiente semana, el presupuesto ya no es el mismo.  Las cosas suben de precio, y se depende de a cuánto se consiguen las cosas una vez aprobado el contrato y salir a buscar las cosas.  Puede ser que no se consiga lo que buscas y debas comprar otros de otra marca y más costosos o más baratos, y de igual forma con los de soporte técnico, un presupuesto de un PC de Escritorio o de alguna de sus piezas puede cambiar de precio en los pocos días.  Por eso las empresas que tienen un perfil muy burocrático de papeles y aprobaciones de un superior, ocasiona que deba estarse solicitando nuevamente presupuestos al momento.

Pero en la programación esto no pasa, el presupuesto puede variar conforme, la vida cada día sea más costosa en ganársela, pero en ese mundo el software no caducara (o si pero en meses o años, por nuevas versiones del software) pero aun hay trabajos en programación donde las herramientas son paquetes de software que no necesariamente son las versiones más recientes.  También porque existen Aplicaciones desarrolladas de hace años que solo requieren de mantenimiento y fueron desarrolladas en una época donde esos Software de desarrollo estaban en su auge y migrar todo ese sistema a lo actual no siempre es una buena idea, solo y únicamente cuando es necesario, cuando el sistema ya no puede evolucionar por las limitaciones de las herramientas bajo las cuales fue creado, y es entonces cuando una migración debe hacerse, eso toma tiempo, dinero y sobre todo investigación.  Me atrevo a decir que aun hay cosas hechas en COBOL que hoy en día aun están presentes y que tienen a alguien que les haga su respectivo mantenimiento, un programador de Edad, porque hoy en día tocar ese lenguaje ya es cosa del pasado, cosa de dinosaurios, pero aun hay dinosaurios por ahí que aun caminan (refiriéndome a esos sistemas, no tanto por el programador).  Además de que las empresas tratarán siempre de resolver invirtiendo lo mínimamente necesario, reducir costos es lo primordial, y en mantenimiento igual, preferirán date más horas libres por tiempo extra de trabajo invertido que pagarlas en dinero.

Otra cosa sobre como aparece de la nada un programa, desde recoger la información, conversarlo, ajustarlo, esquematizarlo y luego sentarse frente al PC a iniciarlo, ese programa no vale nada si esta hecho a medias, si tiene errores que impiden el propósito deseado por el cual se hizo.  Un programa puede a futuro no evolucionar o hacerlo muy poco, depende de como varia la infraestructura de gestión en dicha organización u empresa. Yo he hecho programas pequeños del cual no vuelvo a saber nada del cliente o a duras penas cada 3, 5 o 8 meses un leve ajuste, algo nuevo, algo que cambiar porque el Gobierno cambio algo en las leyes que absorbe algún proceso del programa y debe ajustarse, correcciones.  Por correcciones al comienzo, se llama mas seguido, con el tiempo una vez corregido todo esos bugs, vendría una asistencia menos activa, como lo mencionado de agregados o ajustes, hasta un punto en el que esas solicitudes sean cada vez más lejanas o hasta un punto de no saberse más del cliente. Si el programa le sirve así como quedó y abarca todas sus necesidades como esta, entonces hasta ahí llego (al menos hablando de ese hijo nuestro, a no ser que ese cliente quiere que le hagan otro programa para otras cosas).

A personas que puedo decirles “colegas” me he encontrado más a gente en el área de Soporte Técnico, de Redes, que Programadores (sin tocar o importar en que lenguaje o que tantos lenguajes sabe, así sea uno solo y el que haya hecho programas, 1, 2 o más en el campo de trabajo al menos para mi, esa persona es un programador, hay cosas allá afuera que creo y las usan quienes se las pidieron).  Pero la programación para mí o como lo veo, es el área más compleja del IT, luego de esa considero que la de Networking Avanzada y de ultimo, la de Soporte Técnico, la cual es fuerte cuando muchas cosas fallan y muchos aparatos se acumulan por eso.  No es que la menos precie, todos hemos hecho o hacemos soporte técnico alguna vez o lo seguimos haciendo.  Cuando algo falla (por ejemplo como cosa rara, cuando es hora de almorzar o hora de irse ya a la casa fin del día – entonces sorpresa! algo falla), bien sea un equipo o el propio servidor.

Pero conozco a personas de Soporte Técnico que sin exagerar, en el trabajo han tenido sus buenas horas y buenos ratos para dedicarse a leer la prensa, bajar musica de internet, ver su facebook e incluso, ver un partido de fútbol por streaming o porque su PC tiene tarjeta de TV.  El programador en cambio, que sabe que su programa tendrá un tiempo de desarrollo de 1 mes, o 2 o más, puede estar fijo sentado frente al PC tirando código… claro que puede darse un descanso, pero no es igual como lo previo, donde descansan porque no tienen ninguna luz roja que atender hasta que esta aparezca.

Pues me han dicho, mejor que entres en X lugar donde tu trabajo sea más X cosa que no sea programar, eso de programar toma mucho tiempo, es un fastidio cuando alguien siempre esta atrás tuyo preguntándote ¿cuánto falta? ¿te falta mucho para terminarlo? y si agregan cosas en el camino mientras ese hijo nuestro nace y crece, pues esa meta de “ya esta listo!” se ve más lejos.  Además que algo está realmente listo luego del siguiente ciclo: Desarrollo–>Depuración–>Prueba Piloto—>Correcciones—>Prueba Piloto—>Esta Listo!

La programación no es hacer pan caliente y sacarlo rápido del horno listo para comer. Otra cosa es cuando todo es vigilado con tiempo de entrega (yo he tenido la muy buena suerte que nunca me han impuesto tiempo de entrega, por lo que mi perfil de vida en ello a sido de que el programa esta listo cando este listo). Eso gracias a que no he sido vigilado por Proyectistas o Planificadores de tiempo a tiempo.  Eso ayuda a no tener estrés y sobre todo, a no trabajar tiempo super extra que igual lo he hecho, porque no queremos que se vea que uno se tarde eternamente en hacer las cosas.  En lo que si he trabajado con el tiempo contado es en ayudar a montar una red, con eso madrugue 2 veces y nunca fui a dormir (es decir, trabaje unas 36 horas o algo más corrido) porque eso tenía que estar listo para X fecha.

En programación, madrugue una sola vez y realmente no fue tan necesario (realmente fueron 2 veces también pero en la 2da si dormí a las 4am cuando veía que estaba empezando a meter la pata en vez de avanzar) y en la 1era me dormí en horas de almuerzo como 30 minutos o casi una hora sin darme cuenta (porque tu no te das cuenta cuando te vence el sueño, lo sabes cuando te despiertas de repente, no te das cuenta cuando tus ojos y tu cabeza cae, pero los que están ahí contigo que si durmieron su noche bien, si lo notan) y las ojeras te hacen ver como Michael Jackson en Triller, pareces un zombie o te ves mas viejo, porque la falta de sueño te acorta la vida, en serio.

Todo muy chevere y bonito hacer algo que creaste tu mismo y lo usas o lo usan otros y que nadie entiende y saben que es complejo y que si necesitan que eso crezca o mejore, a quien tienen que llamar es a ti.  Pero estar pegado frente a un PC 10 horas o más al día (haz ejercicio si así es tu vida de trabajo porque te pondrás gordo y a futuro tendrás problemas cardiacos).  Si hay que madrugar muy seguido o trabajar fines de semana también pues, eso es algo que al menos yo no quiero, sino, terminara uno con el aspecto de un sujeto de 40 años cuando realmente tienes 28 o 30.  Nada como tomarse el fin de semana “completo” para despejar la mente, dedicarlo a la familia, a salir a ver familiares, a pasear, a ir al cine, así sea a estar en casa acostado vendo TV todo el día, pero no de Lunes a Lunes metido en lo mismo.  Tal vez se pueda adelantar algo el fin de semana pero unas horas, no el día entero.  Hasta las noches de los días laborales tomate tu descanso, no estar hasta las 10pm, 11pm o más frente al PC “trabajando”, eso es solo aceptable en raros casos, que si suceden, eso es seguro.  Esta bien de vez en cuando que haya que correr y trabajar muchas horas más y desde casa (o siempre en casa si trabajas desde casa) a apurar el tiempo de desarrollo porque así lo amerita, como el que va un fin de semana a la oficina, pero no siempre todos los fines de semana, solo cada de vez en cuando, porque si eso es seguido, las noches y fines de semana en donde trabajas, entonces estas siendo explotado, que si lo sé bien, yo pase por ese tipo de explotación.  Hay que hablar con RRHH o Gerencia o Presidencia si eso pasa mucho, que te paguen tus horas, y preferiblemente con “dinero” no con más horas libres que a la final tal vez ni puedas a agarrar, hasta en tus descansos te llaman, mucha gente apaga el teléfono al salir el viernes del trabajo, se compran dos y el otro solo para la familia y tal vez algunos allegados, pero no para llamadas del trabajo, hay cosas que deben ser sagradas o saberlas separar, cosas que no se deben mezclar pero hay gente que vive para trabajar y no trabaja para vivir (que si conocí a uno así y espero no encontrármelo más), gente que te mira mal si no te matas como ellos o si sales “sólo un día o un par de veces” a las 5:50pm y no a las 6:00pm y que no pase algo así si llegas tarde por la mañana.  Pero por naturaleza soy puntual y ni llegar tarde ni salir antes es mi caso.

Pues como yo lo veo, el que programa tiene una vida algo más dura que otros en IT, a no ser que otros hagan de todo y sean los únicos en su área (sin compañeros que den apoyo) eso también es fuerte, que también lo viví, sin dejar de mencionar cuando te mandan a hacer cosas que no son de tu área de trabajo, pero como fue tu jefe o el inmediato mayor a éste que te lo pide, terminas también haciendo cosas que no tienes porque estarlas haciendo, pero no puede decírsele que no, a no ser que exista una prioridad por tu atención y de tu área que debas atender y que esa persona vea que así debe ser (ejemplo, se murió el servidor).

-Fin-


About this entry