¿Realmente necesita saber qué se enseña en una clase de organización / arquitectura como ingeniero de software?

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.

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

Sí.

El software se construye en niveles de abstracción, comenzando con el panorama general, lo que el software intenta lograr, a través de la arquitectura, módulos, patrones, bibliotecas, algoritmos, redes distribuidas, hasta problemas de hardware como la jerarquía de memoria y el almacenamiento en caché. Tienes que entenderlo todo, al menos en términos generales, y entender cómo interactúan.

Ahora, no necesitará todo eso para un trabajo específico, pero si planea tener una carrera en Ingeniería de Software, necesitará diferentes conocimientos en diferentes proyectos. También debe reconocer cuándo un nuevo diseño / herramienta / metodología / SO / lenguaje publicitado es solo aceite de serpiente.

¿Necesita saber qué hay en una clase de organización / arquitectura de computadoras en la mayoría de las escuelas para ingeniería de software?