Estructura de la ingeniería: nuevas categorías

Spread the love

Hace muchos años, cuando fui docente Universitario, en medio de un proceso de actualización curricular del programa de Ing. de sistemas y computación, tuvimos unas interesantísimas discusiones sobre los contenidos del programa académico de Ingeniería de sistemas y computación. Lamentablemente, como pasa con frecuencia en nuestros países latinoamericanos, el proceso fracasó por intereses personales y el programa no se actualizó o por lo menos no con el alcance que se tenía previsto. En ésta publicación quiero ofrecerles una visión que salió de ese proceso, que me da pie para iniciar con una clasificación de los contenidos a la luz de lo que les voy a describir que basicamente es una forma de estructurar contenido académico de una manera más o menos universal. Ésto es un poco una visión que tengo para el próximo año, así como desarrollo de contenido alineado directamente con las certificaciones. Disfrutenlo.

Introducción

Como lo mencioné en el párrafo anterior, lo que van a leer es el fruto de discusiones académicas en la óptica de cómo diseñar un plan de estudios.

Hay una profunda y clásica discusión sobre cuáles son los elementos del conocimiento, es decir, como los átomos y las moléculas del conocimiento si éste se pudiera definir como una sustancia material. Es probable que mi selección de términos sea completamente equivocada, sin embargo, mi propósito es proponer unas unidades estructurales del conocimiento que compone una ingeniería y qué naturaleza tiene cada uno, así que con el permiso de los académicos y filósofos, voy a elegir unos términos para desarrollar la discusión que pretendo.

Digamos muy, pero muy simplificadamente que existen dominios de conocimiento, cada uno con su teoría (heurísticas, hipótesis y leyes o reglas) y su praxis (formas de hacer según la teoría o mejores prácticas en el caso de las heurísticas), y dentro de cada dominio, tecnologías y técnicas. También podríamos definir una disciplina como una agrupación de dominios de conocimiento alrededor de un propósito, por ejemplo una ingeniería específica. Un ejemplo sería la disciplina del diseño de software, en la cual hay unas teorías y técnicas de diferentes naturalezas, es decir, varios dominios (administración, lógica/matemática, diseño, control, etc.) aplicados al propósito de crear software.

Disciplina –> Dominios –> técnicas/tecnologías

Diseño de software –> Implementación y operación (Teoría de control, mejores prácticas, Java, Python, Linux, ITIL)

–> Principios de diseño de TI (Teoría de diseño, Metodologías de diseño, etc.)

–> Investigación aplicada (Metodología de invest., fuentes indexadas, etc)

–> Gestión de proyectos (Planificación, viabilidades, estimaciones, etc.)

–> Humanidades aplicadas (Historia, contexto social, conflictos, futuro)

Mi idea principal, fruto de la discusión que les conté, es que la ing. se puede dividir en 5 grandes dominios y probablemente cualquier contenido, sea teórico o técnico puede caer en uno de éstos, a saber:

  1. Operación
  2. Diseño
  3. Investigación
  4. Gestión
  5. Humanidades

Si quisiéramos acotar más los dominios en la ingeniería propiamente dicha, podríamos hablar de los dominios de Operación e implementación de tecnología, Principios de diseño de soluciones, Investigación aplicada, Gestión de procesos y Humanidades. Un diseño curricular o de un plan de estudios, agrega, aparte del estudio de la disciplina como tal, las habilidades deseadas en los individuos objeto, la distribución del nivel de esfuerzo y la articulación de los diferentes dominios para lograr una comprensión teórica que dé una visión suficientemente amplia, a la vez que unas habilidades suficientemente prácticas y adaptadas al ambiente en el que se van a desenvolver los estudiantes, así como la capacidad de evaluar cuándo la adaptación no es opción y se debe innovar al nivel que sea necesario: disciplinar, técnico o incluso social. Como ven, es mucho más complejo de lo que uno podría pensar y el resultado nunca va a ser completamente satisfactorio. La metodología para diseño curricular puede ser inductiva o deductiva, pero el resultado debería ser similar dado que debe ser una serie de contenidos, metodologías (de enseñanza y evaluación) y estructuración de la formación completa. En el caso inductivo, se parte del detalle específico y se va construyendo la estructura general; el caso deductivo es inverso: se parte de una estructura general, como la que acabo de proponer, y se van definiendo detalles cada vez más finos hasta llegar al objetivo deseado.

