Sí.
Incluso si solo es un ingeniero de software, necesita comprender cómo funcionan las diferentes entidades en conjunto para hacer que una computadora funcione. Las clases de arquitectura / SO / hardware lo ayudan a comprender el panorama general.
Usted mencionó trabajar para Microsoft Windows o Google. En ambos casos, es muy importante conocer los conceptos básicos de un sistema para implementar el mejor software para ellos. Para Windows, debe conocer los principios básicos del sistema operativo, cómo funcionan las diferentes políticas de programación en diferentes tipos de chipsets, cuánto costará una aplicación en términos de potencia y calor, etc. Para Google, comienza a pensar escalando el producto y cómo la sofisticada capa de distribución de red afectará su latencia, o cuánto puede depender de la potencia de la máquina host para generar el enorme JS que escribió en su página web, etc.
- Semiótica: ¿Por qué Searle no estaría convencido por la verdadera "inteligencia" de cualquier máquina que pase la prueba de Turing?
- Cómo instalar aplicaciones de terceros en Ubuntu 16.04
- ¿Por qué no podemos transformar datos grandes en algo simple como pi o resolviendo una ecuación?
- ¿Cómo evitan los contratos inteligentes de Ethereum que el creador de un contrato publique maliciosamente el contrato?
- ¿Cuál es la importancia de la estructura de datos de la pila en la arquitectura de la computadora?
En resumen, aún puede sobrevivir sin saber todo esto, pero nunca lo ayudará a comprender el panorama general. En una industria de ritmo rápido como la nuestra, es mejor comprender los conceptos básicos de todas las partes de un sistema, porque la tecnología en cualquier nivel de la industria de la computación queda obsoleta en un par de años, y sin tener una comprensión básica de todo, no ser capaz de prosperar