Mi respuesta a esta pregunta ha variado en el transcurso de los dos años y medio que estuve allí y su experiencia variará según el equipo en el que esté, el gerente general del proyecto y varios elementos organizativos que probablemente estarán completamente fuera. de tu control.
Respuesta corta:
Una combinación de emoción (de trabajar en problemas grandes e interesantes) y frustración (de lidiar con los problemas que se crean en una gran organización basada en métricas).
Pros:
- ¿Cuál es más fácil? ¿Un desarrollador que se convierte en probador o un probador que se convierte en desarrollador?
- ¿Cuál es la diferencia entre trabajar en una empresa impulsada por la tecnología donde "el software es el producto" frente a una en la que "el software es visto como un centro de soporte más"?
- ¿Cuál es el mejor instituto de capacitación en software para Hadoop en India?
- ¿Qué diferencia al software profesional de los proyectos personales?
- ¿Tomar un curso de informática es una mala idea en mi caso?
- Envíe el código a mucha gente, muchas veces a la semana.
- Los equipos de juego son unidades independientes y tienen mucho control sobre la pila de tecnología que quieren usar (hasta cierto punto, lea a continuación)
- Mucha tecnología avanzada, tanto en frontend como en backend:
- Los juegos son exigentes en la interfaz debido al impacto que el rendimiento en tiempo de ejecución tiene en la retención y la viralidad. La amplitud de los problemas también es bastante amplia, similar al trabajo del juego AAA: IA, redes, localización, gráficos, sonido, interfaz de usuario, desarrollo de herramientas, gestión de activos, etc.
- En el backend, Zynga tiene algunos de los mayores problemas de escalado: manejar miles de millones de operaciones de DB / MC al día, millones de usuarios concurrentes, detección de trampas / fraudes, construir su propia capa de servicios basada en la nube, desarrollar un sistema de análisis de clase mundial, etc.
- La infraestructura tecnológica / perfil de inversión tecnológica se actualiza con bastante regularidad. Esto es más un testimonio del liderazgo tecnológico en la empresa y la capacidad de darse cuenta cuando hay nuevas tendencias que brindan una ventaja en el mercado o la productividad. Por ejemplo, en el tiempo que estuve allí, cambiamos de SVN a Git a través de una docena de estudios / grupos centrales e hicimos importantes inversiones en dispositivos móviles, tanto nativos como HTML5 porque salió a la luz que necesitábamos para seguir siendo competitivos. empresa.
Contras:
- Mucha tecnología compartida (algunas de las cuales yo era personalmente responsable) que necesita utilizar por razones comerciales. Esto normalmente no sería un problema, excepto que gran parte de esta tecnología no es de autoservicio y depende de equipos de servicio compartido; evaluando tu habilidad para lanzar cosas tan rápido como quieras. Además, en algunos casos, el trabajo técnico compartido no se completa, puede tener errores o puede faltar características de las que depende. Similar a los tipos de problemas que experimentaría al trabajar con API externas de terceros.
- PHP es el idioma predeterminado para el trabajo del lado del servidor. Esto no es un golpe contra PHP, sino más bien un reclamo por la falta de opciones. Debido al punto anterior, la mayoría de las bibliotecas para estos componentes compartidos se escriben y actualizan primero en PHP. Si bien técnicamente todo es REST, cuando tienes un horario apretado para lanzar un juego, es posible que no tengas el lujo de escribir una biblioteca para el idioma del lado del servidor que decidas usar. Sin embargo, creo que esto puede cambiar con suficiente apoyo de los equipos de juego y puede que ya lo haya hecho.
- Gran org. Esto puede no estar aislado de Zynga, pero definitivamente existe. Si desea hacer una gran apuesta audaz por la nueva tecnología, debe tener la capacidad de convencer a los demás de que es una buena idea. También resulta en interminables discusiones pedantes sobre qué dirección tomar. Irónicamente, muchas veces simplemente hacer lo que crees que es correcto y pedir perdón más tarde (pedir perdón, no permiso) tiende a funcionar.
- A menudo, la deuda tecnológica queda en segundo plano ante el pensamiento empresarial a corto plazo. Esta es la eterna lucha en el desarrollo de juegos en vivo. Dada la naturaleza impulsada por las métricas de Zynga, a veces es difícil demostrar estadísticamente por qué ciertas inversiones tecnológicas tendrán un impacto comercial positivo en comparación con el desarrollo de nuevas características. Una analogía aquí sería tratar de demostrar que la publicidad de la marca genera mayores ingresos, intuitivamente tiene sentido pero es difícil de probar.