En éste desarrollo del detalle se deben definir los temas teóricos clásicos de la ingeniería como la geometría analítica, el cálculo, la estadística, pero girando en torno a aplicaciones o a las teorías de cada dominio. En teoría, se debería llegar a un contenido similar al que conocemos como temas básicos de ingeniería más algunos temas más disciplinares, pero la base serían éstos ejes «temáticos», mediante los cuales podemos aplicar los rudimentos clásicos como técnicas o tecnologías que componen un dominio específico.

Como mencioné anteriormente, es muy probable que haya elegido mal los términos, pero por ahora voy a definir los conceptos que tengo en mente sin acogerme a ninguna definición formal. Definamos un dominio de conocimiento como un conjunto de conceptos base y relaciones entre éstos cuya aplicación se puede hacer más concreta definiendo aplicaciones, podríamos decir que es el conjunto de teorías, leyes o heurísticas demostradas o de mayor aceptación al más alto nivel, es decir, desde el punto de vista más general. De otro lado la disciplina consiste en la aplicación y desarrollo de habilidades a un campo específico de la ciencia, la tecnología o el arte.

Los dominios propuestos conforman un cuerpo de conocimiento suficiente para abarcar las diferentes disciplinas de la ingeniería, por ende es un buen punto de partida para un diseño curricular de tal naturaleza. Por ejemplo, si hablamos de operación/implementación existen algunas reglas sobre operación que aplican a las bases de datos tanto como podrían aplicar a navegación de un crucero como disciplinas completamente diferentes. Para ambos casos es indispensable saber los niveles normales de operación, en el caso de una base de datos, saber cuánta CPU promedio consume una consulta y cuánto disco duro necesita el caché de las tablas, eso hace parte de la operación porque un nivel extraordinario o una consulta mal hecha podría interrumpir el servicio. Del lado de la navegación de un crucero, también se deben conocer los niveles óptimos y normales de los motores, cuándo se les puede exigir el máximo y por cuánto tiempo, también, dado el modelo del crucero, qué tan estrechos pueden ser los virajes del vehículo dependiendo de sus dimensiones, de los elementos de dirección, de la potencia de los propulsores y de la inercia e interacción con el agua y sus corrientes. En ambos casos, seguramente habrá alguna parte de teoría de control aplicable por igual.

Para poner otro ejemplo, el diseño tiene unos principios universales, por ejemplo la definición y formalización de requerimientos, la mejora continua, las etapas. Eso es aplicable a muchas disciplinas. Si se quiere diseñar una aplicación de administración de Gimnasios por ejemplo, debemos tener muy claro qué se necesita: administrar los usuarios? administrar el dinero que entra al gimnasio? administrar el desgaste de las máquinas? Cómo describimos formalmente los requerimientos de tal forma que luego nos sirvan de parámetro de evaluación y guíen el proceso de desarrollo. Lo mismo ocurre con otros casos de diseño, si queremos diseñar un panel solar, habrá que preguntarse: para qué condiciones ambientales? Qué niveles de corriente/voltaje se necesitan? qué niveles de radiación solar deben enfrentar? De allí se derivarán requerimientos funcionales y no funcionales, los cuales, como ven, son un concepto común a ambos casos y por ende los cubre una «teoría» común de diseño que sería el modelamiento de requerimientos e incluso algunas técnicas populares como Delphi, Cascadas o Agile/Lean.

