La nueva tecnología, como la nube, tiene muchos beneficios pero también muchos desafíos. Con la nube podemos implementar fácilmente un servidor, definir una red privada, etc. Pero también tenemos muchos problemas nuevos:
- Tenemos que preparar nuestros back-end para soportar fallas del servidor y la máquina, ya que suceden con mucha más frecuencia en la nube.
- Ahora, la cantidad de recursos que utilizamos puede subir y bajar fácilmente (elasticidad). Entonces, ¿cómo diseñamos nuestros sistemas para que sean lo más rentables posible, aprovechando la elasticidad?
- La cantidad de máquinas / servidores aumentará significativamente a medida que avanzamos a la nube. ¿Cómo dividimos, supervisamos y recopilamos registros de estos sistemas?
Estas son todas las preguntas de diseño / arquitectura, y es un arquitecto de software, los desarrolladores y las operaciones que tomarán las decisiones de diseño.
- ¿Cuáles son algunos patrones de diseño de programación funcional?
- ¿Cuál es el campo de las matemáticas más requerido durante el desarrollo de software / juegos?
- ¿Cuáles son algunos de los puntos de falla más comunes en una aplicación que conducen a la necesidad de escalar?
- ¿Cuál es el lenguaje de programación más incomprendido y por qué?
- ¿Cómo puedo encontrar clientes para mi nueva empresa de desarrollo de software?