viernes, 5 de mayo de 2023

Desarrolladores Boomer: 10 lecciones que aprendí de ellos, Jan Kammerath 23 de abril, MEDIUM

Esta historia de Jan la siento como mia, ahora tengo más de 50 años y soy Generación X; con todo lo que dice me siento identificado, y he estado en este mismo desarrollo y más en Ecuador...........

Los boomers construyen la tecnología que todos amamos hoy

Ahora tengo casi 30 años y comencé a aprender a codificar alrededor de los 12 años, en 1996. Mi carrera profesional como ingeniero de software despegó a principios de la década de 2000 cuando comencé a trabajar para una empresa de software local. Solo tenía 17 años cuando comencé a programar profesionalmente y en un entorno comercial, era el más joven de todos. Fui un niño. Un niño con una gran pasión por las computadoras, las redes y la programación.

Mis colegas boomers me enseñaron habilidades duras y blandas esenciales en aquellos tiempos. Los considero mis mentores hasta la fecha. Con muchos de ellos soy buenos amigos además de la diferencia de edad. Con algunos de ellos he perdido el contacto desde hace años. Todos ellos me han enseñado valiosas lecciones que quiero compartir con ustedes. Especialmente con aquellos de vosotros que no habéis tenido la oportunidad de trabajar con ellos. Cuando yo tenía 17 años, ellos tenían entre 30 y 40 años. Más o menos la edad que tengo ahora. Muchos de los desarrolladores boomer ya se han jubilado o están en la fase de jubilarse ahora y temo un poco que parte de su legado se pierda en el tiempo.

La gente cambia, los problemas permanecen. — Colega anónimo

#1 Todo se ha hecho antes

Los nuevos inventos, el nuevo software, el nuevo hardware o los nuevos lenguajes de programación no son tan nuevos como parecen o a menudo afirman ser. Muchos paradigmas, enfoques o soluciones se han intentado antes. Muchas de esas soluciones siguen reapareciendo. ¿Por qué? Porque cuando fueron probados y probados anteriormente en la historia, fallaron, porque estaban adelantados a su tiempo o eran demasiado inmaduros. Fíjate en el reconocimiento de voz: IBM lo lanzó en los años 80 . Era inmaduro, requería muchísimos recursos y era increíblemente caro. Cuando se lanzaron Siri de Apple y el asistente de Google, ambos fueron otro intento de una interfaz de usuario basada en el habla. Y lo consiguieron. Simplemente porque su tiempo había llegado.

FrontPage de Vermeer (adquirida por Microsoft): uno de los primeros creadores de sitios web en 1995

Casi todos los tipos de software que podría estar escribiendo hoy probablemente se escribieron antes. Para Unix, para DOS, para CP/M, para Windows 95, para Macintosh o para lo que sea. Los ejemplos son casi infinitos y muchos productos de software populares de hoy en día tienen antepasados.

·         FrontPage es uno de los antepasados ​​de Wix y Squarespace

·         Second Life es un antepasado de Metaverse y Roblox

·         Visual Basic (1.0 para DOS) es un antepasado de Visual Studio Code

·         CVS, SourceSafe y Subversion son ancestros de Git

·         Microsoft NetMeeting es el abuelo de Microsoft Teams

·         Oracle (lanzado en 1979) es el abuelo de todas las bases de datos relacionales

La lista podría continuar para siempre. Mire todas las aplicaciones en la pantalla de inicio de su teléfono. Todos ellos tienen antepasados ​​que van desde productos físicos hasta aplicaciones modernas. Mire Maps: primero tuvimos mapas impresos plegables físicos, luego tuvimos software de escritorio como Microsoft AutoRoute y finalmente aterrizamos en Google Maps y Apple Maps que todos usamos hoy.


Microsoft Access (1992): uno de los primeros creadores de aplicaciones "sin código"

Cuando cree nuevas aplicaciones, observe lo que se hizo antes. Evalúe la mejora en la tecnología y aprenda de lo que se hizo antes y cómo las capacidades técnicas de hoy pueden mejorarlo.

#2 Sigue la ciencia

¿Estás creando un " MVP " o un " producto mínimo viable " para probar tu idea de software? Lo que estás haciendo en realidad es escribir un prototipo. La informática tiene una investigación bastante buena sobre la creación de prototipos de software . Puede encontrar que muchas de las preguntas que tiene al intentar construir un " MVP " se resuelven de manera precisa con el conocimiento científico sobre la creación de prototipos.