En otras palabras, los dominios de conocimiento deben proveer, cada uno, un conjunto de conceptos, relaciones y restricciones entre esos conceptos que son suficientemente generales para estudiarlos de manera abstracta (ojalá dentro de alguna teoría formal) y bajarlos a conceptos cada vez más específicos que terminen siendo aplicables mediante técnicas o tecnologías conocidas. Los dominios de conocimiento, dada ésta definición, permiten enfrentar cualquier problema, de cualquier complejidad, desde diferentes niveles de abstracción. Según lo anterior, el conocimiento tiene un camino claro desde el principio hasta la maestría, dado que siempre va a tener unos ejes similares, cuya complejidad va a ir aumentando y en esa misma medida las soluciones van a ser de mayor envergadura y especificidad, ésto es natural e inherente al conocimiento: a más conocimiento, más específico y más complejo.

De otro lado, los dominios de conocimiento no son excluyentes, incluso una buena solución debe aplicar varios dominios para ser completa. Una aplicación de cierta disciplina puede (o deba) combinar varios dominios para logar su propósito, por ejemplo, la construcción de un puente requiere una intensa planificación, principios de diseño, algo de investigación y algo de contexto urbano o social, un puente que tenga todas éstas consideraciones no sólo será un puente duradero sino que tal vez sea el más apropiado para la población afectada y su contexto histórico. En el ejemplo podríamos decir que se aplican principios de diseño, administración, humanidades, incluso de operación dado que para construirlo se necesitará conocer profundamente tecnologías establecidas, no sólo para construirlo sino para estimar el mantenimiento futuro.

Como ven, los dominios crean una matriz de teoría que profundiza con el nivel de conocimiento y que se aplican simultáneamente a cada solución según sea necesario. Comprendidos los dominios de conocimiento, hablemos un poco la selección propuesta. En ésta se combina el deseo de qué habilidades debe tener un ingeniero ideal.

1. Operación e implementación de tecnología

Si ya estamos graduados, sabremos que para el ingeniero promedio, sus actividades consisten en un gran porcentaje de su tiempo en operar tecnologías establecidas, muchas de ellas incluso viejas. Yo personalmente me he encontrado muchas veces inmerso en el triste ambiente de tener que resolver problemas de tecnologías viejas que por no haber sido actualizadas hay que estar haciendo «magia» para que sigan funcionando o para que sean compatibles con las nuevas. Ésta situación es incluso más patente en países en desarrollo dado que por condiciones principalmente políticas (disfrazadas de asuntos económicos) no es posible estar actualizando las tecnologías.

La operación de sistemas es un tema que confunde a muchas personas con una visión estrecha de la ingeniería, cuando sus argumentos es que lo que se debe estudiar deben ser cosas prácticas. Ésto corresponde únicamente al dominio operativo, por ende un ing. experto en lo práctico no tiene ventaja sobre un técnico, cuya formación es eminentemente operativa y práctica, es decir, tiene más entrenamiento que un ing.

Operación es mantener funcionando una tecnología que ya está instalada y operativa, es el estadio final de una implementación y debe contemplar aspectos de documentación (base y permanente), niveles de operación, capacidades y mejora continua. Debe tener, teoría de control, cibernética y evidentemente, estudio de mejores prácticas dado que la operación en gran medida tiene elementos inesperados no teorizados o más fáciles de abordar con heurísticas que con leyes demostradas. Pensando en conocimiento que aplica a éste dominio está todo contenido técnico, por ejemplo, manuales de un dispositivo, elementos que lo componen, interacción con otros elementos u otras tecnologías, valores de operación, alarmas y eventos catastróficos, etc. En éste dominio caerían los contenidos certificables, como CCNA en el caso de las redes de datos o lenguajes de programación como Python, Java o cualquier plataforma de programación moderna.

