Tuesday, January 19, 2021

Algunas ventajas de ser un programador

Algunas ventajas de ser un programador

 En el blog anterior escribí acerca de los retos que tiene un programador (ver aquí), es tiempo de contarles acerca de las ventajas de ser un programador “no todos son desafíos, aunque muchos disfrutamos de ellos” … Trataré de resaltar lo que considero los motivadores, las ventajas y competencias relevantes que existen en el mundo de la programación o en el ecosistema TI. Y no haré referencia a los salarios o puestos de trabajo porque de eso abundan blogs o noticias (mayormente por parte de quienes se encargan del mercadeo en las instituciones o entidades educativas) creo que de esto han hablado bastante y en ocasiones más de la cuenta.



Quiero resaltar algunas de las cosas que considero mucho más importantes y trascendentales; Existen muchas ventajas de ser programador y desarrollarlas debe ser el reto de las Universidades. Esas promesas de valor están todo el tiempo en mi mente, en mi rol de docente, constantemente me pregunto: ¿Cómo desarrollar integralmente las capacidades necesarias dentro de cada nivel académico y en todo el ecosistema TI?

NO sólo es importante desarrollar habilidades en el uso de herramientas, claramente eso es efímero, (se pierde o cambia con el tiempo) lo realmente trascendental es cultivar valores; ayudar a reconocer y lograr conciencia del entorno que transformamos; respetar no solo lo que es importante para nosotros como humanos, si no para todos los seres y nuestro ambiente.

Juego y desarrollo profesional:

Hay varias competencias y habilidades blandas que están ligadas al crecimiento humano y que deben ser desarrolladas ampliamente junto con las duras. Entre ellas quiero resaltar algunas que considero necesarias (ventajas y herramientas) no solo para la profesión si no para la vida.

Estas son; la visión holística; las capacidades de abstracción y fragmentación; el relacionamiento rápido y preciso de elementos; la comprensión de múltiples sistemas; el rehuso y la modularidad; el desarrollo a través del uso y entendimiento de patrones. Este último nos enseña que la mayoría de las cosas que en principio son muy complejas, se vuelven extremadamente fáciles.

“hay que hacerlo bien una sola vez y luego será un juego de lego” D.O.

Es muy fácil construir sobre lo construido y reutilizar las soluciones previas. Siempre que se tenga un buen diseño, una correcta arquitectura, programar o refactorizar, será muy fácil. Tanto así, como “divertirse creando lo que nuestra imaginación dicte, con fichas de Lego”.



Recompensa constante:

Siento quedarme corto con la descripción que voy a intentar dar, para describir la sensación al terminar de programar; en ocasiones es algo insuperable, les aseguro que “aunque suene extraño”, hay un éxtasis al lograr que un algoritmo compile… ¡Es indescriptible! es una sensación que, en algunos casos es inmejorable. Solo quien ha programado puede saber bien a lo que me refiero… Es algo así como la satisfacción del deber cumplido, una recompensa por todo el tiempo detrás del computador. Similar a lo que hoy en día “para un centenial o milenial o quizás vijenial” significan un montón de «like».

Tiempo libre:

Dependiendo del tipo de trabajo; es posible que no todo en la vida del programador sea estar frente a un computador. Construir software, distinto a lo que muchos creen, no es lo mismo que construir puentes; no es una tarea operativa. Programar requiere tiempo de ideación. Y en ese sentido, en algunos trabajos hay tiempos “muertos” para la codificación; momentos que son necesarios para la inspiración, el análisis y el diseño de las soluciones y estructuras de software. En definitiva, esos tiempos son los que nos alejan de la pantalla del computador y hace un poco más amable la profesión, si no es así, piensa bien lo que estás haciendo con tu salud.                



Trabajo en equipo:

Los proyectos de ingeniería demandan el trabajo en equipo, armonioso y bajo valores. Por más talento y tiempo que se tenga, es muy difícil que los avances en tecnología y los desarrollos de proyecto se realicen por una sola persona o en detrimento de otra. Bajo el principio de que nadie parte de cero; nadie puede hacer algo por sí solo (la ingeniería es un constructo social).

El trabajo en equipo, multidisciplinar y transdisciplinar, es una de nuestras necesidades y ventajas, hay roles que dependen más de la interacción que otros, pero en general es así. Por ejemplo nosotros los arquitectos tenemos como reto servir de puente o de traductor de roles, en ocasiones para los casos más complejos, servir de “Magos” para darle armonía al sistema, para hacer interactuar de manera adecuada a cada parte.

Economía estable:

Sin hablar de salarios o puestos; la economía es estable debido a las diversas oportunidades para la creación, el emprendimiento y solución de problemas. A nivel mundial se reconoce a la economía creativa y digital como una de las más prometedoras. La tecnología es el elemento con el cual se potencia el desarrollo de cualquier sistema, es por esto por lo que cada vez la tecnología es más importante, día a día está más permeada en todo lo que hacemos, y no será difícil ver que (con el tiempo) la tecnología no solo hará parte fundamental de nosotros, sino que seremos tecnología.