Inventaron Unix y C: Ken Thompson y Dennis Ritchie

Con la creciente popularidad de la ingeniería de software y las nuevas empresas que buscan proporcionar herramientas o consultoría para ingenieros de software, habrá un número cada vez mayor de personas que intentarán venderle "ideas" vinculadas a sus productos o servicios. Los boomers me enseñaron a apegarme a la ciencia y hacer una evaluación científica de si un producto, servicio o enfoque es razonable o si alguien simplemente está tratando de venderme aceite de serpiente.

Cuando alguien, una persona o una empresa me vende una “idea” o un “enfoque diferente”, analizo los siguientes puntos que aprendí de los boomers.

·         ¿Existe evidencia científica que respalde las afirmaciones realizadas?

·         ¿Qué dicen los últimos trabajos de investigación académica sobre el tema?

·         ¿Los argumentos resisten el escrutinio científico?

Ya sea Scrum, Agile, No Code, Low Code, OOP, NoSQL, Blockchain, Metaverse o cualquier otra tendencia que esté a la vuelta de la esquina. Revalidarla con métodos científicos. De esta manera, puede diferenciar el aceite de serpiente de las innovaciones y avances tecnológicos reales.

#3 Termina de una vez

¿Haces TDD, BDD, pruebas unitarias, diseño basado en dominios, desarrollo basado en datos, programación en pares y sigues la filosofía SOLID, SSOT, GRASP o Unix? Bien por ti y si no, no te preocupes. No existe una sola forma correcta de hacer las cosas, sino múltiples enfoques para una solución. Sin embargo, debe evitar cometer errores que otros cometieron antes que usted.

El método de gestión de proyectos Waterfall, el lenguaje de modelado unificado (UML) para el software de modelado o el proceso unificado son un enfoque tan válido como las metodologías ágiles como Scrum o SAFe, que utilizan historias de usuarios para definir requisitos o dividen su trabajo de desarrollo en sprints. Puede debatir el enfoque de la programación y la ingeniería de software para siempre, especialmente a nivel filosófico.


Redacción de diagramas de flujo y diagramas UML con Microsoft Visio

Siempre es muy fácil para los programadores entrar en debates sobre cómo organizar, qué control de versiones usar, cómo diseñar, redactar y construir software. Todos tienen un enfoque diferente, preferencias diferentes y una visión diferente de las cosas. Sin embargo, hay un punto en el que debe poder pasar del debate a hacer realmente el trabajo necesario. Debe definir el enfoque y lo más probable es que sea un compromiso. Sea como sea y te guste o no. Trágalo y termínalo de una vez.

Encuentre un compromiso de trabajo para usted y sus compañeros programadores. Acepte el proceso, comience y haga el trabajo. Todavía puede ajustar más adelante cuando identifique espacio para mejorar. La planificación es importante, pero no se exceda. Encuentre un equilibrio saludable entre la planificación, el diseño, el dibujo y la construcción.

#4 Identificar la necesidad

¿Cuál es el propósito del software que está creando y por qué lo crea para quién? ¿Qué quiere lograr esa persona, tu usuario, con tu software? ¿Qué es realmente capaz de hacer su usuario y en qué entorno? — Esas son las preguntas, los boomers me enseñaron a hacerme antes de construir cualquier cosa.

Una vez respondidas estas preguntas, procederé a escribir el software más básico y simple para resolver ese problema específico y presentárselo al usuario. Posteriormente, el usuario me bombardeará con solicitudes de funciones. Predominantemente con respecto a la interfaz de usuario, porque eso es lo que el usuario percibe que es todo el software. No implementaré ninguna de estas características solicitadas, pero identificaré la necesidad real del usuario y encontraré una manera simple, fácil y conveniente de satisfacer esa necesidad.

Muy popular y elogiado por su simplicidad: WS_FTP95

“La gente no sabe lo que quiere hasta que se lo muestras. Es por eso que nunca confío en la investigación de mercado. Nuestra tarea es leer cosas que aún no están en la página”.—Steve Jobs

La persona promedio no tiene idea de qué es una computadora, cómo funciona, cómo se escribe el software o qué es una red informática. No puede esperar que sepan nada sobre el software y, por lo tanto, no puede esperar que puedan articular los requisitos de una manera tan significativa de la que podría derivar su software.