Aunque técnicamente implementación no es lo mismo que operación, ambas están fuertemente cohesionadas: en la implementación se instalan los sistemas y se hacen pruebas básicas de operación, así como las pruebas de estrés o redundancia. Diríamos que la implementación es la etapa siguiente del diseño, involucra mucha gestión, documentación y termina en un estado de operación ideal, momento en el cual todo el diseño y las recomiendaciones de operación pasan al área operativa. Por eso para mí el dominio es Implementación y operación a pesar de que en sí mismos son dominios separados. Desde cierto punto de vista, la operación comienza con la implementación, ambas son hermanas en diferentes estados de desarrollo: la implementación es la infancia y la operación es la vida adulta de una solución ya diseñada (o concebida para seguir con el simil).

2. Principios de diseño

El tema de diseño me apasiona, en el momento en que se dió la discusión yo tenía en la cabeza la idea romántica de que el contenido de un plan de estudios de ingeniería debería girar en torno al diseño. Éste es un tema universal y transversal, en cualquier profesión se tiene que saber de diseño y éste tiene una serie de bases que se aplican de manera general a cualquier aplicación o subdominio de conocimiento. De hecho sigo pensando que debería ser el eje principal de una carrera de ingeniería.

El diseño como dominio de conocimiento involucra el análisis de requerimientos, el establecimiento de un contexto de implementación, la estimación de niveles de operación, crecimiento, escalabilidad y reacción del diseño a situaciones inesperadas. Aunque suena muy a ingeniería, apliquenlo a cualquier otra cosa, por ejemplo una investigación: defina el objetivo, estime el esfuerzo, el tiempo que se planea gastar en cada etapa, qué pasaría si la hipótesis se demuestra falsa en etapas iniciales (evento inesperado), etc. El diseño es un proceso iterativo, siempre un diseño debe establecer etapas de refinación, tal vez el primer boceto pueda ser uno o varios pantallazos de la aplicación, pero en la medida que se establecen hitos, el pantallazo va a ir siendo cada vez más funcional. Éste proceso de iteración y refinación está presente en cualquier tipo de diseño, puede ser inductivo o deductivo, es decir, definir una estructura general de unos pocos elementos grandes que se van integrando mediante los detalles o se puede elegir una base de detalles que van a ir construyendo la estructura general. En fin, diseño es un tema enorme y bello del cual podríamos hablar por meses.

Para finalizar con éste tema. El diseño puede ser muy simple, como definir un propósito, hacer un bosquejo de la solución y luego construir un modelo que se debe cotejar con el propósito definido; o muy complejo como documentar un conjunto de requerimientos, clasificarlos como funcionales, no funcionales y otras categorías en función del propósito, definir una metodología de implementación, establecer hitos del proyecto, definir capacidades mínimas, estrategias de redundancia y respuesta a eventos catastróficos, hacer prototipos o soluciones piloto, crear documentos de alto nivel (High-level design) a partir de los cuales se van a desarrollar un documento de bajo nivel (Low-level design) y finalmente desarrollar la solución. El diseño, en lo avanzado, puede aplicarse por etapas a una solución final: diseño estratégico, prototipado, construcción, evaluación, entrega, operación, mejora continua. Ésta gradualidad del diseño se debe desarrollar durante una carrera profesional.

3. Investigación

Yo con la investigación siempre he tenido un problema enorme: en las universidades que yo conozco, éste tema se ve como un tópico avanzado que se viene a conocer en la segunda mitad del plan de estudios o incluso durante el último año. Eso para mí es un desastre, porque investigar significa hacer la pregunta correcta y descubrir bien sea la respuesta o los métodos de demostración que llevan a la respuesta. En otras palabras, la investigación no puede ser un tema avanzado de últimos semestres, debe ser un tema transversal que vaya avanzando en complejidad durante toda la carrera, se podría pensar que cualquier proyecto debe aplicar una base de investigación SIEMPRE (así como de diseño). La investigación es la principal razón por la cual considero que el desarrollo de los contenidos debe ser gradual y girar en torno a los dominios de conocimiento articulados.

