¡Vaya! Lo siento mucho. Me he equivocado. No quería, pero por mi culpa esto no funciona bien. Pero, no te preocupes, vamos a arreglarlo, lo importante es saber lo que ha pasado y el porqué.
No sabéis la de puertas que te abre ser sincero y decir que la has liado parda, asumir que te has equivocado, que has cometido un error y que por tu culpa hay alguna consecuencia. Todo el mundo se equivoca, pero no todo el mundo sabe reconocerlo. El problema no es que la gente se equivoque, el problema es que la gente oculte que se equivoca.
A mi, personalmente, ser sincero, demostrar tus errores y trabajar por corregirlos me ha supuesto más beneficios que problemas. La gente, y más la gente que está ocupada, valora mucho la sinceridad y las ganas de hacer las cosas bien. Al final, esconder un problema solo puede hacer que agravarlo, generando más inconvenientes y demorando en tiempo, esfuerzo y dinero su solución.
Ten hijos, será divertido
Yo las he hecho de muchos colores algunas más jugosas que otras, pero desde el principio he comprobado que asumiendo tus errores, poniendo la flecha sobre ti y aportando soluciones todas las aguas se calman.
Tenso, pero no Nervioso
Hay otra frase o concepto que también me gusta mucho repetir y aplicar en un arranque o en una metedura de pata en la que estoy trabajando para solucionar es «Estoy tenso, pero no nervioso». Porque creo que ponerse nervioso, perder la calma, no ayuda a arreglar algo que no funciona. Tampoco tomártelo como si no fuera importante. Debes estar tenso, estar centrado en lo que está ocurriendo y en las soluciones a aplicar y, una vez pasada la marejada, aflojar la tensión hacia el humor, a ser posible.
Así… No…
Somos un equipo
Esto es otra cosa importante que debe salir de uno mismo. uando hay un error de un compañero de equipo, es un error de todo el equipo y vamos a solucionarlo, no a señalar al que lo ha generado. Hacer escarnio público de alguien solo ayuda a nuestro ego, no a solucionar el problema.
Última reunión de equipo de Accenture Botswana
Actuar como un equipo te hacer conseguir las cosas sin esfuerzo, porque además de trabajar te lo pasas bien. Los problemas se diluyen y los éxitos se engrandecen.
El Test de Turing es un experimento, propuesto por Alan Turing (uno de los padres de la informática), en el cual un humano interactúa con un agente no revelado, que podría ser otro humano o una máquina. Ambos están separados de tal forma que no pueden verse ni escucharse, comunicándose únicamente a través de texto. Si después de la interacción el humano (5 minutos) no puede distinguir si estaba conversando con una máquina o con otro humano, se dice que la máquina ha pasado el Test de Turing.
La revolución de las máquinas
Importancia del Test de Turing
Este test ha sido de suma importancia para medir el avance y las capacidades de los sistemas de IA. Aunque es cierto que el test tiene limitaciones y ha sido objeto de críticas, sigue siendo una referencia en la discusión sobre la «inteligencia» de las máquinas.
Es como el índice Big Mac, una forma relativamente sencilla y general para intentar medir y comparar avances o características comunes. En el caso del Test de Turing sirve como punto de inflexión para medir la capacidad de imitar a un humano y mantener una conversación humana coherente que no sea distinguible de la de un humano real.
Limitaciones y Críticas
Muchos expertos argumentan que pasar el Test de Turing no significa necesariamente que una máquina tenga conciencia o emoción. Además, algunas IA que son altamente especializadas en tareas específicas podrían fallar el test pero seguir siendo consideradas «inteligentes» en su dominio particular. Es decir, es una medida muy parcial y sesgada para medir la «inteligencia» de una máquina.
¿Y tú? ¿Cómo sabes que no eres una máquina?
El Test de Turing y GPT-4
En el caso del artículo, que realmente hace referencia al estudio Does GPT-4 Pass the Turing Test? de los investigadores Cameron Jones y Benjamin Bergen, se determina que no ha pasado el Test de Turing ya que sólo consigue «engañar» al 41% de las personas.
El problema es que GPT está especialmente diseñado para ser un asistente y confesar continuamente que es una inteligencia artificial. Habla en primera persona refiriéndose a «ser entrenado en x fechas máximo», no esconde su condición y es, a veces en exceso, muy servicial.
Conclusión
Estoy seguro que si se entrenarse a un modelo de lenguaje LLM en la tarea de hacerse pasar por un humano conversando, se pasaría este test sin problema. Al igual que se han hecho máquinas que han ganado al ajedrez a Kasparov o a jugar al Go o que son capaces de realizar conducción autónoma. El objetivo no es crear una IA que lo haga todo, sino que lo que haga lo haga lo mejor posible. Y, admitamoslo, hay humanos que les cuesta hacerse pasar por humanos. ¿Cómo no lo van a hacer unas maquinas?
Por último, una pregunta. ¿Sabes cuántas de las interacciones en Chat o Email que has realizado con empresas en los últimos meses, son realmente personas? La respuesta no la sabemos, pero da igual mientras que el propósito se cumpla.
¡Ay pillín! ¡Que has estado chateando con la tostadora!
Imagen creada con Microsoft Copilot (que usa internamente las herramientas OpenAI)
Síndrome de BurnOut
El burnout o síndrome de quemarse por el trabajo se caracteriza por un estado de agotamiento físico, mental y emocional prolongado, resultante de un estrés laboral crónico. Este fenómeno no solo afecta el bienestar del individuo, sino que también repercute negativamente en la productividad y en el ambiente laboral. Además también afecta a las relaciones familiares y sociales. Vamos que hacemos pleno de efectos negativos sobre la persona que lo padece.
This man is on fire!
Causas más comunes
¿Hace falta explicarlas? Bueno en su mayoría es sentido común.
Todo es Urgente: Los proyectos con plazos ajustados y la cultura del «todo es urgente» pueden llevar a un estrés mental continuo y a sentir que siempre se están apagando fuegos o poniendo parches, sin construir con bases sólidas y teniendo la sensación de vacío.
Mala gestión de proyecto: Si estás en un proyecto donde no están claras las tareas, los plazos, la planificación, la asignación de esfuerzos la incertidumbre genera caos y el caos es un estresante que afecta a todo el mundo.
One Man Band: Entre que no sabes medir tus fuerzas y te metes en responsabilidades tú sólo, o que se dimensiona mal el equipo, terminas tocando 3 instrumentos. Al final la orquesta suena mal.
Falta de Equilibrio entre Trabajo y Vida Personal: El trabajo remoto, a pesar de sus ventajas, puede difuminar los límites entre la vida personal y profesional.
Cultura de Siempre Estar Disponible: La expectativa de estar siempre disponible, incluso fuera del horario laboral, aumenta el estrés.
Falta de Apoyo y Reconocimiento: La ausencia de un ambiente de apoyo y la falta de reconocimiento pueden disminuir la moral y aumentar el riesgo de burnout.
¿Y cómo sé que tengo estoy quemado?
Pues porque huele a humo ¿no?.
Esto es como decirle a alguien que le vas a dar un puño en la cara, y que te pregunte ¿Cómo sabré cuando me has dado el puño?. Lo sabrás, dolerá y te dejará tirado en el suelo.
Esa es la definición rápida, ahora bien, algo más detallado sería cuando sufres:
Agotamiento físico y emocional: Fatiga constante, falta de energía, sensación de vacío. Un dolor constante y profundo de cabeza, mareos, falta de sueño…
Desconexión: Sentirse desconectado de los proyectos y de los compañeros de trabajo.
Disminución del rendimiento profesional: Aumento de errores, dificultad para concentrarse y toma de decisiones.
Cinismo hacia el trabajo: Sentimientos negativos y cínicos hacia los clientes o el trabajo en sí. No te hace falta una cerilla para encenderte.
Estoy agotado, en esta mierda de trabajo que no me compensa, en el que no rindo nada
Una fiesta, vamos.
¿Qué se puede hacer?
Pues aquí yo veo dos niveles de actuaciones distintos. Haciendo un símil de que el Síndrome del Burnout es caer en un pozo hay que saber que hacer para no caer y qué poder hacer para salir si ya has caído.
Manolo, te queda poca tierra firme. Como te de una miaja de estrés, caes.
Evitar caer en el pozo
Para evitar caer en el pozo hay varias cosas que se pueden prevenir.
Equilibrio entre trabajo y vida personal: Establece límites claros entre el tiempo de trabajo y el tiempo personal. Aprende a decir «no» a tareas que excedan tu capacidad o horario.
Gestión del tiempo y prioridades: Utiliza técnicas de gestión del tiempo, como la matriz de Eisenhower, para priorizar tareas basándote en su importancia y urgencia.
Descanso y desconexión: Asegúrate de tomar descansos regulares durante el día de trabajo y desconecta completamente del trabajo durante tus días libres.
Apoyo social: Mantén una red de apoyo sólida, tanto en el trabajo como fuera de él. Comparte tus experiencias y preocupaciones con amigos, familiares o colegas de confianza. No temas hablar, ser sincero, aunque creas que va a sentar mal.
Cuidado personal: Incorpora actividades que fomenten tu bienestar físico y mental, como el ejercicio, la meditación, lectura, o hobbies que disfrutes. ¿Vale escribir un blog sobre tu profesión? No.
Salir del pozo
Amigo, ya has caído y es muy difícil salir, vas a tener heridas al caer y al intentar salir. Y te van a quedar cicatrices, pero cuando estás dentro solo hay un camino, hacia arriba para salir.
Ve hacia la luz
Algunas ideas para salir pueden ser:
Aceptación: Acepta tu estado mental y físico. Toma perspectiva y mira lo que te está dañando. Piensa que este estado es un círculo vicioso, cuanto más trabajo tienes, peor estás, menos productivo eres y más trabajo se acumula.
Levanta la mano: La única forma de parar ese círculo vicioso en el trabajo es levantar la mano, decir que estas mal y pedir trabajar con tus superiores y compañeros para darle la vuelta a la situación.
Solicitar ayuda profesional: Considera la posibilidad de buscar el apoyo de un profesional de la salud mental, como un psicólogo o incluso tu médico de cabecera, que pueda proporcionarte estrategias adaptadas para gestionar el estrés y el agotamiento.
Para, respira y piensa en tu presente y tu futuro: Reflexiona sobre tus objetivos profesionales y personales. Es posible que necesites ajustar tus expectativas o cambiar de dirección para encontrar un camino más sostenible y satisfactorio.
Implementa cambios en tu rutina: Introduce cambios saludables en tu rutina diaria que promuevan la recuperación, como mejorar tus hábitos de sueño, dedicar tiempo a actividades recreativas y reducir las horas de trabajo excesivas.
En conclusión
Hoy en «cosas que a mi nunca me van a pasar» tenemos uno de los males del siglo XXI. Identificarlo, aceptarlo y trabajar en soluciones es el único camino. La vida te va enseñando a base de palos, cuando eres joven te crees invencible, pero la vida no trata de no tropezarse, trata de levantarse una y mil veces y de aprender. Y no, no quiero decir la palabra de moda (resiliencia) porque la entiendo como un «te aguantas, lo asimilas y continuas», pero hay más salidas y, a veces, si algo te hace daño, una opción viable es dejarlo y a otra cosa.
Todo el mundo habla de esto. Todo el mundo lo conoce. Todo el mundo cree que sabe lo que es. Pero no todos lo entienden. Ni entienden sus ventajas o inconvenientes.
¿Qué es el Cloud?
Jean Cloud Van Damme (Vale, ya cierro yo al salir)
La definición más sencilla y, a la vez, errónea, es pensar que el Cloud o La Nube es tener los servidores alojados fuera de tu Red e infraestructura de sistemas. Pero eso hace que sea muy sencillo llamar Cloud a todo, sin cambiar nada en tu forma de trabajar e interaccionar con tus sistemas. Tienes que seguir teniendo tus administradores de sistemas, administradores de bases de datos y de soluciones. Y ya sabéis cómo terminó Jurassic Park.
Pero, entonces, ¿Qué es el Cloud?
El Cloud o Cloud Computing es un modelo de prestación de servicios de TI que permite el acceso ubicuo, a través de una red, a un conjunto compartido de recursos computacionales (por ejemplo, servidores, almacenamiento, bases de datos, redes, software, etc.).
¡Espera! Veamos el VAR. ¿Ha dicho lo mismo?
No, no he dicho lo mismo. El matiz importante es que es un servicio que se contrata delegando tareas de administración de sistemas, backups, redundancia, disponibilidad, seguridad, actualizaciones, etc.
Clases de Cloud según su nivel de Control y Gestión
Una forma de clasificar los servicios de cloud es atendiendo a la funcionalidad y nivel de control:
IaaS – Infrastructure as a Service: Muy parecido al ejemplo que di antes de lo que no es necesariamente Cloud. Es contratar un servidor en un AWS EC2, Google Cloud Platform, Microsoft Azure, Alibaba Cloud, etc. La diferencia es que ciertas configuraciones y necesidades vienen dadas por la empresa hospedador, como la securizacion, redundancia, disponibilidad etc.
Nivel de control: Alto. Los usuarios tienen control sobre sistemas operativos, almacenamiento y recursos de red.
PaaS – Platform as a Service: Este modelo proporciona una plataforma para el desarrollo y despliegue de aplicaciones. Un ejemplo que ya hemos explicado en este blog es SAP BTP (aunque también puede actuar como SaaS). Y con esto sumamos más aspectos «delegados» en los cuales no tenemos que pensar.
Nivel de Control: Medio. Los usuarios tienen control sobre las aplicaciones y configuraciones, pero la infraestructura subyacente es gestionada por el proveedor.
SaaS – Software as a Service: Acceso a aplicaciones para usuarios finales. Obviamente también para consultores, desarrolladores y administradores de dicho software. Los usuarios no necesitan instalar ni mantener el software en sus dispositivos. Ejemplos comunes son Gmail, Microsoft Office 365, Salesforce, SAP S/4 HANA, SAP Sales Cloud…
Nivel de Control: Bajo. Los usuarios acceden al software a través de un navegador web, pero no tienen control sobre la infraestructura o las configuraciones del sistema.
Clases de Cloud según Acceso y Exclusividad
Otra forma de clasificar los sistemas Cloud, o más bien una característica de contratación de servicios Cloud, atiende al Acceso y Exclusividad. Pudiendo ser:
Public: El acceso a los servidores es compartido por varios «usuarios» o empresas. Eso sí, con separación de cuotas de almacenamiento, memoria, procesamiento etc. Por ejemplo un SAP S/4 HANA con muchas instancias instaladas, cada una independiente y con su cuota de memoria, y procesamiento.
Private: Exclusividad en el acceso y explotación de los recursos dados a ese Cloud. Se usa, sobre todo, para aislar datos sensibles o que, por regulación, han de estar alojados y tratados dentro de un marco geográfico o político. Hay ciertos países que tienen normativas al respecto de la protección del almacenamiento de ciertos datos fuera de sus fronteras.
Hybrid: Un escenario mixto. Empresas que tienen su ERP y CRM en cloud públicos pero los datos y procesos de Recursos Humanos los tienen en un privado o incluso en sus instalaciones.
Mi madre siempre decía que estaba en la nube. Ahora sí que estoy siempre en la nube
Ventajas
Como principales ventajas cabe destacar:
Escalabilidad: Los recursos en la nube pueden aumentarse o reducirse fácilmente según las necesidades del negocio.
Coste: Elimina la necesidad de comprar y mantener hardware costoso. Pagas solo por lo que usas. Además hay parte de gastos de personal que se «delegan». Además se generan economías de escala teniendo un proveedor especializado en la administración de sistemas y las empresas se dedican a su negocio.
Accesibilidad: Los datos y aplicaciones están disponibles desde cualquier lugar con acceso a Internet. Además, con backups y redundancia de datos.
Recuperación de Desastres: Los servicios en la nube suelen ofrecer soluciones robustas para la recuperación de datos y continuidad del negocio. Mediante los backups y bases de datos en espejo en distintos centros de datos evitas ciertos imprevistos que, aún pareciendo remotos, pasan.
Se ha inundado la sala de servidores. Y el backup de mi ERP lo tenía en el ordenador de al lado.
Actualizaciones: El mantenimiento y las actualizaciones suelen ser gestionados por el proveedor, lo que libera tiempo y recursos del equipo interno. Además que todos sabemos que los administradores de sistemas SAP siempre cumplen a rajatabla el plan de upgrades y parches, ¿o no? 😜.
Inconvenientes
Seguridad: Aunque los proveedores de nube suelen tener medidas de seguridad robustas, el hecho de almacenar datos fuera de las instalaciones de la empresa puede representar un riesgo.
Dependencia del Proveedor: Cambiar de proveedor de nube puede ser complicado y costoso, especialmente si se utilizan servicios específicos de un proveedor. Todos hemos participado en migraciones y sabemos que, barato, barato, no sale.
Costes Ocultos: Aunque parece económico al principio, los costes pueden aumentar rápidamente con el uso intensivo de recursos o servicios adicionales. Es como cuando llevas al chiquillo a un colegio concertado, todo sobre el papel esta claro, pero mira que fotos le hemos hecho, la excursión de la semana que viene la puedes pagar a plazos, el uniforme hay que comprarlo en la tienda Armani…
Latencia y Rendimiento: Dependiendo de la ubicación de los servidores y la calidad del servicio de Internet, podría haber problemas de latencia.
¡Mierda! Como tarde más en salir la nomina tengo que empezar con la del mes que viene
Conformidad y Gobernanza: En algunos sectores, como el sanitario o el financiero, puede haber regulaciones estrictas sobre dónde y cómo se almacenan los datos, lo que puede limitar las opciones de nube.
En conclusión
Obviamente el Cloud lleva ya tiempo y vino para quedarse. Es una forma de hacer economías de escala aprovechando mucho mejor los recursos y dotando de sistemas y software a empresas y grupos que antes tenían la barrera de la inversión inicial.
Es posible que a la larga el coste sea mayor, pero permite probar la tecnología más actual de forma rápida y guiada. Con lo cual baja el coste de oportunidad, pudiendo probar soluciones que puedan suponer un empuje al negocio, sin tener que hacer un salto de fé tecnológico.
Una de las funcionalidades importantes dentro de nuestro trabajo día a día, sobre todo si estamos asumiendo un rol técnico, pero también como funcional, es saber donde se usan los objetos de SAP, saber buscar.
Un buen sabueso sabe seguir las pistas
Pongamos ejemplos.
Estamos ejecutando un proceso o una aplicación y nos aparece un mensaje, queremos saber donde se lanza ese mensaje.
Tenemos un campo en pantalla y queremos averiguar en qué tabla de base de datos se guarda. O en que BAPI se usa.
Tenemos una tabla de base de datos y queremos saber donde se actualiza.
Queremos buscar un literal en el código fuente de todos los objetos de un paquete.
Queremos documentar un sistema en el cual no hemos participado desde el principio.
Mensajes
Estas ejecutando un proceso, sea online o batch, sea en SAP GUI o en WebUI, y te salta un mensaje de error. No tienes idea de porqué sale, qué lo llama y necesitas identificarlo. Te has debugueando (olé) todo el proceso y no lo sacas. Necesitas saber el punto donde se lanza ese mensaje. Calma, vamos a ver como sacarlo vía referencia de utilización.
Identificando el mensaje
Para buscar donde se lanza un mensaje primero hay que saber identificarlo, es decir, saber qué mensaje es el que estamos buscando.
Mensajes en SAP GUI
Cuando estamos ejecutando un report o una transacción en SAP GUI veremos en la barra inferior el mensaje que nos salta. Al pulsar sobre esa barra obtendremos un popup con la información detallada del mensaje.
Pulsando sobre el mensaje tenemos este popup. Donde vemos el numero de mensaje y la clase de mensaje
Si pulsamos el botón se nos abrirá otro popup con datos más técnicos.
Donde posicionando el cursor en uno de los campos y dando a Navegar podemos ver el punto del código donde se llama. Pero a veces con esto no vale, así que nos quedamos además con la clase de mensaje y el número de mensaje.
Mensajes en Jobs de Fondo
Cuando se ejecuta un proceso en fondo no hay nadie para ver el mensaje cuando se produce. En este caso el estándar guarda cada mensaje que se da en el log del Job.
Para ello entraremos en la SM37, seleccionando el job que queremos y pulsando el botón Log job.
Mensajes en WebUI
En WebUI los mensajes aparecen, dependiendo del skin que estemos usando, en la barra superior o en la inferior. Si nos posicionamos con el cursor encima del texto del mensaje veremos el Tipo, Número, clase de mensajes y Variables de ese mensaje.
Si no lo ves es porque tienes que ajustar el parámetro BSPWD_USER_LEVEL al máximo (9) en tu perfil de usuario en la transacción SU3 (o dentro de Parámetros de la SU01).
¿Dónde se usa ese mensaje?
Una vez tengamos identificado la clase de mensajes y el Número de mensaje podemos ir a la transacción SE91 a visualizar el mensaje.
Seleccionando el número de mensaje y pulsando el botón <> obtendremos todos los puntos de código donde se llama explícitamente el mensaje.
La importancia de usar la sentencia MESSAGE
Porque es importante el matiz «explícitamente» ya que si un mensaje no es llamado con la sentencia MESSAGE la Referencia de Utilización no lo encontrará en el código.
Por ejemplo cuando un mensaje se añade vía un Módulo de Función o un método de una clase. Esto es muy habitual cuando se manda un mensaje en el WebUI. En estos casos no vamos a encontrarlo y tendremos que usar la búsqueda por literal (ver sección «Buscar en código»)
Por lo tanto, es importante, cuando añada os un mensaje en nuestro código, si se realiza vía módulo de función o método de clase que pongamos la siguiente sentencia.
IF 1 = 2. MESSAGE<tipo><número>(clase). ENDIF.
Ese mensaje nunca se va a llamar puesto que el IF nunca se cumplirá. Pero sirve para encontrar el mensaje en el código usando el botón de Referencia de Utilización desde la SE91.
Objetos del diccionario
Como objetos del diccionario de datos me refiero a elementos de datos, dominios, estructuras, tipos tabla, vistas y tablas de base de datos. Vamos, aquello que vemos en la transacción SE11.
Al entrar en cualquiera de estos objetos veremos el botón que nos permitirá buscar donde se usa ese objeto en otras entidades, pudiendo además elegir sobre qué subconjunto elegir.
Además dándole al botón podemos acotar la búsqueda sobre los objetos de un paquete concreto o por nombre de objeto.
El resultado es una lista de dónde se usa el objeto dentro del ámbito que hayamos seleccionado.
Programas, Clases y Módulos de función
Lo mismo que con los Objetos del diccionario de datos, la diferencia es que desde un programa, MF o Método de una clase solo podrán ser usados en otro código fuente. Con lo que algo más se acota por el tipo de objeto y sus posibles usos.
No me funciona el botón
Si no funciona la búsqueda puede ser que falte por reconstruir el índice de los objetos SAP en el sistema. Para ello tenemos que ejecutar los siguientes reports:
SAPRSEUC – Para reconstruir el índice de los objetos de cliente (Z* y Y*)
SAPRSEUB – Para reconstruir el índice de los objetos de SAP
Buscar en el código
A pesar de todas las opciones anteriormente descritas, es posible que necesitemos buscar algo que hayamos usado en código o que use el estándar. Imagínate que quieres recuperar sitios donde se ha usado un parámetro de un Módulo de Función, un hardcode concreto, un comentario, un mensaje llamado vía BAPI o una sentencia concreta.
Para ello yo siempre uso (y lo uso muy a menudo) el report estándar RS_ABAP_SOURCE_SCAN.
Para mi es una de los reports que más uso en mi día a día. Para buscar algo que hice y no recuerdo o para buscar como el estándar usa determinada lógica, MF o Clase. Mi forma de usarla siempre es poniendo el String buscado y el paquete. Si estoy buscando código Z pongo como paquete Z* y si no ya voy jugando.
Por ejemplo si busco así:
Recibo esta información:
También suelo jugar con el campo «Lugar del hallazgo +/- líneas para que muestre más o menos código en el resultado.
Como problemas son:
Si no acotas bien el paquete puede ser que busque en demasiados objetos, tardando en realizar la búsqueda.
La lista de resultados puede ser demasiado grande
En Conclusión
Estamos para aprender, cualquiera que tenga otra idea o que use otros métodos me gustaría saberlos. Yo esto lo uso continuamente, cualquiera de las soluciones que explico. Sobra decir que la experiencia y la intuición también ayudan a encontrar aquello que buscas, pero eso no se puede explicar.