Seguridad

Cosas que no aprendí en la Universidad

Si por el título que he elegido has pensado que este es otro alegato sobre lo inútil que es ir a la Universidad, creo que te voy a decepcionar. Porque no es ni mucho menos eso. De hecho, creo que en cada actividad de tu vida aprendes muchas cosas, y yo aprendí muchas cosas – por el mero hecho de tener que sacar los exámenes – que han sido muy importantes en mi vida. Mucho, mucho, mucho.

Figura 1: Cosas que no aprendí en la Universidad

Aprendí mucho de bases de datos, de arquitectura lógica y arquitectura física, sobre cómo funciona el almacenamiento en disco estructuras de arboles B*, sobre el lenguaje SQL, las transacciones, las formas normales de Boyce-Codd, sobre las bases de datos Objeto-Relacionales, y los lenguajes 4GL y 3GL en los SGBDOR. Por supuesto, eso me llevó a luego aprender mucho de SQL Injection, de Connnection String Attacks, y estar mejor preparado para el mundo del Big Data, los DataLakes, las bases de datos NoSQL en formato clave-valor, los Data-Streams, el mundo del Machine Learning, la arquitectura de las estructuras Blockchain o el sistema IPFS, que me ayudó mucho en mi rol de Chief Data Officer.
Claro que no aprendí todo lo que no existía cuando estudié, pero estudie Ingeniería del Conocimiento e Inteligencia Artificial, viendo cómo funcionaban los algoritmos de aprendizaje basados en redes neuronales – en aquellos años 90 -, también aprendí mucho de programación concurrente, orientada a objetos, lógica, y mucha algorítmica, con sus Divide&Conquer, algoritmos de recursividad con sus técnicas de backtracking, rectas de barrido, algoritmos de triangulación, diagramas de Voronoi, de recorridos de grafos, que me acompañan en todas las conversaciones cuando tenemos que decidir cómo hacer una arquitectura, aprender patrones de diseño, lenguajes de definición de requisitos, estándares, UML, el ciclo de vida del software, o estructuras de datos en memoria, basadas en listas, colas, pilas, árboles, árboles AVL, hilvanes en los árboles, o estructuras en disco, me ayudan desde siempre en la parte de innovación o en la gestión de plataformas y proyectos de software.
Pero también aprendi mucho de redes, de señales, de capa 2, de TCP/IP, de protocolos de encapsulamiento, de enrutamiento, de protocolos de borde, de subnetting, supernetting, y de conexiones punto a punto, encapsuladas y enrutadas… o no, y de cómo conectar recursos de red al sistema operativo, montando un filesystem remoto con NFS en lenguaje C. Porque también aprendí cosas del kernel del sistema, operativo. La gestión de memoria, procesos, los algoritmos de gestión de recursos críticos en el kernel. La entrada y salida, como usar los DMA, y cómo crear un driver de teclado con interrupciones. Y aprendí a optimizar la memoria, el caching, y la configuración y optimización de modelos de Round-Robin.
Aprendí también electrónica, cómo diseñar puertas lógicas, crear una PLA, diseñar un código de instrucciones, y frabricar un lenguaje para luego hacer un compilador o un interprete que genere el código de instrucciones a ejecutar. Aprendí a saber cómo enlazar todas las piezas, el hardware de la placa, los lenguajes máquinas, los compiladores, las técnicas de bootstrapping para hacer un nuevo kernel, y juntarlo con la red, con la entrada salida, con el modo gráfico y hacer servicios para redes TCP/IP. A construir un Telnet reservando puertos en los procesos de gestión de la red, o montar un FTP completo. O un sistema de e-mail haciendo carpetas e implementando el sencillo SMTP.
Aprendí muchas cosas que me han sido muy útiles en mi vida. También me di baños de multimedia, de física, de estadística y de matemática discreta. De arquitectura avanzadas de microprocesadores para entender el adelantamiento de instrucciones, el calculo en paralelo de todas las operaciones de un IF para ganar velocidad, o cómo hacer pre-fetching para ganar rendimiento. A gestionar registros en el micro para optimizar operaciones y cómo funciona la virtualización.
Al final, todas esas cosas me han sido muy útiles. Y sí, probablemente las puedes estudiar por tu cuenta. Desde que salí de la universidad he estudiado mucho más de lo que estudié allí. Pero como del orden de 10 veces lo que estudié en la Universidad. Es decir, si sumo todo lo que estudié en los 4 primeros años que estuve haciendo mi Ingeniería Técnica de Informática de Sistemas en la Universidad Politécnica de Madrid, los 3 años que estuve haciendo la Ingeniería Superior de Informática en la URJC de Móstoles, más el año de Post-grado del Máster, y los 4 años que estuve haciendo el Doctorado, he estudiado mucho en la Universidad, pero fuera de ella estudio desde hace 30 años mucho más.
Aprendí a gestionar servidores Active Directory, Exchange, a hacer Tuning de Bases de Datos Oracle, hacking, gestionar servidores UNIX Solaris, DG/UX, HP/UX, SCO, GNU/Linux, herramientas de hardening, configurar firewalls ONE, todo tipo de servidores de Microsoft, aprendí PL/SQL – mucho de esto -, servidores LDAP, aprendí Kerberos, Metasploit, cómo funciona un desbordamiento de buffer, o como funciona IPSEC. Aprendí IPv6, el probalema de los metadatos, lenguajes de programación nuevos, etc… Y todos estos últimos 17 años, todo lo que he ido aprendiendo lo he ido colgando en este blog. Y todo esto no lo aprendí en la universidad. Tuve maestros de todo tipo. Compañeros de trabajos. Libros. Muchos libros leídos. eZines. Newsleetters. Blogs. Conferencias y CONs. Vídeos de charlas vistos en Youtube. Cafés con amigos que me explicaban Quantum Computing, y donde yo escuchaba atentamente para aprender cómo funcionaba el Spooky Effect y entender mejor las lecturas. Y hoy en día, Cloud Computing, Deepfakes, Cognitive Services, Algoritmos de IA, Generative-AI, o modelos de AutoML. Todos los días tengo algo que no he leído marcado en mi gestor de RSS.
Todas ellas son muchas cosas que no aprendí en la universidad, que tienen que ver con la tecnología y que utilicé o utilizo todos los días.  Y no solo eso, aprender todo eso de tecnología no era suficiente. Tenía que aprender muchas más cosas. Cosas que no tenían que ver con la tecnología. Cosas que tenían que ver con las personas, con las empresas, y con el mundo que nos rodea.
Tuve que aprender mecanografía con 13 años o contabilidad, gestión laboral, negociación, comunicación y venta. Tuve que aprender a hacer contratos, a cerrar acuerdos, a gestionar los costes de un proyecto. A lidiar con situaciones de emergencia, a controlar las emociones para poder tomar decisiones más claras. Tuve que estudiar cómo funciona la legalidad de una empresa, los impuestos, la gestión de bancos, la declaración de cuentas, las responsabilidades a la hora de tener un S.L. o una S.A. Pero también, como todos, a utilizar Internet para comunica, para hacer marketing, a hablar en público que no sabía y me daba pánico, a coordinar necesidades, objetivos, emociones, y habilidades para conseguir tener un equipo de éxito.
Y eso no lo aprendí tampoco en la universidad. Y os aseguro que tuve que leer muchos libros. Escuchar a mucha gente. Aprender por experiencia, pero también formándome. Asistir a lecciones magistrales en conferencias, y haciendo exámenes. Tuve que leerme mucha documentación legal. Sentarme muchas horas con asesores, hacer muchas preguntas, y tomar notas. Tuve que tomarme en serio esta formación en mi vida.
Pero luego tuve que aprender muchas cosas de nuestro mayor enemigo. De mí mismo. Tuve que conocer mis límites. Saber cuándo no iba a poder confiar en mí porque me había dejado tirado en el pasado en ese tema. Saber gestionar las emociones internas para que mi yo remara a favor y no en contra de mi objetivo. A controlarme en los momentos de euforia, y en los momentos de hundimiento. A saber que soy uno más del equipo, que soy solo una persona más en el mundo, que tengo que aceptar las cosas buenas que me pasen, y las cosas peores. Que cada uno tenemos nuestra mochila y tenemos que cargar con ella. A gestionar a ese yo para que tuviera claras las prioridades y mantener lo más importante del mundo en el lugar que le corresponde. A saber pelear las batallas de otros porque es lo que hay que hacer. A que me preocupe lo que le pase a las personas que están cerca de mí igual que me preocupa lo que me pasa a mí. Aprender a dar, a compartir, a ayudar y a querer a la gente que me voy encontrando en la vida. A estar cerca y visible cuando las cosas van mal. A remar cuando hay que remar. A barrer cuando hay que barrer. A dar un abrazo a una persona cuando lo necesita. Y a pedir ayuda. También a esto hay que aprender. 
Y no, no lo aprendí en la universidad. Lo aprendí de muchas personas que me han inspirado. Gente de todo tipo, que lo han hecho sin saberlo. Sin que sean conscientes de lo importante que fue aquel gesto que hicieron o aquella acción que realizaron simplemente porque les salió.
Con todo esto que os he contado en este artículo, lo único que intento es recoger una de esas conversaciones que suelo tener con jóvenes que me preguntan qué deben hacer en su vida, que si deben ir a la universidad o no, que cómo deben hacer para tener un buen trabajo o para que les vaya bien en la vida profesional. Que si merece la pena ir a la universidad o no. Que si estudiar una cosa u otra. 
Pues bien, mi visión es que todos los caminos son buenos mientras que te hagan feliz en tu vida. Que cada uno debe decidir qué le hace feliz y que no le hace feliz. Que el éxito en la vida está tan cerca de uno como lejos, porque el que nos va a llevar a hacer que nuestra vida sea buena o mala, suele estar dentro de nosotros. Nuestro enemigo que nos crea necesidades y nos impulsa a equivocarnos.
Así que, si tienes claro lo que te hace feliz, después, ir a la universidad o no, es una opción tuya. Sacarse certificaciones o no, estudiar una cosa u otra, es tu camino. Y debe ser elegido solo en función de lo que te vaya a hacer feliz. Por supuesto que la necesidad apremia, y hay que solventar los problemas a corto para solucionar las necesidades más imperiosas, pero piensa siempre en qué es lo que te hace feliz. A mí me gusta lo que hago, y por eso estudio y trabajo todos los días. Me encanta tanto, que volvería a la Universidad a aprender a programar algoritmos con U-Net, a programar SmartContracts o a que me enseñaran cómo construir un Arduino desde cero en las prácticas. Pero es que pagaría por trabajar todos los días en lo que hago. Y al final, le dedico tantas horas que hace que aprenda “algo”. Eso me permitió que pusiera cariño e hiciera las cosas siempre pensando en “sacar buena nota” en todo.
Y es que si buscas algo que te gusta y te hace feliz, los esfuerzos que tienes que hacer resultará que no son esfuerzos, son horas de ocio. Y serás bueno, y seguro que te va bien. Por otro lado, si lo que estás pensando solo es en “qué estudio para tener un buen trabajo”, pues supongo que cualquier cosa que pidan las empresas hoy en día. Pero como no sea algo que te guste, puede que derive negativamente hacia un punto en el que seas “average”.
Y por supuesto, con ir a la universidad no es suficiente, pero a mí me divirtió y me ayudó mucho más de lo que la gente se piensa. Y sí, todo lo que aprendí me ha venido de maravilla. ¿Esto quiere decir que si no vas a la universidad no puedas aprender eso o más? Por supuesto que no, lo que no aprendí en la universidad, lo aprendí fuera, porque quería aprenderlo. Me hacía feliz. No me importaba, disfrutaba con ello.
Os dejo la referencia del artículo que sigo pasándole a la gente cuando me pregunta sobre estos temas. El artículo de “Consejos malignos para tu etapa formativa y profesional”, pero quería completarlo con estas cosas que os he contado hoy. Y ahora… a disfrutar el sábado, que en la vida hay que balancear siempre. 
¡Saludos Malignos!
Autor: Chema Alonso (Contactar con Chema Alonso)  

Powered by WPeMatico

Gustavo Genez

Informático de corazón y apasionado por la tecnología. La misión de este blog es llegar a los usuarios y profesionales con información y trucos acerca de la Seguridad Informática.