En qué consiste la investigación? En establecer hipótesis, recolectar antecedentes, experimentar y sacar conclusiones (perdón la sobresimplificación). Si nos acogemos a ésta definición, cualquier proyecto debe tener estos elementos. Por qué no proponer para cualquier «tarea» que se ponga en cualquier materia, que el primer insumo sean éstas etapas, es decir, antes de pedir un circuito de monitorización de humedad con arduino, solicitemos un documento de investigación previa sobre el tema. El docente les da a los estudiantes una hipótesis, ellos deben recolectar los antecedentes y al final se socializan las conclusiones. Después de ese ejercicio, se les solicita hacer un circuito que monitoree el nivel de humedad de la tierra y probablemente los estudiantes decidan diferentes perspectivas o aplicaciones para tal solución. Ese es un típico ejercicio de primeros semestres, pero si se hace sin contexto se pierde mucho en formación que luego va a ser necesaria para plantear un proyecto de investigación en los últimos semestres o en niveles de formación superior (maestría/doctorado). La investigación puede ser muy simple o muy compleja, puede ser una simple recolección de antecedentes hasta una tabulación de datos con aplicación de técnicas de muestreo o inferencia estadística. Ésta gradualidad debería estar implícita en los contenidos curriculares a la luz de una teoría básica que se va a ir desarrollando durante toda la carrera.

4. Gestión

Todos los profesionales tenemos que conocer mucho de gestión, es decir, de planificación de recursos, administración de personal, gestión de proyectos, tiempos, presupuestos, requerimientos administrativos, etc.. Muchos de nosotros también estamos inmersos en ese tipo de tareas durante mucho tiempo de nuestra vida profesional. La gestión también tiene unos principios, algunos muy concretos, otros más bien empíricos pero también aceptados como heurísticas consolidadas. Aparte de las teorías y marcos de trabajo aceptados comunmente en la gestión, por ejemplo las metodologías de evaluación de proyectos, este tema abarcaría algunas técnicas y también algunas prácticas comunes como teorías de gestión de procesos, administración, emprendimiento, incluso podría abarcar el tema de la innovación al interior de las organizaciones, entre otros.

La gradualidad del tema de gestión y administración, puede ir desde una planificación básica para una tarea en clase como las diferentes viabilidades que implica el desarrollo de un proyecto, por ejemplo el contexto legislativo y laboral que implica el desarrollo de un proyecto, la sicología organizacional, etc..

5. Humanidades

Finalmente, la educación profesional debe, indiscutiblemente tener un elemento de reflexión sobre sí misma. En éste aspecto debemos involucrar las humanidades, desde la historia hasta el desarrollo humano, tanto del estudiante como de las personas a las cuales va a afectar su trabajo. Allí tendríamos que estudiar la historia de la disciplina, su epistemología, su impacto en las sociedades, conflictos éticos históricos que han existido en su desarrollo histórico, el estadio actual de las tecnologías relevantes y sus cuestionamientos éticos y sociales, entre otras cosas. Las humanidades, desde mi punto de vista, también tienen una evolución en nivel de complejidad, por ejemplo, en principio podemos ver la historia de la ciencia como una parte importante y general de las humanidades aplicadas a la ingeniería, pero al final de la carrera podemos ver casos de conflictos éticos de gran impacto y dividirlo en conflictos éticos, sociales, económicos y políticos (entre otros). Si observan, un estudio de un conflicto tiene referentes históricos, regionales, legales, técnicos y sociales, un tema nada trivial que debe ser estudiado durante toda la carrera como un dominio indispensable para cualquier aplicación.

A alguien le puede saltar la duda, de por qué en humanidades no involucro del desarrollo personal mediante artes. Creo que sí es importante y que una institución debe ofrecer éstos espacios, pero no estoy seguro de si deben ser parte del plan curricular como tal. El enfoque que usé en toda esta nota es cómo se construirían contenidos curriculares orientados a una carrera de ingeniería, el arte hace parte de la formación de cualquier individuo pero no sé cómo considerarlo en un plan curricular. Mi mejor propuesta es que las instituciones provean actividades extracurriculares y que en cada semestre se tengan algunos créditos correspondientes a la participación en éstas actividades.