Identificar la necesidad real del usuario: ¿cómo quiere hacer el usuario qué y por qué razón? Implemente la forma más fácil y conveniente de hacerlo y presente esa solución en forma de prototipo. Luego iterar desde ese prototipo en adelante. Nunca confíe en que el usuario pueda articular sus requisitos.

#5 Obtenga las herramientas adecuadas para el trabajo

Los boomers me enseñaron a escuchar al usuario e identificar su necesidad. A partir de esa necesidad, redactaré una solución simple, confiable y conveniente. Esa solución no implica ningún lenguaje de programación, componente, software, sistema o plataforma. Es una descripción genérica de la solución, una definición de cómo me gustaría lograr qué. Una vez que haya redactado esa solución, seguiré los siguientes pasos para identificar qué herramientas, cadena de herramientas, lenguaje de programación y sistema operativo usaré.

·         ¿Qué plataformas de destino necesitará mi solución? Escritorio, web, móvil, integrado, mainframe, Unix, Windows, Linux, Solaris, Macintosh, DOS?

·         ¿Qué lenguajes de programación puedo usar para compilar para esa plataforma?

·         ¿Qué componentes necesito para construir la solución en esa plataforma?

·         ¿Qué habilidades necesito aprender para construir esa solución con esas herramientas?

·         ¿Qué obsolescencia tienen estas herramientas, de ahí mi solución? ¿Mi solución podrá sobrevivir los próximos 5 años sin reescribirla por completo?

·         ¿Cuánto me cuestan estas herramientas a mí y a mis usuarios? ¿Pueden mis usuarios pagar la solución o necesito reducirla para que se ajuste a su presupuesto?


Borland C++ 5.02: Una relación de amor y odio con muchos desarrolladores boomers

Encontrar las herramientas adecuadas nunca es fácil y, a menudo, está extremadamente sesgado. Tiene idiomas preferidos, herramientas y plataformas con las que se siente más cómodo. También tienes herramientas, lenguajes y plataformas que simplemente disfrutas mucho. Sin embargo, es posible que estas no sean las herramientas, los lenguajes y las plataformas adecuados para la solución que su usuario necesita.

Se honesto contigo mismo:

·         ¿Elegiste la cadena de herramientas, el lenguaje y la plataforma porque te gusta?

·         ¿O los elegiste porque solo quieres probarlos?

·         ¿O los eligió porque son el enfoque más económico?

No existe una solución universal para ningún problema. Identificar las herramientas que conducen a la solución más económica. Serán un compromiso. Aprenda a dominar estas herramientas e implemente la solución que sea mejor para el usuario, no la solución y no las herramientas con las que se sienta más cómodo o que sean la última tendencia.

#6 Haz los esquemas

Me encanta programar y me encanta saltar directamente a ella. Los Boomers me enseñaron a nunca hacer eso. Me enseñaron a tomar una taza de café y una hoja de papel en su lugar. Me enseñaron a redactar la solución con los componentes y la plataforma seleccionados. Querían que hiciera un plano, los esquemas, incluso antes de escribir la primera línea de código. Incluso una vez que tuve el plano frente a mí, definiré las partes técnicamente más complicadas y críticas.

Las partes más críticas las implementaré de forma aislada de antemano. De esta manera pude averiguar si realmente sería capaz de implementar estas partes críticas y complicadas. Apple proporcionó el siguiente ejemplo en su revista de desarrollo de la primavera de 1991. Muestra la complejidad de una búsqueda de DNS con MacTCP en Macintosh System 7 y posteriores.

/* Código de muestra MacTCP de Apple Develop (primavera de 1991, página 55) */
# include  <Types.h>
 # include  <MacTCPCommonTypes.h>
 # include  <AddressXLation.h>
 # include  "CvtAddr.h"

 pascal
void  DNRResultProc ( struct hostInfo *hInfoPtr, char *userDataPtr) ;

/* ConvertStringToAddr es una simple llamada para obtener el número de IP de un host,
    dado el nombre del host. */