Constante Ideación:

La lógica que admiramos o en ocasiones amamos en la matemática, se presenta de manera similar en la programación; nos ayuda a tener ese pensamiento sistémico; nos guía en la producción de flujos de procesos ordenados; básicamente, es ese el generador de ideas porque permite la explosión continua de innovación.

Cualquiera diría que detrás de un pensamiento tan estructurado o metódico, no puede haber nada nuevo, que todo es repetitivo. Sin embargo, con seguridad podemos decir que nadie hubiese podido pensar el celular tal y como lo conocemos (con todas las características que hoy en día como humanidad hemos logrado) y ese desarrollo se debe precisamente a que las actividades están acompañadas de un pensamiento sistémico, ordenado, metódico; claramente se requiere una chispa de creatividad, pero el método es fundamental para hacerla andar, para mantenerla constante.

Pensamiento crítico, social y político:

Una última en este blog (y no menos importante) es la posibilidad de hacer transitividad de todos esos procesos, habilidades y capacidades para analizar los comportamientos y dinámicas (políticos y sociales). El pensamiento crítico y analítico, está de la mano en todos los proyectos de ingeniería, los proyectos que realmente valen la pena son aquellos en los que se tienen en cuenta, no solo los aspectos técnicos si no relacionados (los económicos, sociales, políticos, medio ambientales, etcétera).

Ese desarrollo de las competencias para la interacción con estas otras disciplinas son así una ventaja y, además, como lo veremos en un próximo blog; un reto y una responsabilidad. Estos aspectos con seguridad son ampliamente desarrollados a través de otras las profesiones, pero están íntimamente relacionados y son necesarios en nuestra profesión.

ver más: 

Entender la importancia y retos de la programación #CreadoresTI #Fedesoft #LaClaveEsElSoftware


Wednesday, January 13, 2021

Los retos a los que se enfrenta el programador del siglo XXI


En el post anterior...

    tienen; tanto el trabajo en casa, como el teletrabajo. No es nada fácil permanecer incontables horas frente al computador: Muchos han experimentado insomnio, ansiedad, incomodidad, estrés y no solo es por el virus, no es tarea fácil lograr la armonía de 3 espacios en uno solo.Conciliar casa, diversión y trabajo en un solo lugar requiere métodoseparar las actividades y hacer que no se traslapen, necesita mucha disciplina y conciencia. De todas formas, este panorama no es solamente de los programadores, hoy todos estamos frente a un computador sin importar la profesión.  Ver más 

¿Cuáles son los RETOS para el programador en la cuarta revolución industrial?

Los retos para el mundo de la programación en este blog son 5:

1.       Primer reto, “Debemos construir hábitos”:

Para que este arte, trabajo o profesión no afecte nuestra salud a corto y largo plazo; o como se diría coloquialmente: “no nos cobre factura”; es necesario construir hábitos que garanticen la salud mental y física en el trabajo; hábitos para que nuestra pasión no se convierta en un enemigo silencioso en contra de la vida.

Al final, todas las profesiones (hoy en día son pocas las que faltan) durante varias horas al día tendrán que estar interactuando con un computador o programando. Es por esto por lo que cada uno de nosotros va a estar experimentando todos los impactos derivados del sedentarismo y las desventajas de estar conectados todo el tiempo a una máquina; Estas consecuencias son tanto físicas como psicológicas (Túnel del carpo, dolor de cabeza, pérdida de la vista, dolor de rodillas, lumbagos o dolores de espalda, estrés, ansiedad, depresión). Esto es un asunto que ya pasaba en algunas empresas pero que se ha evidenciado mayormente con la pandemia (covid-19).

Por eso, debemos hacer frecuentemente la pregunta de reflexión de Yuval Noah Harari:

 -¿Cómo se aporta alegría a un ingeniero aburrido, con un salario excesivo y sobrepeso? 

 Quizás la respuesta está en las poco cumplidas pausas activas o en entender que no somos máquinas sino personas.

2.       El segundo reto, “Cambiar petróleo por software”:

Este reto llama la atención sobre todo para Latinoamérica y en especial para países dependientes de la producción petrolera:

Está dividido básicamente en 2 aspectos; lo primero es cambiar la configuración de las fuentes que generan el mayor producto interno bruto y lo segundo (que está conectado) es, permear de manera inteligente todos los sectores productivos.

No basta con cambiar los porcentajes de participación en cada uno de los sectores, es necesario crear nuevos y hacer más productivos los actuales. Un nuevo sector que además de declarar su existencia (nominarlo) este sector debe atender exclusivamente los procesos de Ingeniería o desarrollo de software (que es distinto a sistemas o TI).

Permear no significa que un ingeniero tenga que saber de todos los sectores de la economía, permear la economía de manera inteligente no es hacer de todo para no morir de hambre, no es servir de maquila a proveedores, quienes exigen todo tipo de soluciones y finalmente vender talento a bajo costo.