Epílogo

Espero que les haya resultado interesante y me hubiera encantado que toda ésta idea hubiera prosperado en mi universidad, lamentablemente, toda esta idea quedó guardada por años hasta que decidí que debía publicarla. Seguramente habrá mucha gente que no esté de acuerdo con mi idea, por ejemplo ¿por qué poner Implementación como parte de Operación y no de Diseño? O si es correcto llamar a esos elementos Dominios, etc. Sin embargo, después de pensarlo mucho, creo que casi todas las actividades de un ingeniero tienen que ver con uno o varios de esos dominios. Es sólo mi opinión y está sujeta a cualquier discusión que el público quiera proponer. También es un punto de partida, si fuésemos a diseñar realmente un plan de estudios, en algún momento se daría la discusión si algún tema muy específico pertenece a un dominio u otro o incluso si el dominio tiene el nombre correcto o no. Eso es normal y es lo que le da la personalidad a un plan de estudios.

Finalmente, uno de los elementos fundamentales de un plan curricular son los créditos, que es un sistema para estimar el esfuerzo de una materia considerando que un estudiante dedica a su formación las 48 horas de trabajo que haría si no estuviera en la universidad. En otras palabras, un crédito equivale a 1 hora de clase más dos horas de trabajo extraclase, por ejemplo, una materia de 3 créditos requiere 3 horas de clase presencial y 6 horas de trabajo extraclase (tareas o proyectos). En teoría los créditos académicos no deben superar los 16 por semestre dado que 16*3=48hrs/semana pero éstas candidades se pueden ajustar dependiendo de las metodologías, por ejemplo, si las actividades extraclase se desarrollan exclusivamente en clase, aunque personalmente creo que ésto rompe el propósito de reforzar el conocimiento adquirido. Hasta acá llega la «discusión» sobre la estructura del conocimiento para un diseño curricular. A continuación les voy a describir muy brevemente cómo voy a aplicar ésta idea en mi blog.

Categorías de publicaciones

Como mencioné anteriormente, aparte de dejar éste testimonio acá para estimular la discusión, para que alguien lo piense, lo estudie y hasta lo implemente, a mi personalmente me sirve como eje para redefinir la forma en que categorizo mis publicaciones. Voy a empezar a definir unas nuevas categorías que sean Operación, Diseño, Investigación, Gestión y Humanidades, combinadas con niveles de conocimiento incrementales, por ejemplo Operación N1 sería configurar un router, mientras Operación N5 sería sacar una tarjeta de un router carrier-class en operación, redistribuir los servicios e instalar una nueva para restablecer los servicios en ella. Igual para el caso de Diseño: N1 sería diseñar un esquema de direccionamiento IP, N5 sería diseñar un esquema de direccionamiento y migración de IPv4 a IPv6 en una red móvil de alcance nacional (que incluiría Operación). Como lo mencioné inicialmente, las categorías se pueden mezclar, dando así una buena idea de qué se tratan y una forma fácil de encontrar información de cierto nivel.

Resumen

Mi propósito era simplemente dejar por sentado y publicamente una idea que encontré muy valiosa para un diseño curricular, adicionalmente creo que es tan versátil que la puedo aplicar a lo que he publicado en mi blog y por eso la he publicado. Espero que les haya resultado por lo menos interesante y se animen a comentar.

Para terminar les tengo una pregunta, como saben, el blog tiene categorías y etiquetas, como yo lo veo, la idea propuesta estaría en las categorías y en las etiquetas estarían los temas específicos, de otro lado, las etiquetas son más libres y podría aplicarlo mejor a las etiquetas y que las categorías sean los temas como programación, redes, etc.. ¿Qué opinan? ¿Qué sugieren? Éste es un tema en desarrollo 🙂

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.