Resumen del puesto
EL PUESTO SOLO APLICA PARA CIUDADANOS MEXICANOS, CON POSIBILIDAD PARA APLICAR A VISA TN
Buscamos un ingeniero de software sénior con experiencia para trabajar con un equipo de diseñadores, investigadores y desarrolladores de software en la creación de soluciones integradas de software HMI (interfaz hombre-máquina).
Esta persona se enfocará principalmente en el desarrollo de software de UI/UX y gráficos 3D, pero también deberá contar con un conjunto amplio de habilidades para desarrollar sistemas de software centrales que den soporte al desarrollo de HMI.
Experiencia requerida
- Más de 5 años de experiencia en desarrollo profesional de software.
Habilidades requeridas
- Más de 5 años de experiencia con C++ como lenguaje de programación principal.
- Experiencia en desarrollo de software UI/UX y conocimiento de patrones de diseño de interfaces de usuario (MVC, MVP, MVVM).
- Experiencia en desarrollo de software de gráficos 3D con DirectX, OpenGL o Vulkan.
- Experiencia en el desarrollo de software complejo con equipos multidisciplinarios de diseñadores, investigadores y desarrolladores de software.
- Experiencia trabajando con metodologías ágiles basadas en sprints, con capacidad para gestionar y completar tareas.
- Capacidad para trabajar de forma autónoma, con iniciativa para aprender e incorporar tecnologías de software nuevas y existentes.
Habilidades deseables
- Experiencia en el desarrollo de motores de videojuegos propios o en el uso de motores conocidos, como Unreal Engine, Unity3D, Godot, entre otros.
- Experiencia en la configuración de soluciones de compilación para proyectos complejos mediante sistemas conocidos, como CMake o equivalentes.
- Experiencia en programación de redes y desarrollo de servicios utilizando los protocolos TCP, UDP y HTTP.
- Excelentes habilidades de depuración, utilizando las herramientas disponibles para diagnosticar problemas en aplicaciones relacionados con la memoria, la concurrencia de hilos y las redes.
- Experiencia en el desarrollo de bibliotecas internas reutilizables y bibliotecas de terceros.
- Experiencia en el desarrollo de código C++ multiplataforma (Windows, Linux y Android).
- Conocimiento de las características de C++ moderno (C++11/14/17).
- Experiencia en el uso de aplicaciones de modelado 3D para crear y exportar recursos gráficos para el flujo de trabajo de motores de videojuegos (3ds Max, Maya, Blender).
Responsabilidades del puesto
Desarrollo de software HMI (80 %)
- Desarrollar y mantener funcionalidades visuales para un motor HMI en evolución que dé soporte a múltiples proyectos.
- Mantener, optimizar y corregir errores del motor HMI que se ejecuta en múltiples plataformas.
- Trabajar estrechamente con diseñadores, investigadores y desarrolladores de software para implementar elementos visuales 2D y 3D que cumplan con los requisitos estéticos y funcionales establecidos.
- Iterar sobre múltiples implementaciones de diseño en función de un entorno de diseño dinámico.
- Colaborar con el equipo en el desarrollo de un flujo de trabajo integral para la integración de recursos de diseño, adquiriendo un conocimiento profundo del software pertinente.
- Desarrollar herramientas y otras aplicaciones basadas en interfaces de usuario para dar soporte al desarrollo de software HMI.
- Depurar y resolver errores y problemas en un entorno complejo, conectado en red y basado en datos.
- Escribir código robusto y fácil de mantener.
Integración de software HMI (10 %)
- Compilar, implementar y probar el software HMI en un vehículo prototipo.
- Configurar el hardware del vehículo prototipo y probar su integración con el software.
- Participar en actividades de desarrollo del vehículo prototipo en carretera.
Gestión de proyectos (10 %)
- Trabajar en conjunto con ingenieros automotrices, desarrolladores de software, investigadores, diseñadores y gerentes de producto durante todas las etapas del ciclo de producción.
- Colaborar con el equipo para planificar y organizar las tareas de desarrollo de software.
Flexibilidad laboral
- Disponibilidad para viajar, tanto dentro del país como al extranjero.
- Puesto de tiempo completo bajo la modalidad de contratista independiente.
Formación académica
- Licenciatura o ingeniería en Ciencias de la Computación, o una formación equivalente