OSErr
ConvertStringToAddr ( char *nombre, largo sin firmar  *netNum)
 {
 
struct  hostInfohInfo;
  resultado OSErr;
 
char terminado = 0x00 ;

 
if ((resultado = OpenResolver (nil)) == noErr) {
    resultado =
StrToAddr (nombre,&hInfo,DNRResultProc,&done);
   
if (resultado == cacheFault)
     
while (!hecho)
        ;
/* esperar a que la interrupción llame a la resolución de fallas de caché */
   
CloseResolver ();
   
if ((hInfo.rtnCode == noErr) || (hInfo.rtnCode == cacheFault)) {
      *netNum = hInfo.addr[
0 ];
     
strcpy (nombre, hInfo.cname);
      nombre[
strlen (nombre) -1 ] = '\0';
     
devuelve ningún error;
    }
  }
  *númneto =
0 ; resultado
 
devuelto ;
}

/* Esta es la rutina de finalización utilizada para las llamadas de resolución de nombres.
Establece el indicador userDataPtr para indicar que la llamada se ha completado. */

pascal
void  DNRResultProc ( struct hostInfo *hInfoPtr, char *userDataPtr)
 {
 
# pragma unused (hInfoPtr)
   *userDataPtr =
0xff ; /* Establecer los datos del usuario en distintos de cero significa que hemos terminado. */
 }

Solo después de que se demuestre a sí mismo que es capaz de implementar las partes complejas (como el ejemplo anterior) , puede estar seguro de que puede implementar la solución por completo. Se asegurará de haber identificado cualquier obstáculo antes y también será consciente de las limitaciones a las que se enfrentará. Especialmente aquellos que no conocía cuando redactó su solución. Es muy importante evaluar su solución antes de comenzar a implementarla.

No salte al código. Redactar una solución técnica en papel. Pruebe las partes más críticas y complicadas. Asegúrese de que la solución sea técnicamente posible y que sea técnicamente capaz de implementarla. Busque soluciones alternativas si su evaluación falla.

#7 La codificación es un oficio

Escribir software puede ser un arte y puede ser muy expresivo. La gente puede escribir código extremadamente elegante con funciones de lenguaje sofisticadas. El código se puede escribir de manera que sea complicado, estúpido, simple, hermoso o absolutamente aterrador. Si bien eso puede ser emocionante como una obra de arte, el código puede serlo, es absolutamente inútil como un producto elaborado.

Lo que debe tener en cuenta : crea un producto para que lo usen sus usuarios. En un sentido muy básico, es como una forma moderna de pala, tractor o ducha: un producto técnico para que lo usen otras personas.

Puede que no seas el mejor programando, porque nadie lo es. La codificación en sí misma no es una competencia. Sí, su producto va a competir, si es un producto de software comercial. Pero tú y tu código no están compitiendo con alguien. Estás escribiendo el código para crear la solución a un problema. Trate de hacer su mejor trabajo, pero no exagere. No intentes convertirlo en una obra de arte. Concéntrese en la solución y no tenga demasiado miedo de su propio trabajo.


No hay necesidad de avergonzarse de su código VB6 del '98.

Cuando alguien más mire su código más adelante, encontrará formas de optimizarlo. Encontrarán formas de hacerlo más limpio, más bonito, más rápido, más ligero, más delgado y más elegante. Esa es la naturaleza de cada oficio. Siempre hay formas de mejorarlo. No deberías avergonzarte de lo que construiste si te apegas a las mejores prácticas y a los cimientos del oficio.

La codificación no es magia y no es ciencia espacial. Es un oficio y necesitas dominar ese oficio. Nunca serás perfecto en ese oficio, pero debes continuar mejorando tus habilidades todos los días entrenando, aprendiendo y aplicando. No te avergüences de ti mismo ni del código que has escrito en el pasado.

#8 No necesitas eso

Escribir software de computadora en los años 90 era un ejercicio costoso. La computadora decente en 1995 tenía un precio de $ 2,500- $ 3,000 en dinero de hoy. Incluía algo así como un 486 de 100 Mhz, 8 MB de RAM y una unidad de disco de 540 MB, Windows 3.11 y posterior Windows 95. Fácilmente capaz de ejecutar un IDE como Borland C++ 4.02. Para Borland C++ 5.02 necesitaría actualizar la memoria RAM a 16 MB o más, ya que 16 MB era el requisito mínimo para Borland C++ 5.02. El precio de venta al público de Borland C++ 4 era de 499 dólares en aquellos días, lo que equivale a 988 dólares en la actualidad. Eso es la friolera de mil dólares además de esa máquina que ya es cara. Si estaba programando para computadoras Macintosh, puede agregarle fácilmente un par de miles de dólares.


Los IDE eran caros: alrededor de $ 1,000. ¡Pero venían en una bonita caja con asa!

