Ingeniero de Software para Desarrollo de Escritorio

Ingeniero
Tiempo completo
Belgrade, Serbia

Sobre el puesto

Como Ingeniero de Software de Desarrollo de Escritorio, diseñarás, construirás y mantendrás aplicaciones de escritorio de alta calidad para plataformas Windows, macOS y/o Linux. Trabajarás estrechamente con product managers, diseñadores, desarrolladores backend y QA para ofrecer experiencias de escritorio rápidas, fiables y pulidas a nuestros usuarios. Asumirás la responsabilidad del ciclo de vida del desarrollo de escritorio, desde las decisiones de arquitectura y el desarrollo de características hasta las pruebas, empaquetado, distribución y soporte post-lanzamiento, asegurando al mismo tiempo la consistencia, el rendimiento y la calidad en todos los sistemas operativos soportados.

Gestión

Responsabilidades

  • Diseñar, desarrollar y mantener aplicaciones de escritorio en plataformas Windows, macOS y/o Linux
  • Crea código limpio, modular y bien estructurado que funcione de forma fiable en una variedad de configuraciones de hardware y versiones del sistema operativo
  • Colaborar con diseñadores de UI/UX para implementar interfaces de escritorio intuitivas, responsivas y visualmente consistentes
  • Integrar APIs de backend, servicios locales y bibliotecas de terceros en aplicaciones de escritorio
  • Optimizar el rendimiento de la aplicación, el tiempo de arranque, el uso de memoria y la eficiencia de recursos
  • Asegurarse de que las aplicaciones cumplan con las directrices y estándares específicos de cada plataforma para entornos Windows, macOS y Linux
  • Escribir y mantener pruebas de unidad, integración e interfaz para garantizar la estabilidad y calidad de la aplicación
  • Identificar, depurar y resolver defectos específicos de escritorio en sistemas operativos, configuraciones de hardware y entornos de sistema
  • Participar en revisiones de código, proporcionando y recibiendo retroalimentación técnica constructiva
  • Gestionar los procesos de compilación, empaquetado y distribución de escritorio, incluyendo instaladores, actualizaciones automáticas y versionado de versiones
  • Monitorizar aplicaciones de producción para detectar fallos, degradación del rendimiento y problemas reportados por los usuarios
  • Colaborar con QA para apoyar ciclos exhaustivos de pruebas de escritorio, incluyendo pruebas funcionales, de regresión y de compatibilidad
  • Contribuir a discusiones sobre arquitectura de escritorio y decisiones técnicas de diseño
  • Mantener la documentación de bases de código de escritorio, procesos de compilación y flujos de trabajo de liberación
  • Participa en ceremonias ágiles, incluyendo monólogos, planificación de sprints, retrospectivas y demostraciones
  • Mantente al día con las tendencias de desarrollo de escritorio, actualizaciones de plataformas y directrices cambiantes del sistema operativo

Requisitos

  • La fluidez en inglés escrito y hablado es obligatoria
  • Licenciatura en Informática, Ingeniería de Software o un campo relacionado, o experiencia práctica equivalente
  • 3+ años de experiencia profesional en desarrollo de aplicaciones de escritorio
  • Fuerte dominio de uno o más frameworks o lenguajes de desarrollo de escritorio, como NET Maui, Electron, Qt, .NET/WPF o similares
  • Sólido conocimiento de al menos un lenguaje de programación principal utilizado en el desarrollo de escritorio, como C++, C#, Java, Rust, Python o JavaScript/TypeScript
  • Experiencia en la creación y mantenimiento de aplicaciones de escritorio multiplataforma dirigidas a Windows, macOS y/o Linux
  • Familiaridad con patrones de diseño de interfaces de escritorio y directrices específicas de interfaz humana para Windows y macOS
  • Experiencia integrando APIs RESTful y gestionando datos locales y remotos dentro de aplicaciones de escritorio
  • Conocimiento del empaquetado de aplicaciones de escritorio, creación de instaladores y mecanismos de actualización automática
  • Comprensión de las mejores prácticas de seguridad de escritorio, incluyendo cifrado local de datos, almacenamiento seguro de credenciales y sandboxing
  • Experiencia con control de versiones usando Git y flujos de trabajo de desarrollo colaborativo
  • Sólidas habilidades de depuración y perfilado de rendimiento utilizando herramientas nativas de plataforma y de terceros

Habilidades preferidas

  • Experiencia tanto con enfoques nativos como multiplataforma de desarrollo de escritorio
  • Familiaridad con las canalizaciones CI/CD para compilaciones y lanzamientos de aplicaciones de escritorio
  • Exposición a los requisitos de firma de código, notarización y distribución para Windows y macOS
  • Experiencia en comunicación entre procesos, servicios en segundo plano o integraciones a nivel de sistema
  • Conocimiento de los estándares de accesibilidad e implementación en plataformas de escritorio
  • Familiaridad con herramientas de informes de fallos y telemetría, como Sentry, BugSnag o similares
  • Experiencia con frameworks de actualización automática como Squirrel, Sparkle o servicios de actualización personalizados
  • Comprensión de la arquitectura offline-first y soluciones de bases de datos locales, como SQLite, LevelDB o similares
  • Exposición a integraciones de hardware como periféricos, cámaras o dispositivos biométricos

Listo cuando tú quieras

Hay varias formas de conseguir la ayuda que necesitas.

¿Tienes preguntas?

Contacta con nuestro equipo de ventas para cualquier pregunta.

Ventas de contacto

¿Listo para usar Proctorio?

Puedes empezar ahora mismo registrándote.

Regístrate hoy mismo

¿Necesitas ayuda?

Estamos aquí para ti las 24 horas del día, los 365 días de la semana.

Iniciar chat en directo