Permear la economía de manera inteligente es desarrollar productos especializados que generen valor agregado a cada sector y contar con personal calificado para cada uno de ellos. En otras palabras, es importante que fortalezcamos las capacidades del personal TI, que nos podamos especializar en sectores específicos de la economía y que en cada uno de estos sectores, se entienda la demanda tecnológica y el potencial que tiene para el apoyo a sus productos y servicios.

Hay que preguntarnos si hay más satisfacción al recibir dólares o hay algún encanto en la transformación progresiva y mejora de todos nuestros sistemas productivos.

Tomar una decisión y actuar en consecuencia es necesario para el sector del desarrollo de software; saber si nos la jugamos por incrementar el producto interno bruto a partir de la dotación de capacidades tecnológicas en cada sector o seguimos haciendo parte de los procesos de desarrollo de software de terceros.

3.       El tercer reto: De ser mano de obra a exportador.

La empresa o el sector software en colombiana debe pasar de ser productor de mano de obra a prestador de servicios automatizados, de exportador de sistemas software a exportador de ecosistemas de software.

Para esto se necesita revolucionar, acelerar la Industria del desarrollo de software; desarrollar ecosistemas requiere más que muchos codificadores, programadores, excelentes programadores. Para que eso sea posible deben existir oportunidades más qué actitudes, en especial para los que demuestran talento para desarrollar.

Es importante cultivar en los programadores capacidades innovadoras más que habilidades, estas últimas, al final se traducen en maquilas de terceros. Con este reto solventado, ese perfil desarrollado los salarios buenos no sólo estarán afuera, sino que harán parte de nuestros ecosistemas de desarrollo.

4.       El cuarto reto: Cambiar Jardines por ecosistemas:

Programar no es crear jardines es crear ecosistemas; programar es mucho más que crear una rutina de instrucciones o formularios, aunque el desarrollo de estos jardines también requiere algunas habilidades, estudios y mantenimiento constante. Su complejidad es menor y automatizable, si seguimos pensando en desarrollar aplicaciones vamos a desaparecer, pues esto pronto estará en manos de robots y si miramos más cerca esto ya está en manos de robots.


Programar será desarrollar ecosistemas y desarrollar un ecosistema no es posible sin el desarrollo de valores en la comunidad que lo soporta, valores como el amor, la humildad, la armonía, la sustentabilidad y a sostenibilidad reflejadas en la Paz sacrificio. Programar se convierte además de hacer código en generar el clima para poder exportar software; debemos ser sólidos en nuestro país, en nuestra región, esto es respetar, apoyar y confiar en las empresas locales.

Es importante desarrollar jardines (pequeños aplicativos) pero es fundamental tener empatía y amor propio para consolidar ecosistemas de desarrollo (respetar, apoyar y hacer parte los emprendimientos emergentes).

Necesitamos talento y oportunidades reales para los programadores locales; es necesario afinar las exigencias que las empresas hacen a los programadores, las convocatorias deben exigir capacidades que realmente demanden cada uno de los sectores. Colombia tiene gente muy capacitada pero no bien aprovechada; tenemos un sin número de gente con pregrados, posgrados, especializaciones, maestrías, diplomados, certificaciones (1, 2, 3, …n) y podría seguir la cuenta.

La demanda de talento TI debe ser diversificada y apropiada a las necesidades que tiene cada sector y los distintos roles (se necesitan gerentes de proyecto, programadores, líderes de dearrollo, tester, analistas, arquitectos e ingenieros de sistemas) La demanda no debe ser solo por Codificadores.

Más formalidad empresarial: las empresas y corporaciones deben ver a TI como un aliado y no como un gasto, las empresas deben entender que un buen consultor TI, no es un gasto sino un potencializador de las capacidades de la organización. necesitamos entender las bondades de la forma se valorará más el rol o los distintos roles de un ingeniero de sistemas visualizar oportunidades y luego Cerrar todas las brechas de ecosistemas como también tecnológicos como de competencia.

1.       El Quinto reto: Hay que llegar a tiempo

Hay que llegar a tiempo o NO habrá valido la pena: “no importa si llegamos, si lo hacemos tarde”.

Este último reto tiene como referente la actual pandemia, a pesar de algunos esfuerzos que se han realizado para implementar soluciones tecnológicas, la capacidad de despliegue sigue siendo lenta. No contamos con suficiente infraestructura local, hay demasiada importación, dependencia de tecnología y además de eso, hace falta articulación entre ciencia, tecnología, academia y política.

Para el despliegue oportuno de sistemas, que suplan las necesidades vitales, para tener diligencia y transparencia en los datos, en las licitaciones… hace falta capacidad y un aprovechamiento adecuado de TI. Solo bajo un uso adecuado de la tecnología, del software, podremos cumplir las demandas de todos los sectores productivos del país y por consiguiente mejorar la calidad de vida de los colombianos.

En Colombia hay muchas ideas innovadoras, pero se quedan en ideas si no se ejecutan a tiempo, el software bien usado hace eficiente la academia, el gobierno, el estado y las empresas.

Ver màs; https://www.youtube.com/watch?v=bSgGAnDReQg