TeachYourselfCS lleva desde 2016 sosteniendo la misma tesis: se puede aprender ciencias de la computación sin pisar una universidad, siempre que se sigan los libros correctos en el orden correcto. La idea volvió a circular esta semana desde un lugar inesperado: un blog de botánica que enseña taxonomía vegetal con la misma lógica de lista de lectura curada.
El paralelismo no es casual. Crime Pays But Botany Doesn't, un blog dedicado a enseñar botánica a autodidactas, publicó una guía que organiza el aprendizaje por textos canónicos, orden de lectura y vocabulario técnico. Es exactamente el formato que TeachYourselfCS usa desde hace casi una década para enseñar programación, sistemas operativos, algoritmos y bases de datos.
TL;DR
- TeachYourselfCS.com organiza el estudio autodidacta de ciencias de la computación en 9 áreas con libros canónicos específicos por área.- El sitio fue creado por Oz Nova y Myles Byrne, cofundadores de Bradfield School of Computer Science.- Recomienda textos como SICP, CS:APP, CLRS, OSTEP y Designing Data-Intensive Applications en lugar de cursos genéricos.- OSTEP (Operating Systems: Three Easy Pieces) y el Red Book de bases de datos son libros de acceso gratuito y legal en PDF.- GitHub sindresorhus/awesome popularizó el mismo formato de lista curada aplicado a cientos de temas técnicos.- Crime Pays But Botany Doesn't aplica la misma metodología de reading list a la taxonomía vegetal.- La discusión sobre aprender sin título universitario se reaviva mientras la industria tech recorta bootcamps en 2026.
Qué pasó: una lista de botánica reabre el debate sobre aprender sin título
El blog de botánica no tiene nada que ver con tecnología a simple vista: enseña a identificar plantas, entender nomenclatura en latín y clasificar familias por evolución compartida. Pero la estructura del artículo (qué libro leer primero, por qué la terminología técnica no debe intimidar, cómo cada concepto nuevo se busca y se resuelve en el momento) es idéntica a la que usan miles de programadores autodidactas todos los años.
El artículo dedica buena parte de su introducción a defender el sistema de nomenclatura binomial de Linneo (género en mayúscula, especie en minúscula, todo en cursiva) como un estándar universal necesario para que científicos de distintas culturas se entiendan sin ambigüedad. La analogía con programación es directa: los estándares de nombres (semver para versionar librerías, snake_case o camelCase según el lenguaje, RFC para protocolos) cumplen la misma función y evitan que cada equipo reinvente su propio vocabulario.
Como texto central, el blog recomienda Plant Systematics, de Michael Simpson, y como complemento Raven's Biology of Plants: dos libros que funcionan como el CLRS y el SICP de la botánica. Uno enseña a identificar por evolución compartida (sinapomorfias), el otro cubre la biología de fondo que sostiene esa clasificación.
Contexto e historia: de la taxonomía vegetal a TeachYourselfCS
La taxonomía botánica moderna organiza especies según relaciones evolutivas, no por apariencia superficial. Dos plantas con hojas parecidas pueden pertenecer a familias completamente distintas si su ancestro común está muy lejos en el árbol evolutivo. Entender esa lógica permite a un botánico identificar una especie que nunca vio, solo por reconocer el patrón de la familia a la que pertenece.
TeachYourselfCS nació de un problema parecido en programación: los bootcamps enseñan sintaxis y frameworks, pero no siempre los fundamentos que permiten razonar sobre un sistema nunca visto antes. Oz Nova y Myles Byrne, cofundadores de Bradfield School of Computer Science en San Francisco, publicaron el sitio para resolver eso: un currículum de ciencias de la computación armado con los mismos libros que usan universidades top, pero autoguiado y en su mayoría gratuito.
La lógica es la misma que describe el blog de botánica: la terminología técnica (ya sea "monofilético" en botánica o "notación asintótica" en algoritmos) no es un obstáculo, es una herramienta. Aprenderla no es memorizar vocabulario, es entender por qué existe.
TeachYourselfCS ordena 9 áreas de estudio, cada una con 1 o 2 libros canónicos.
Detalles técnicos: la anatomía de una reading list para CS
TeachYourselfCS divide el currículum en nueve áreas, cada una con una recomendación de libro. La tabla resume las áreas centrales y el texto de referencia que el sitio recomienda para cada una:
ÁreaLibro recomendadoPor qué importaProgramaciónStructure and Interpretation of Computer Programs (SICP)Enseña a pensar en abstracciones antes de fijarse en un lenguaje específicoArquitectura de computadorasComputer Systems: A Programmer's Perspective (CS:APP)Conecta el código con lo que realmente hace la CPU y la memoriaAlgoritmos y estructuras de datosIntroduction to Algorithms (CLRS)Referencia estándar para análisis de complejidad y diseño de algoritmosSistemas operativosOperating Systems: Three Easy Pieces (OSTEP)Gratuito y usado en cursos universitarios de OSBases de datosReadings in Database Systems (Red Book)Colección de papers fundacionales, también gratuitaSistemas distribuidosDesigning Data-Intensive ApplicationsTraduce teoría de consistencia y particionado a decisiones de diseño reales
El formato no es exclusivo de TeachYourselfCS. En GitHub, el repositorio sindresorhus/awesome popularizó las "awesome lists": archivos README.md que curan enlaces por tema, desde machine learning hasta compiladores. Cualquier desarrollador puede clonar el formato para armar su propia lista de estudio con checkboxes de Markdown.
flowchart TD
A["Programacion: SICP"] --> B["Arquitectura: CS:APP"]
B --> C["Algoritmos: CLRS"]
C --> D["Sistemas Operativos: OSTEP"]
D --> E["Redes: Kurose y Ross"]
E --> F["Bases de Datos: Red Book"]
F --> G["Lenguajes y Compiladores"]
G --> H["Sistemas Distribuidos: DDIA"]
El orden importa: TeachYourselfCS insiste en no saltar a sistemas distribuidos sin haber pasado antes por sistemas operativos y bases de datos, porque los conceptos de consistencia y fallas parciales dependen de entender primero cómo funciona una sola máquina.
Cómo empezar a usar TeachYourselfCS (o armar tu propia lista)
El primer paso es leer el índice completo del sitio antes de comprar o descargar nada: TeachYourselfCS aclara qué libro es imprescindible y cuál es opcional según el tiempo disponible. Después conviene versionar el propio progreso en un repositorio personal, igual que una awesome-list.
💡 Tip: llevá un archivo Markdown con checkboxes por capítulo, no solo por libro. Terminar "Algoritmos" en un solo commit es demasiado grande para medir progreso real.
Una plantilla mínima para arrancar el repositorio de estudio:
## Mi reading list de CS (inspirada en TeachYourselfCS)
- [ ] Programacion: *SICP* (Abelson y Sussman) - caps 1-3
- [ ] Arquitectura: *CS:APP* (Bryant y O'Hallaron) - caps 1-6
- [ ] Algoritmos: *CLRS* - parte I y II
- [ ] Sistemas Operativos: *OSTEP* (gratis en pdf) - virtualizacion
- [ ] Bases de Datos: *Red Book* - papers 1-5
Para quienes prefieren automatizar el seguimiento, un script corto puede leer una awesome-list existente en GitHub y convertirla en un checklist personal:
import fetch from "node-fetch";
async function extraerRecursos(urlReadme) {
const raw = await fetch(urlReadme).then((r) => r.text());
const enlaces = [...raw.matchAll(/\[(.+?)\]\((https?:\/\/[^\)]+)\)/g)];
return enlaces.map(([, titulo, url]) => ({ titulo, url, leido: false }));
}
const README = "https://raw.githubusercontent.com/sindresorhus/awesome/main/readme.md";
extraerRecursos(README).then((lista) => {
console.log(`Se encontraron ${lista.length} recursos.`);
console.log(JSON.stringify(lista.slice(0, 5), null, 2));
});
El script descarga el README crudo, extrae cada enlace Markdown con una expresión regular y arma un array de objetos con un flag leido que se puede marcar a mano o desde un pequeño frontend. Es la misma idea que un checklist en papel, pero versionable en Git.
Impacto y análisis: ¿reemplaza esto a la universidad o al bootcamp?
La respuesta corta es que no reemplaza a ninguno de los dos por completo: cada camino resuelve un problema distinto. La tabla compara las tres rutas más comunes para aprender programación hoy:
CaminoCuándo convieneVentajaLimitaciónUniversidadCuando hay tiempo y financiamiento para 4 añosCredencial reconocida, red de contactos, mentoría directaCosto y tiempo altos, ritmo fijoBootcampCuando se busca empleo en frontend o backend rápidoRápido, orientado a portafolio inmediatoCobertura superficial de fundamentosReading list autodidactaCuando ya se programa y falta profundidad conceptualGratis o casi gratis, ritmo propio, fundamentos sólidosExige disciplina, sin mentoría ni feedbackSin mentoría, la reading list depende enteramente de la disciplina del autodidacta.
⚠️ Ojo: el mayor riesgo de seguir una reading list solo es no tener a nadie que revise si de verdad entendiste un concepto. Resolver los ejercicios de cada libro, no solo leerlo, es lo que separa el aprendizaje real de pasar páginas.
El blog de botánica plantea el mismo problema desde otro ángulo: aconseja no intimidarse por el vocabulario, pero también insiste en verificar cada concepto nuevo contra una fuente confiable antes de darlo por entendido. La verificación activa, no la lectura pasiva, es lo que hace funcionar cualquier reading list, sea de plantas o de sistemas distribuidos.
Qué sigue
El uso de asistentes de IA como refuerzo de reading lists autodidactas viene creciendo: sirven para explicar un párrafo denso de CLRS o generar ejercicios adicionales sobre un capítulo de OSTEP, sin reemplazar el libro en sí. TeachYourselfCS no menciona esta práctica porque el sitio no se actualiza con frecuencia, pero la comunidad que lo sigue ya la adoptó como complemento informal.
Lo que no cambia es el núcleo del método: elegir bien los textos canónicos y recorrerlos en orden importa más que la herramienta que se use para reforzarlos.
📖 Resumen en Telegram: Ver resumen
Probalo vos: abrí teachyourselfcs.com ahora mismo y compará su índice de nueve áreas contra lo que ya sabés para ver dónde tenés el hueco más grande.
Preguntas frecuentes
¿Necesito un título universitario si sigo TeachYourselfCS?
No es un requisito para aprender los conceptos, pero algunas empresas todavía piden el título como filtro administrativo en procesos de selección grandes. Un portafolio sólido en GitHub compensa parte de esa barrera en empresas más chicas o en roles remotos.
¿Cuánto tiempo toma completar la lista completa?
El propio sitio no da una cifra oficial porque depende del tiempo disponible y del punto de partida de cada persona; programadores con experiencia previa suelen enfocarse solo en las áreas donde tienen huecos, no en las nueve completas.
¿Sirve para conseguir trabajo sin pasar por un bootcamp?
Sirve para profundizar fundamentos, pero no reemplaza la práctica de resolver problemas de entrevista técnica ni construir proyectos que un reclutador pueda revisar.
¿Qué diferencia hay entre una awesome-list de GitHub y TeachYourselfCS?
Una awesome-list es una colección abierta de enlaces que cualquiera puede ampliar por pull request; TeachYourselfCS es un currículum cerrado y curado por sus dos autores, con un orden de lectura específico.
¿Es legal acceder a estos libros gratis?
OSTEP y el Red Book de bases de datos son gratuitos de forma legal porque sus propios autores los publicaron así. Para el resto de los títulos, la vía legal es comprarlos o acceder mediante bibliotecas universitarias o públicas.
¿Cómo mantengo la disciplina sin un curso con fechas de entrega?
Llevar el progreso en un repositorio público con commits regulares funciona como sustituto informal de la presión de un cronograma, además de servir como evidencia del trabajo hecho.
Referencias
- Crime Pays But Botany Doesn't: Reading List: el artículo original que inspiró esta comparación entre metodologías de autoaprendizaje.- TeachYourselfCS: el currículum autodidacta de ciencias de la computación creado por Oz Nova y Myles Byrne.- sindresorhus/awesome: el repositorio de GitHub que popularizó el formato de listas curadas ("awesome lists").- Operating Systems: Three Easy Pieces (OSTEP): libro de sistemas operativos de acceso gratuito recomendado por TeachYourselfCS.- Autodidacticism, Wikipedia: contexto general sobre el aprendizaje autodirigido.
📱 ¿Te gusta este contenido? Únete a nuestro canal de Telegram @programacion donde publicamos a diario lo más relevante de tecnología, IA y desarrollo. Resúmenes rápidos, contenido fresco todos los días.
Top comments (0)