- Es difícil desarrollar habilidad en programación con libros introductorios de 24 horas o 21 días; lo que se obtiene con un aprendizaje breve suele parecerse más a una familiaridad superficial
- Los estudios sobre la expertise en campos como ajedrez, composición, pintura, natación e investigación muestran que llegar a un nivel alto toma alrededor de 10 años, y la clave no es la simple repetición sino la práctica deliberada
- Para convertirse en buen programador hay que mantener el interés, crear cosas por cuenta propia, leer código de otros, trabajar con gente más capaz y recibir feedback
- La educación universitaria y los libros pueden complementar con credenciales, estructura y profundidad, pero no sustituyen la experiencia de corregir fallas y lidiar con mantenimiento en proyectos reales
- El primer lenguaje puede elegirse según amigos y comunidad, simplicidad y un entorno de ejecución interactivo; lo importante es elegir uno y empezar de forma constante
Los límites de la promesa de aprender programación en poco tiempo
- En librerías y en línea hay muchos libros que prometen enseñar Java, C, SQL, Ruby, algoritmos y más en unos pocos días o incluso horas
- En la búsqueda avanzada de Amazon, los libros publicados después de 2000 con
teach yourself hoursen el título aparecían como 512, y 9 de los 10 primeros eran libros de programación - Al cambiar
teach yourselfporlearnohourspordays, los resultados eran similares
- En la búsqueda avanzada de Amazon, los libros publicados después de 2000 con
- Estos títulos dan la impresión de que la gente quiere aprender programación con urgencia, o de que programar es mucho más fácil de aprender que otras áreas
- How to Design Programs, de Felleisen y otros, satiriza esta tendencia con una idea del estilo: “la mala programación es fácil; hasta los tontos pueden aprenderla en 21 días”
Lo que “Teach Yourself C++ in 24 Hours” podría significar en realidad
-
Teach Yourself
- En 24 horas no hay tiempo para escribir varios programas significativos, aprender de éxitos y fracasos, trabajar con programadores experimentados y entender qué significa vivir en un entorno C++
- Por lo tanto, lo posible no es una comprensión profunda, sino algo más cercano a una familiaridad por encima
-
C++
- Si ya conoces otro lenguaje, en 24 horas puedes aprender parte de la sintaxis de C++
- Pero es difícil aprender para qué sirve C++, para qué no sirve, y cómo debería usarse realmente el lenguaje
- Como dijo Alan Perlis: “un lenguaje que no cambia tu forma de pensar sobre programación no vale la pena conocerlo”
-
24 Hours
- Se puede aprender un poco de C++, JavaScript o Processing para conectarse con una herramienta específica
- En ese caso, se parece más a aprender cómo realizar una tarea concreta que a aprender programación en sí
La expertise toma tiempo
- Estudios de Bloom, Bryan & Harter, Hayes, Simon & Chase y otros mostraron que formar expertise en varias áreas toma alrededor de 10 años
- Entre los campos de ejemplo están ajedrez, composición, telegrafía, pintura, piano, natación, tenis, investigación en neuropsicología y topología
- La clave no es la simple repetición, sino la práctica deliberada (deliberative practice)
- Elegir tareas apenas más difíciles que la capacidad actual
- Analizar los resultados durante y después de la ejecución
- Corregir errores y repetir de nuevo
- Mozart era un prodigio musical a los 4 años, pero tardó 13 años más en crear música de nivel mundial
- The Beatles llamaron la atención en 1964 con el show de Ed Sullivan y éxitos número uno, pero venían tocando desde 1957 en pequeños clubes de Liverpool y Hamburgo, y Sgt. Pepper’s, su gran éxito crítico, salió en 1967
- Malcolm Gladwell popularizó la expresión 10,000 horas, pero lo importante aquí no es el número exacto sino la práctica constante durante años
- Para K. Anders Ericsson, 10,000 horas es una cifra que da la idea de que incluso una persona talentosa necesita muchos años, a razón de 10 a 20 horas por semana, para alcanzar el máximo nivel
- Un solo número no puede ser toda la respuesta
- Es difícil sostener que programación, ajedrez, damas y música exijan exactamente el mismo tiempo
- También es difícil sostener que todas las personas aprendan a la misma velocidad
Prácticas para convertirse en programador
- Hay que sentir interés por la programación y empezar por diversión
- La diversión debe mantenerse lo suficiente como para invertir 10 años o 10,000 horas
- Hay que programar directamente
- El mejor aprendizaje es aprender haciendo
- El aprendizaje efectivo requiere tareas claras con una dificultad adecuada para la persona, feedback útil y oportunidades de repetición y corrección de errores
- Hay que conversar con otros programadores y leer programas escritos por otras personas
- Esto es más importante que cualquier libro o curso
- Si se quiere, se puede pasar 4 años en la universidad o estudiar más en posgrado
- Un título permite acceder a trabajos que exigen credenciales y puede dar una comprensión profunda del área
- Si no disfrutas la escuela, con dedicación también puedes obtener experiencias similares por tu cuenta o en el campo laboral
- Aprender solo con libros no es suficiente
- Hay que hacer proyectos colaborativos con otros programadores
- En algunos proyectos puedes ser el programador más fuerte y poner a prueba tu liderazgo y visión
- En otros puedes ser la persona con menos nivel y aprender qué hacen los más expertos y qué evitan hacer
- Hay que lidiar con proyectos existentes después de que otros programadores se hayan ido
- Aprendes qué se necesita para entender y arreglar programas escritos por otros
- También empiezas a pensar cómo diseñar para quienes tendrán que mantenerlo después
Experiencia amplia con lenguajes y sistemas
- Hay que aprender al menos seis lenguajes de programación
- Lenguajes que enfatizan la abstracción por clases: Java, C++
- Lenguajes que enfatizan la abstracción funcional: Lisp, ML, Haskell
- Lenguajes que soportan abstracción sintáctica: Lisp
- Lenguajes que soportan especificación declarativa: Prolog, C++ templates
- Lenguajes que enfatizan la concurrencia: Clojure, Go
- Hay que recordar que “computer science” contiene computer
- Debes conocer los tiempos que toman ejecutar instrucciones, traer palabras desde memoria, un cache miss, una lectura secuencial de disco, un seek de disco, etc.
- También ayuda involucrarse en actividades de estandarización de lenguajes
- Puede ser algo grande como el comité ANSI C++, o algo tan local como decidir si en el estilo de código del equipo la indentación será de 2 o 4 espacios
- Puedes aprender qué les gusta a otras personas de un lenguaje y por qué lo sienten con tanta fuerza
- En las actividades de estandarización también hace falta el criterio para salirse lo antes posible
Los libros y la educación no bastan por sí solos
- Aunque leas muchos libros sobre crianza, cuando nace tu primer hijo puedes sentirte principiante; y cuando nace el segundo, tiendes a apoyarte en tu experiencia personal antes que volver a los libros
- No Silver Bullet, de Fred Brooks, propone un plan en tres partes para encontrar grandes diseñadores de software
- Identificar de forma sistemática a diseñadores destacados lo antes posible
- Asignarles un mentor de carrera que se haga responsable de su desarrollo y administre su expediente profesional
- Dar a los diseñadores en crecimiento oportunidades para interactuar entre sí y estimularse mutuamente
- Alan Perlis dijo: “todo el mundo puede aprender a esculpir, pero a Michelangelo probablemente había que enseñarle cómo no esculpir”
- Los programadores sobresalientes pueden tener rasgos internos que van más allá del entrenamiento, pero no se afirma si eso es innato o si se desarrolla con trabajo duro
- Los libros sobre Java, Ruby, JavaScript y PHP pueden ser útiles, pero no cambian tu vida ni toda tu expertise en 24 horas o 21 días
- Trabajar duro durante 24 meses intentando mejorar de forma continua es un punto de partida significativo
Intuición sobre los tiempos de operación de una computadora
- Los tiempos aproximados de varias operaciones en una PC común son los siguientes
- Ejecución de una instrucción común: 1 nanosegundo
- Traer datos desde memoria caché L1: 0.5 nanosegundos
- Fallo de predicción de rama: 5 nanosegundos
- Traer datos desde memoria caché L2: 7 nanosegundos
- Bloquear/desbloquear un mutex: 25 nanosegundos
- Traer datos desde memoria principal: 100 nanosegundos
- Enviar 2 KB por una red de 1 Gbps: 20,000 nanosegundos
- Leer 1 MB secuencialmente desde memoria: 250,000 nanosegundos
- Hacer seek a una nueva ubicación del disco: 8,000,000 nanosegundos
- Leer 1 MB secuencialmente desde disco: 20,000,000 nanosegundos
- Ida y vuelta de un paquete entre Estados Unidos y Europa: 150 milisegundos, es decir, 150,000,000 nanosegundos
Criterios para elegir el primer lenguaje de programación
- No hay una única respuesta correcta para el primer lenguaje
- Puedes basarte en amigos y comunidad
- Es parecido a la respuesta de usar el sistema operativo que usan tus amigos
- La ventaja de poder aprender de un amigo puede compensar las diferencias del sistema operativo o del lenguaje en sí
- También hay que considerar si el lenguaje elegido tiene una comunidad en crecimiento, libros, sitios web y foros en línea
- La simplicidad es importante
- C++ y Java fueron diseñados para que programadores experimentados hicieran desarrollo profesional en equipos grandes, y tienen partes complejas pensadas para la eficiencia de ejecución
- Quien recién empieza no necesita esa complejidad
- Un entorno de ejecución interactivo facilita el aprendizaje
- Es como cuando tocar una tecla del piano y escuchar el sonido de inmediato resulta más fácil para aprender que escuchar toda la pieza solo después de terminarla en modo batch
- En programación también son ventajosos los lenguajes que ofrecen un modo interactivo
- Con estos criterios, se recomiendan Python o Scheme como primer lenguaje
- JavaScript puede ser una opción no porque sea un lenguaje perfectamente diseñado para principiantes, sino porque hay muchos tutoriales en línea
- Un ejemplo es el tutorial de Khan Academy
- Los estudiantes de un solo dígito de edad pueden preferir Alice, Squeak o Blockly, y los estudiantes mayores también pueden disfrutarlos
- Lo importante es elegir uno y empezar
Libros y recursos recomendados
- Aunque los libros no bastan por sí solos, los siguientes recursos pueden ayudar en el aprendizaje
-
Structure and Interpretation of Computer Programs
- Structure and Interpretation of Computer Programs es un libro introductorio excelente de ciencias de la computación, y enseña programación como una forma de entender la disciplina
- Se pueden ver los videos de las clases y el texto completo en línea
- Es un libro desafiante, así que también puede filtrar a algunos estudiantes que podrían tener éxito con otro enfoque
-
How to Design Programs
- How to Design Programs es uno de los buenos libros que, usando Scheme, trata sobre cómo diseñar programas de verdad de manera elegante y funcional
-
Python
- Python Programming: An Intro to CS es una buena introducción que usa Python
- Python.org tiene varios tutoriales para principiantes
-
Oz
- Concepts, Techniques, and Models of Computer Programming es visto por algunos como un sucesor moderno de Abelson & Sussman
- Cubre ampliamente las grandes ideas de la programación y usa un lenguaje poco conocido llamado Oz, pero puede servir como base para aprender otros lenguajes
1 comentarios
Opiniones de Hacker News
En 1999 compré "Sams Teach Yourself C++ in 24 Hours" en CompUSA, y el empleado de la caja se rio al verlo y me recomendó este artículo.
A los 16 años estaba viendo libros de programación en Borders cuando alguien me alcanzó "The C Programming Language", y eso me cambió la vida.
Una parte importante de mi carrera se formó al encontrarme por casualidad, en el mundo real, con desarrolladores o gente interesada en la programación.
La última vez que sentí algo así fue cuando salí de Microcenter con una MacBook nueva y un iPod Touch, sintiendo que estaba listo para crear el próximo Angry Birds.
Unos 8 años después, cuando compré Turbo Pascal, también traía todo el material que necesitaba, así que pude aprenderlo rápido; y cuando empecé con Linux en 1995, con las páginas man y la documentación info pude aprender casi todo lo necesario para programar en ese sistema.
También recuerdo haber leído el manual de EGCS de principio a fin a fines de los 90.
Extraño la época en que el software venía con toda la información necesaria, y me da pena que ahora haya que revolver Google para encontrar la página de producto o el manual.
En unos 5 años, creo que incluso vamos a extrañar la búsqueda de Google que usábamos como reemplazo de los manuales, porque la información relevante estará solo en Discord y no será indexada.
A principios de los 2000 también aprendí programación de sockets en Linux y FreeBSD solo con las páginas man, y cuando más tarde leí el libro de Stevens, pude avanzar muy rápido porque ya tenía las páginas man y la experiencia de haber escrito algunos programas.
Había descargado Visual Basic 3.0 desde AOL en 100 archivos adjuntos de correo, y quería aprender a hacer un punter/prog.
Copié el código del libro para reproducir un archivo de sonido al iniciar el programa, y me sorprendió muchísimo cuando realmente funcionó.
Después, poder hacer una carrera en desarrollo de software fue un gran privilegio.
En los 90 era bastante común recibir solo una reacción de incredulidad, ni hablar de consejos.
Todo desarrollador debería leer y aprender C y K&R al menos una vez, aunque luego se olvide de C enseguida.
Este artículo tiene un significado especial para mí porque lo leí por primera vez cuando era adolescente y recién empezaba a aprender a programar.
Al releerlo me sorprendió ver a Malcolm Gladwell, porque recordaba que Outliers se volvió un tema de conversación mucho después.
Solo al ver la mención a Ratatouille me di cuenta de que el artículo se había actualizado después de publicarse en 1998; el original sigue en el archivo y es mucho más corto: https://web.archive.org/web/19980206223800/https://norvig.co...
Es admirable que Peter Norvig haya seguido corrigiendo su propio texto durante años.
Lo citan demasiado seguido, y la regla de las 10.000 horas ya se siente simplemente como un meme.
Ahora aprendí programación por mi cuenta, pero el camino fue mucho más difícil y sinuoso de lo que imaginaba entonces.
Yo también suelo aprender con libros, pero esa actitud muchas veces encaja mejor en campos no computacionales como matemáticas o física, donde los cambios son más lentos.
Un mal ejemplo reciente fue el libro de Quantum Programming de O'Reilly, que no trataba los circuitos cuánticos con suficiente detalle como para que yo entendiera de verdad lo que estaba haciendo.
Aunque quizá eso sea parte del humo de la computación cuántica en sí; y Nielsen/Chuang, que estoy leyendo ahora, es muy teórico pero explica con mucha claridad, así que tal vez vuelva a aquello más adelante.
Los libros son solo una herramienta de aprendizaje, y los proyectos personales pueden ser una herramienta incluso más efectiva, porque también acumulas experiencia.
Aun así, el conocimiento es poder, y los libros son excelentes para orientarte en la dirección correcta, siempre que encuentres uno que se ajuste a tus necesidades.
Conozco gente que, si no tiene la seguridad de que podrá terminar un libro, ni siquiera lo abre; me parece una actitud absurda.
Acabo de pedir el libro Generative Deep Learning de O'Reilly, y si saco aunque sea algunas piezas que pueda usar en mi carrera, ya habrá valido la pena.
Como mínimo, se verá bien en la biblioteca.
Cada semana sale un nuevo framework de frontend, pero al final todos producen HTML.
Son hilos de hace 16 años
Un repost está bien después de más o menos un año, y los enlaces a hilos anteriores son para lectores que quieran saber más
Teach Yourself Programming in Ten Years (1998) - https://news.ycombinator.com/item?id=33287618 - octubre de 2022, 112 comentarios
Teach Yourself Programming in Ten Years (1998) - https://news.ycombinator.com/item?id=27411276 - junio de 2021, 115 comentarios
Teach Yourself Programming in Ten Years (1998) - https://news.ycombinator.com/item?id=20543495 - julio de 2019, 87 comentarios
Teach Yourself Programming in Ten Years (1998) - https://news.ycombinator.com/item?id=16574248 - marzo de 2018, 51 comentarios
Teach Yourself Programming in Ten Years (1998) - https://news.ycombinator.com/item?id=9395284 - abril de 2015, 61 comentarios
Teach Yourself Programming in Ten Years (1998) - https://news.ycombinator.com/item?id=5519158 - abril de 2013, 86 comentarios
Teach Yourself Programming in Ten Years by Peter Norvig (2001) - https://news.ycombinator.com/item?id=3439772 - enero de 2012, 29 comentarios
Teach Yourself Programming in 10 Years. - https://news.ycombinator.com/item?id=1060176 - enero de 2010, 32 comentarios
Teach Yourself Programming in Ten Years - https://news.ycombinator.com/item?id=191235 - mayo de 2008, 19 comentarios
Norvig: Teach Yourself Programming in Ten Years - https://news.ycombinator.com/item?id=43243 - agosto de 2007, 7 comentarios
Me impresiona que el viejo enlace de Amazon.com de la página, aunque tiene parámetros de consulta bastante complejos, todavía devuelva resultados relevantes
Es un buen ejemplo de “Cool URIs don't change”
[0] http://www.amazon.com/gp/search/ref=sr_adv_b/?search-alias=s...
[1] https://www.w3.org/Provider/Style/URI
Conocí a bastantes personas que me preguntaban cómo podían conseguir un trabajo de programación, en su empleo o en otro lugar.
Cuando les cuento mi camino —que empecé a aprender desde chico, lo convertí en un gran hobby y pasé por una carrera de Ciencias de la Computación y pasantías— se sorprenden y se decepcionan al ver que no hay un camino rápido.
¿O tal vez sí lo hay? Me pregunto si hay gente que haya completado con éxito un bootcamp para pasar de 0 a 1.
En la secundaria y la universidad tomé algunas clases de programación por diversión, pero mis conocimientos eran muy limitados.
Ese bootcamp hizo honor a su nombre: el horario base era de 9 a 5, pero mucha gente llegaba a las 7 de la mañana y se iba a las 10 de la noche.
También íbamos los fines de semana, y a veces solo descansábamos los domingos.
Elegí a propósito un bootcamp en otra ciudad para que la vida social no me distrajera.
Se enfocaba en Ruby y JavaScript, y unos meses después de graduarme conseguí trabajo como pasante de C#/.NET.
Me pareció que iba a ser difícil convencerlos de darme directamente un puesto de desarrollador junior, así que opté por una pasantía, y en 2 semanas me ascendieron a desarrollador junior.
Esa escuela desapareció después de que Kaplan la adquiriera.
Aprendí por mi cuenta los fundamentos de JavaScript durante 8 meses en el sótano de la casa de mi madre, y pude conseguir trabajo.
Después de eso dediqué una cantidad enorme de horas a programar, y hasta ahora ya superé decenas de miles de horas.
Trabajé con compiladores, gráficos 3D, semiconductores y motores de juegos.
Creo que mi experiencia respalda ambos lados.
Alrededor de 2012 era relativamente fácil entrar en la industria con poca experiencia, pero después hizo falta un esfuerzo enorme para convertirse en un buen ingeniero, de esos que la gente quiere contratar porque tienen proyectos interesantes.
Con datos limitados, diría que, igual que con desarrolladores de formación tradicional, es una lotería.
Los mejores resultados fueron con personas con formación clásica en física, química o ingeniería que querían cambiar de carrera; estaban más cerca de juniors avanzados con una curva de aprendizaje rápida.
Si querés incorporar a alguien motivado y principiante en áreas de software donde la programación pura es menos importante, puede ser una excelente contratación.
La desviación estándar es grande, pero no sé si es mayor que la de egresados de carreras de 2 años.
En la universidad estudié humanidades y nunca había escrito código.
Los primeros 2 años fueron realmente duros; al no tener bases, sentía todo el tiempo que nadaba contra la corriente.
Recién hacia el final del programa de 2 años sentí que podía aportar valor de forma independiente.
Mi conocimiento está bastante orientado a la aplicación práctica, y como me faltan fundamentos de Ciencias de la Computación, a veces es más difícil porque tengo que ir aprendiendo lo básico sobre la marcha.
Dicho eso, mi rol actual es de ingeniero de datos, así que las áreas tradicionales de Ciencias de la Computación, como estructuras de datos y algoritmos, se requieren relativamente menos.
La clave es la práctica deliberada.
No se trata solo de repetir, sino de enfrentar tareas un poco más difíciles que tu capacidad actual, intentarlas, analizarlas durante y después de hacerlas, corregir errores y volver a repetir.
Para seguir aprendiendo, tenés que desafiarte y salir de tu zona de confort.
Lo usé durante unos meses y un día, por casualidad, se cerró mi sesión; ahora estoy valorando la pequeña incomodidad de tener que buscar en la documentación oficial.
Me sorprendió sentirme mucho más lento durante la primera semana.
Dar pasos adicionales para aprender a partir de fuentes primarias y, a veces, valorar la incomodidad es importante para crecer como programador.
En especial, si completaron tareas de nivel de primer o segundo año solo con Copilot, podrían estar automatizando su propia utilidad hasta hacerla desaparecer.
Por otro lado, hemos dicho cosas parecidas sobre los “niños iPad”.
El iPad también tiene sistema de archivos, y las apps siguen sumando funciones dentro de las formas aprobadas por Apple, así que no me parece una mala aproximación a una laptop.
Yo también uso Copilot, pero principalmente como autocompletado inteligente para configurar variables o hacer pequeñas tareas repetitivas.
Sirve para ahorrar tiempo que debería usarse en contextualizar la resolución de problemas e interactuar con el equipo; no es algo que reemplace a un ingeniero.
La expertise viene de la experiencia, y la experiencia solo se acumula cuando seguís volviendo.
Hay personas capaces de obligarse a sufrir sin parar, pero para la mayoría lo sensato es empezar por encontrar alguna parte del software que puedan amar de verdad y hacerla crecer.
En el mundo del código vi a personas claramente más inteligentes que yo irse por ser demasiado inteligentes.
Sentían que ya no era desafiante, o se cansaban de desafíos equivocados como “esperar a que los demás se pongan al día”.
Por lo general eran personas que trabajaban con tecnologías de punta que se volvían estándar unos años después.
Si la fascinación es la motivación, quizá convenga alegrarse de no ser demasiado inteligente.
Aunque figura como un texto de 1998, contiene menciones a Clojure y Go, así que parece haber sido actualizado después.
Buen artículo.
Para completar 10 mil horas a razón de 8 horas al día, 40 horas por semana, se necesitan 250 semanas.
Incluso programando casi sin descanso son unos 5 años, y en la práctica se acerca más a 10 años para alcanzar la meta.
Si programas mucho, puedes llegar fácilmente a 3 mil horas al año.
Yo programo 12 horas al día la mayoría de los días, y 6 a 7 días por semana la mayoría de las semanas.
En días de motivación muy fuerte, también hago 18 horas.
Llevo casi 10 años así, aunque de vez en cuando descanso alrededor de un mes y bajo a 3 o 4 días por semana con jornadas largas.
Incluso con un cálculo conservador, son unas 3500 horas al año.
La razón por la que trabajo tanto es que de verdad amo programar y, salvo surfear por la mañana, no hay nada que quiera hacer más que eso.
Aun así, unos 10 años de carrera profesional para convertirse en un desarrollador sólido suena, en general, acertado.
Nunca he visto a nadie llegar realmente a ese nivel en 5 años.
Quienes empezaron de adolescentes de manera obsesiva pueden recortar algunos años, pero a partir de cierto punto ese tiempo también se superpone.
Por supuesto, también está el viejo dicho de que el problema es “repetir 10 veces un año de experiencia”.
He visto a muchos desarrolladores con más de 10 años que no son sólidos.
Parece que bastaría con entrar en un rol junior, trabajar 5 años e ir subiendo.
La intuición se acumula a medida que vas resolviendo tareas cada vez más difíciles.
En algún momento puedes conectar y aplicar lo que sabes de un área en otra, y ahí empieza a funcionar la creatividad.
No encuentro la fuente de un video que vi hace 5 o 6 años, pero decía, en esencia, que a medida que aumenta la cantidad de programadores, la mayoría tiene menos de 5 años de experiencia.
Tenía sentido en el contexto de que IT y la web intervienen cada vez más en la vida.
[0] https://youtu.be/ecIWPzGEbFc?si=A4qBR2YdX-0CV2bM lo encontré gracias al comentario de wild_egg.
Después de 20 años, ahora también hay bastante información que ya no necesito saber, y mucha información que probablemente quienes tienen menos de 5 años de experiencia no necesitan en absoluto.
Por otro lado, la experiencia es experiencia, y saber cómo están construidas las cosas y por qué existen siempre ayuda.
También hay muchos programadores con menos experiencia que yo que pueden hacer muchas cosas que ni siquiera puedo imaginar.
Para ser sincero, este campo con completitud de Turing es bastante amplio.
Nunca memoricé la sintaxis por separado; siempre programé con las páginas man y los manuales abiertos.
Pero todos los lenguajes y tecnologías que aprendí me enseñaron algo útil sobre los problemas fundamentales de la computación y los sistemas.
La forma de abordar los problemas cambia de ropa, pero los problemas en sí siguen siendo los mismos.
No hay atajos, y sé con certeza que el programador que soy ahora es varios órdenes de magnitud más competente que el que era a los 5 años de experiencia.
Me entusiasma más que nunca aprender cosas nuevas y hacer trabajos nuevos, porque abrirán más partes de esta tecnología.
Lo que me preocupa es que algún día el cuerpo y la mente no me acompañen, no quedarme sin cosas por aprender ni ser superado por gente joven.
https://youtu.be/ecIWPzGEbFc?si=A4qBR2YdX-0CV2bM
Todavía se siente como la era de los alquimistas.
Algún día aparecerán los químicos, sistematizarán las observaciones improvisadas y descartarán muchas cosas.
Hasta entonces… Newton también fue alquimista, pero aun así hizo aportes bastante grandes.