Aquí hay un consejo: haz el orden inverso de lo que has enumerado: aspira a ser un desarrollador de juegos y, si no funciona, puedes escalar hacia el arquitecto / desarrollador de software.
Vengo de un fondo de juegos / gráficos por computadora, así que lo primero que te diré es git gud con matemáticas. ¡MATEMÁTICAS! Ponte muy bien. Todo lo que haces en el mundo del juego requiere que sepas cómo deconstruir las acciones en un conjunto de instrucciones empíricas que la computadora pueda entender. En este caso, es matemática. Todo en el juego está basado en matemáticas. Mejora en el cálculo, incluso en múltiples variantes. Álgebra lineal y análisis numérico.
Luego, para entender cómo implementar un juego o incluso el motor del juego, debes ser realmente bueno con CS. No solo cualquier CS normal, conocer estructuras de datos y algo es parte de ello. También necesita saber cómo funciona el hardware. Debido a que desea el máximo rendimiento de un determinado hardware objetivo, tener conocimientos de hardware le brinda una buena perspectiva sobre el tipo de datos con los que está trabajando y cómo funciona el patrón de transacciones de memoria. Eso significa que necesita saber cómo funcionan las cosas desde una vista ascendente y descendente. Busque la charla CppCon14 de Mike Acton sobre diseño basado en datos.
- ¿Cuánto ganan en promedio los desarrolladores de aplicaciones en publicidad por clic y cuál es el CTR promedio?
- ¿Cuáles son los objetivos de un desarrollador en TI?
- Como desarrollador, ¿cuál es el tipo de datos más interesante con el que ha trabajado y por qué? ¿Qué lenguaje / herramientas / marcos usaste?
- ¿Cuáles son los diversos dominios en los que trabajan los desarrolladores de software?
- He planeado ser un programador profesional (desarrollador), pero no me gusta el álgebra. ¿Puedo lograr esto?
Como C ++ es el estándar de la industria, conózcalo bien. No tienes que dominarlo, y no creo que mucha gente pueda.
Física. Esto es lo natural de las matemáticas. Y si planea hacer un renderizado basado en la física, todas las matemáticas indicadas ayudan.
Cómo trabajar con personas. Los juegos son un gran campo y trabajarás con diferentes tipos de personas. Uno de los componentes clave son los artistas. Comprenda la tubería de arte y el flujo de trabajo. Una gran cantidad de trabajos de programación en compañías de juegos tratan sobre la construcción de herramientas que serán fáciles de usar para el equipo de producción.
Comprenda cómo funciona el mercado también. Conozca a su audiencia y cómo vender su producto.
Eso es más o menos lo que puedo pensar en este momento.
Si bien hay motores como UE4 y Unity3D, creo que es fundamental conocer la base antes de pisarlos. De lo contrario, se sentirá demasiado cómodo con ellos y no podrá funcionar cuando no estén disponibles.
Y si decides no ser un desarrollador de juegos, todas las habilidades indicadas son extensibles para SWE.
Buena caza.