Ask HN: ¿Cursos de programación para programadores con experiencia?

Los desarrolladores con experiencia que buscan avanzar más allá de los tutoriales para principiantes a menudo tienen dificultades para encontrar cursos de programación de alto nivel, especialmente para lenguajes como Elixir. Quienes participan apuntan en cambio a proyectos profundos (compiladores, intérpretes, bases de datos, emuladores), libros avanzados y recursos de estilo universitario, cursos de nicho (por ejemplo, rendimiento, Raft, diseño de software) y la lectura de código de marcos reales como caminos más eficaces. Un tema recurrente es que el material verdaderamente avanzado es raro, fragmentado y a menudo caro porque se dirige a un público mucho más pequeño y es más difícil de enseñar bien.

Brecha percibida en la educación avanzada en programación

  • Muchos ven una escasez de materiales de programación “intermedios/avanzados”, especialmente en comparación con el entrenamiento deportivo o de seguridad.
  • Quejas: la mayoría del contenido está orientado a principiantes, se etiqueta como “avanzado” por marketing o tiene una densidad de información demasiado baja.
  • Otros argumentan que el material avanzado existe (libros, charlas, artículos), pero es más difícil, de nicho y a menudo irrelevante para los trabajos típicos.

Estrategias para aprender siendo un programador con experiencia

  • Construir sistemas no triviales: compiladores/intérpretes, bases de datos, componentes de SO, emuladores, sistemas de archivos, git, blockchains, servidores web.
  • Portar proyectos personales existentes a un nuevo lenguaje y hacerlos idiomáticos.
  • Profundizar en bases de código grandes o frameworks existentes, recorriéndolos paso a paso con un depurador.
  • Usar programación competitiva / sitios de acertijos (Advent of Code, LeetCode) para reforzar algoritmos y confianza.
  • Leer muchos libros y código; cultivar “buen gusto” por la simplicidad y refactorizar agresivamente.

Recomendaciones centradas en Elixir

  • Varios cursos y libros dirigidos a programadores que ya dominan otro lenguaje: guías de Elixir/OTP, cursos de LiveView y Phoenix, materiales centrados en OTP, recursos de pruebas basadas en propiedades y un curso de proyecto de bot de trading.
  • Sugerencias de estudiar directamente la máquina virtual BEAM y de usar foros de la comunidad y referencias tipo Learn-X-in-Y-Minutes.
  • Consejo de inspeccionar Phoenix y los internals de BEAM para entender el uso real de Elixir y la concurrencia.

Recursos y cursos avanzados generales

  • Libros de sistemas y programación sobre intérpretes/compiladores, sistemas operativos, bases de datos, programación de sistemas, emulación de CPU, rendimiento, memoria y pruebas.
  • Cursos y talleres sobre Raft, compiladores, SICP, programación consciente del rendimiento, intérpretes y diseño avanzado de software.
  • Guías de fundamentos de CS, referencias de rendimiento y HPC, libros de arquitectura y charlas de conferencias (p. ej., Strange Loop, InfoQ).
  • Plataformas centradas en la práctica: Codecrafters, Exercism, Execute Program, computerenhance.

Sobre coaching, mentoría, economía y herramientas de IA

  • La mentoría y el coaching son elogiados, pero se consideran caros y poco comunes; algunos proponen relaciones de coaching más estructuradas.
  • El hilo discute por qué pocos expertos escriben material profundo: tiempo limitado, mercado pequeño, dificultad y audiencias avanzadas exigentes.
  • Se informa que las herramientas de IA son útiles para explorar y hacer prototipos rápidos, pero no son fiables debido a APIs alucinadas y límites de razonamiento.