La programación en el pasado era divertida, pero costosa e incómoda. No era inusual bloquear toda la máquina y enviarla a reiniciar con su código. Cuando invierte tanto dinero en su equipo, piensa dos veces en qué invertirá. Piensa dos veces si realmente necesita esa biblioteca adicional por otros $200.

¿Hay una base de datos de archivos planos ligeramente mejor que la incluida en su entorno de desarrollo? Son otros $1,000. No necesitas eso.

Cuando los boomers escribieron software, tuvieron que lidiar con todo tipo de restricciones: efectivo, memoria, CPU, red, disco y básicamente todo lo demás. Prácticamente todo era limitado en comparación con hoy. Siempre pensarían dos veces si realmente necesitarían algo y cuál sería el impacto en su producto final. Los sistemas de sus usuarios objetivo eran aún más limitados que las computadoras en las que programaban.

¿Realmente necesitas todas esas cosas caras? Trate de hacerlo simple y en un presupuesto. No hay necesidad de una supercomputadora y el entorno de desarrollo más costoso. Utilice las herramientas que puede permitirse o que ya tiene. Elija sabiamente sus dependencias, ya que lo seguirán durante bastante tiempo.

#9 Libéralo cuando se pueda enviar

Hoy en día, el software de envío es fácil. Los productos SaaS se pueden enviar en un instante con entrega continua. El cliente puede actualizar constantemente las aplicaciones en sus dispositivos, ya que siempre están en línea. Los boomers en el pasado tenían que enviar software en disquetes o discos compactos. Tenían una sola oportunidad de enviar. Lo que sea que pusieran en ese disquete o disco tenía que funcionar cuando llegaba a las manos del usuario. Sin segunda oportunidad.


PC-MAN en una bonita caja por $34.95

Si el software del disquete o del disco tuviera problemas, los minoristas tendrían que darle al cliente un disquete adicional con un parche o reemplazar el inventario existente por completo. Había muy poco margen de error si quería un producto de software comercialmente exitoso en los estantes. Un producto tenía que ser " envíable ", lo que significa que se probó, probó y verificó para que funcionara en la mayor cantidad de máquinas posible.

También tenga en cuenta que las plataformas de destino eran un desastre. Tenía una variedad de opciones de gráficos diferentes para admitir si su software usaba más que una simple entrada de texto (las opciones populares eran Hercules, CGA, EGA, VGA para PC IBM y compatibles) . Tenía que probar eso antes de enviar su producto al usuario. Dado que no había virtualización, eso significaba que tenía que probarla en máquinas físicas o confiar en una biblioteca de terceros que se probó y probó. No me hagas empezar con el sonido o las opciones de red.

El software que se puede enviar, como me enseñaron los boomers, significa software que se ejecutará de forma inmediata en al menos el 90 % de las máquinas de destino previstas. Crear una nueva versión fue un proceso de pensamiento muy completo. No se podía simplemente lanzar, enviar y esperar lo mejor.

Defina lo que significa envío para usted. Asegúrese de que lo que envíe funcione para el 90 % de los usuarios desde el primer momento. No tome atajos en las pruebas de caja negra y caja blanca. El proceso de lanzamiento y envío técnico es parte de su proceso de desarrollo y, por lo tanto, parte de su software. No lo delegues a nadie más.

#10 Lee los libros

Stackoverflow se lanzó en septiembre de 2008, 10 años después del lanzamiento de Windows 98 y 6 años después de Windows XP. Sí, había recursos de programación en Internet antes del año 2000. MSDN, Microsoft Developer Network, es uno de ellos. Sin embargo, la gente rara vez los usaría dado lo lento y costoso que era Internet con su módem de 56k en comparación con el acceso a Internet siempre activo de hoy. Sí, había grupos de noticias donde podías publicar preguntas y esperar días para obtener una respuesta. En la mayoría de los casos, se le dijo que solo leyera la documentación. En lugar de Github y Stackoverflow, ambos fundados en 2008, los boomers tuvieron que confiar en los libros. Libros caros, pero de alta calidad.

Y libros que necesitaban mucho : un libro de introducción a su idioma, un manual de referencia para el idioma, un manual de referencia para el sistema operativo en ese idioma y cualquier libro específico de dominio (por ejemplo, redes) que necesitaran. Un solo libro a menudo no hacía el trabajo, los boomers necesitaban un estante de libros técnicos. El libro “ Principio de programación de Macintosh C ” en 1992, como ejemplo, costaba 26,95 dólares estadounidenses, lo que sería 57,98 dólares estadounidenses en la actualidad. Si miras los libros de programación de Macintosh de la época, fácilmente subirías a $ 500 en dinero de hoy solo por libros.


