Sí, pero depende de lo que entiendas por “entender”.
Cualquier plan de estudios serio de informática cubre lo básico, tanto teórico como matemático, al hardware, al software de sistemas, a la programación. Cualquier persona con un grado medio decente en Ciencias de la computación debería tener una idea de cómo se construyen las computadoras, cómo funcionan y cómo utilizarlas. Cualquier persona con un grado razonable, y con varios años de experiencia, debe entenderlo todo al nivel de las especificaciones de escritura para los elementos de configuración de hardware y software, y tener algunas habilidades para implementar una parte de esas especificaciones.
Pero, a medida que entras en los detalles, hay mucha especialización. En los viejos tiempos, muchas personas podían diseñar y construir una computadora a partir de piezas. En estos días, muy pocas personas pueden diseñar un chip de CPU, y solo una pequeña cantidad de organizaciones pueden realmente construir chips (y hay muchos conocimientos especializados y habilidades asociadas con el diseño y los chips reales). Y luego, ¿incluye comprender la física del comportamiento del silicio? ¿La mecánica del diseño de una unidad de disco? Cuantos más detalles adquieras, más especializado se vuelve y nadie es capaz de comprender, en profundidad, todo hasta el nivel subatómico.
Y luego, cuando entras en los detalles de un programa específico, hay un montón de conocimientos especializados para diseñar y escribir el código. Y luego, ¿qué significa “entender” su ejecución (hay mucho espacio entre escribir “ejecutar” y seguir lo que sucede en cada ciclo de reloj)?