Importante empresa de Software, del Rubro del Juego, sumará a su Staff Desarrollador PHPSR. Responsabilidades del puesto Será responsable de desarrollar nuevas características y funcionalidades con un enfoque específico en plataformas móviles. Esto implica comprender los requisitos de diseño y experiencia de usuario para dispositivos móviles, desarrollar aplicaciones nativas o adaptar interfaces web para una experiencia móvil óptima, y garantizar la compatibilidad con una variedad de dispositivos y sistemas operativos móviles. El candidato será responsable de liderar o colaborar en el proceso de migración del sistema legacy hacia las nuevas tecnologías, incluyendo PHP, Node.js, C++, y GoLang. Esto implica entender el sistema existente, identificar áreas de mejora y desarrollar soluciones eficientes y escalables en las nuevas tecnologías. Durante el período de transición, es crucial mantener el sistema legacy funcional y estable. El desarrollador senior deberá estar preparado para abordar problemas inmediatos, realizar actualizaciones y parches, y asegurar que el sistema cumpla con los requisitos operativos mientras se migra gradualmente hacia la nueva arquitectura. Trabajar en estrecha colaboración con otros equipos, como ingeniería, QA, gestión de proyectos y stakeholders, para garantizar una migración fluida y exitosa. Esto implica comunicarse de manera efectiva, compartir conocimientos y coordinar esfuerzos para minimizar los tiempos de inactividad y maximizar la eficiencia. Es esencial escribir pruebas exhaustivas para garantizar que el código nuevo y migrado funcione correctamente y no cause regresiones en el sistema. Las pruebas unitarias y de integración deben formar parte integral del proceso de desarrollo. Utilizar sistemas de control de versiones como Git para gestionar el código fuente de manera eficiente, permitiendo un seguimiento preciso de los cambios realizados y facilitando la colaboración entre desarrolladores. Documentar el código y los procesos de manera clara y concisa para facilitar su comprensión y mantenimiento por parte de otros desarrolladores. Esto incluye documentar la arquitectura del sistema, los flujos de trabajo y cualquier decisión de diseño importante. Diseño modular y desacoplado: Adoptar un enfoque de diseño modular y desacoplado que permita la reutilización de componentes, facilite la escalabilidad y simplifique la mantenibilidad del sistema a largo plazo. Microservicios: Considerar la arquitectura de microservicios para dividir la aplicación en servicios independientes y altamente cohesivos, lo que facilita la implementación, el mantenimiento y la escalabilidad. Aplicar patrones de diseño reconocidos, como MVC (Modelo-Vista-Controlador) o MVVM (Modelo-Vista-Modelo de Vista), para garantizar una separación clara de responsabilidades y una estructura organizada del código. Realizar revisiones de código periódicas entre pares para identificar posibles problemas de calidad, mejorar la consistencia del código y compartir conocimientos entre el equipo. Utilizar herramientas de análisis estático de código para identificar posibles problemas de calidad, como errores de estilo, vulnerabilidades de seguridad o malas prácticas de codificación. Mantener un enfoque de refactorización continua para mejorar la calidad del código, reducir la deuda técnica y garantizar que el diseño del sistema evolucione de manera saludable a lo largo del tiempo.