Afortunados los que tenían cerca una biblioteca universitaria bien equipada

Los libros más populares e importantes que todo desarrollador, no solo los boomers, tiene en su estantería son al menos, pero no se limitan a, los siguientes.

·         El lenguaje de programación C por Brian W. Kernighan

·         El lenguaje de programación C++ de Bjarne Stroustrup

·         El entorno de programación UNIX por Brian W. Kernighan

·         UNIX para programadores y usuarios por Graham Glass

Hay toneladas de otros libros de los años 70, 80 y 90 que te animo a leer. Encontrará que muchos de los libros de esa época son de mayor calidad que la mayoría de los libros que encontrará hoy.

·         Libros de programación en Internet Archive

·         Libros de programación de Macintosh en Vintage Apple

Los libros más importantes que me dijeron que leyera eran sobre el lenguaje de programación C, el sistema operativo UNIX, SQL con bases de datos relacionales y TCP/IP. Si bien hay libros electrónicos, lectores electrónicos y otras opciones de lectura de pantalla, me enseñaron a seguir con los libros impresos y debo admitir que personalmente prefiero los libros impresos desde entonces.

Lea los libros, comprenda los contenidos y aprenda. Aplicar los conocimientos aprendidos a través de la formación. No confíe únicamente en la capacitación institucional, necesita los libros y los necesitará por el resto de su vida. Nunca dejarás de aprender y los libros son la fuente de conocimiento más importante para aprender.

Lo que lograron los boomers

Como toda generación en la historia de la humanidad, existen conflictos generacionales. De hecho, hay tanta investigación académica sobre los conflictos generacionales que no hay motivo para que escriba nada más: La psicología detrás del conflicto generacional .


Jóvenes investigadores en el VEB Elektronik Gera (Alemania del Este, febrero de 1984)

Los desarrolladores boomer no lo tuvieron fácil: se los consideraba nerds, forasteros torpes con una extraña pasión por las computadoras sentados frente a la pantalla todo el día. Hoy en día, la ingeniería de software es una profesión muy respetada. Muchos jóvenes buscan trabajo en empresas de software. Además de los avances tecnológicos, este es probablemente el mayor logro que los desarrolladores boomers han logrado para todas las siguientes generaciones. Ellos, hombres y mujeres por igual, hicieron la transición de la programación incómoda y nerd a la muy respetada profesión de la ingeniería de software. Le debemos mucho a esa generación por sus logros.

Dado que los boomers a menudo se consideraban nerds y la mayoría de la sociedad no tenía ni idea de qué era una computadora o qué software hacía, la comunidad de programación era relativamente pequeña en comparación con la actualidad. Hoy, en 2023, tenemos aprox. 28 millones de desarrolladores en todo el mundo. Representan el 0,29% de la población mundial. Apenas hay estadísticas de cuántos programadores existían en los años 80 y 90, pero puede esperar que ese número sea extremadamente pequeño. Tenían que llevarse bien entre ellos si querían que la informática y la programación progresaran.

En mis primeros años, noté personalmente que los desarrolladores boomer siempre miraban los hechos y nunca a la persona. Cuando presentaba argumentos, los evaluaban y nunca los ignoraban solo porque era joven e inexperto. Para mí personalmente ese es uno de los grandes legados de los boomers que nosotros, como las generaciones más jóvenes, debemos preservar siempre. Concéntrese en los hechos, no en las personas.

En mis últimos 25 años de programación e ingeniería de software, leyendo docenas de libros de los últimos 60 años, también tengo constantemente la impresión de que un conocimiento muy importante se pierde en el tiempo. Siento que nuestro trabajo como generación más joven es preservar el conocimiento de las generaciones anteriores, especialmente en informática.

Gracias.

Espero haber podido preservar parte del conocimiento con este artículo o al menos hacerte pensar sobre la herencia de la informática y la programación. Honrar los logros de las generaciones que nos precedieron y tener en cuenta su experiencia para todo lo que hacemos hoy. ¿Tiene algo que agregar a mi experiencia o tiene experiencia trabajando con las generaciones anteriores usted mismo?

No hay comentarios:

Publicar un comentario