La clave está en tener conocimiento de dominio (y eso no te lo enseñan en la escuela)

Justin Skycak, comparte un punto interesante sobre la importancia de tener experiencia, más que teoría, para ser bueno en algo:

Hay una falta de evidencia de que se puede aumentar la capacidad de alguien para resolver problemas con cualquier otro método que no sea equiparlo con más conocimiento del dominio.

Cómo se ve esto en la programación:

[…] alguien podría argumentar que el hacer depuración de código es más que solo conocimiento del dominio, se trata de la capacidad general de jugar con las cosas, y eso no se aprende en la escuela.

Sin embargo, lo que está sucediendo es que han acumulado un vasto zoológico de técnicas de entender el problema: imprimir información relevante específica, descargar toda la información en un archivo de registro, establecer un punto de interrupción, establecer un punto de interrupción condicional, pasar por el código, refactorizar el código desordenado con la esperanza de que la reducción de la complejidad haga que el problema desaparezca naturalmente o al menos sea más fácil de identificar, reproducir el problema en un caso más simple, etc., y han obtenido toneladas de práctica seleccionando y usando estas técnicas en diferentes contextos de problemas.

Y sobre el efecto que esto tiene en la formación profesional y la industria:

Desafortunadamente, estas cosas normalmente no se cubren en los cursos de CS. Los estudiantes suelen tener muy poca práctica estructurada con estas cosas. Parece que la mayoría de los graduados de CS apenas saben cómo trabajar con puntos de interrupción. Y eso es solo arañar la superficie de las técnicas de depuración.

Así que lo que sucede es que la gente a veces aprende un montón de cosas fuera de un plan de estudios estructurado no comprensivo, y luego piensa que las cosas que han aprendido son mágicas y no se pueden enseñar de manera estructurada. Cuando, de hecho, puede, y el problema es que nadie ha trabajado duro para crear ese plan de estudios estructurado todavía.