Ingénieur logiciel en développement de bureau

Ingénieur
À temps plein
Belgrade, Serbia

À propos du poste

En tant qu’ingénieur logiciel de développement de bureau, vous concevez, construirez et maintiendrez des applications de bureau de haute qualité pour Windows, macOS et/ou Linux. Vous travaillerez en étroite collaboration avec les chefs de produit, les designers, les développeurs backend et le QA pour offrir des expériences de bureau rapides, fiables et abouties à nos utilisateurs. Vous prendrez en charge le cycle de vie du développement du bureau, des décisions d’architecture et du développement des fonctionnalités jusqu’aux tests, au packaging, à la distribution et au support post-lancement, tout en garantissant la cohérence, la performance et la qualité sur tous les systèmes d’exploitation pris en charge.

Gestion

Responsabilités

  • Concevoir, développer et maintenir des applications de bureau sur les plateformes Windows, macOS et/ou Linux
  • Construisez un code propre, modulaire et bien structuré qui fonctionne de manière fiable sur une gamme de configurations matérielles et de versions d’OS
  • Collaborez avec des concepteurs UI/UX pour mettre en place des interfaces de bureau intuitives, réactives et visuellement cohérentes
  • Intégrer les API backend, les services locaux et les bibliothèques tierces dans les applications de bureau
  • Optimiser la performance des applications, le temps de démarrage, l’utilisation de la mémoire et l’efficacité des ressources
  • Veillez à ce que les applications respectent les directives et normes spécifiques à chaque plateforme pour les environnements Windows, macOS et Linux
  • Écrire et maintenir des tests unitaires, d’intégration et d’interface utilisateur pour garantir la stabilité et la qualité des applications
  • Identifier, déboguer et résoudre les défauts spécifiques au bureau à travers les systèmes d’exploitation, les configurations matérielles et les environnements système
  • Participer à des revues de code, fournir et recevoir des retours techniques constructifs
  • Gérer les processus de montage, d’emballage et de distribution de bureau, y compris les installateurs, les mises à jour automatiques et la gestion des versions de publication
  • Surveillez les applications de production pour détecter les plantages, la dégradation des performances et les problèmes signalés par les utilisateurs
  • Collaborer avec l’assurance qualité pour soutenir des cycles de tests de bureau approfondis, incluant les tests fonctionnels, de régression et de compatibilité
  • Contribuer aux discussions sur l’architecture de bureau et aux décisions de conception technique
  • Maintenir la documentation des bases de code de bureau, des processus de compilation et des flux de travail de publication
  • Participez à des cérémonies agiles, incluant des stand-ups, la planification de sprints, des rétrospectives et des démonstrations
  • Restez à jour avec les tendances du développement de bureau, les mises à jour des plateformes et les directives évolutives des systèmes d’exploitation

Exigences

  • La maîtrise de l’anglais écrit et oral est obligatoire
  • Licence en informatique, génie logiciel, ou domaine connexe, ou expérience pratique équivalente
  • 3+ ans d’expérience professionnelle en développement d’applications de bureau
  • Forte maîtrise d’un ou plusieurs frameworks ou langages de développement de bureau, tels que NET Maui, Electron, Qt, .NET/WPF, ou similaires
  • Une solide compréhension d’au moins un langage de programmation principal utilisé dans le développement de bureau, tel que C++, C#, Java, Rust, Python ou JavaScript/TypeScript
  • Expérience acquise dans la création et la maintenance d’applications de bureau multiplateformes ciblant Windows, macOS et/ou Linux
  • Familiarité avec les modèles de conception de l’interface utilisateur de bureau et les directives spécifiques à chaque plateforme pour les interfaces humaines sous Windows et macOS
  • Expérience d’intégration d’API RESTful et de gestion des données locales et distantes au sein d’applications de bureau
  • Connaissance de l’emballage des applications de bureau, de la création d’installateurs et des mécanismes de mise à jour automatique
  • Compréhension des meilleures pratiques de sécurité sur les bureaux, y compris le chiffrement local des données, le stockage sécurisé des identifiants et le sandboxing
  • Expérience avec le contrôle de versions utilisant Git et les flux de travail collaboratifs de développement
  • Solides compétences en débogage et profilage des performances grâce à des outils natifs de plateforme et des outils tiers

Compétences préférées

  • Expérience avec les approches de développement de bureau natifs et multiplateformes
  • Familiarité avec les pipelines CI/CD pour les versions et versions d’applications de bureau
  • Exposition aux exigences de signature de code, de notarisation et de distribution pour Windows et macOS
  • Expérience en communication interprocessus, services en arrière-plan ou intégrations au niveau système
  • Connaissance des normes d’accessibilité et de leur mise en œuvre sur les plateformes de bureau
  • Familiarité avec les outils de signalement de plantages et de télémétrie, tels que Sentry, BugSnag ou similaires
  • Expérience avec des frameworks de mise à jour automatique tels que Squirrel, Sparkle ou des services de mise à jour personnalisés
  • Compréhension de l’architecture hors ligne et des solutions de bases de données locales, telles que SQLite, LevelDB ou similaires
  • Exposition à des intégrations matérielles telles que périphériques, caméras ou dispositifs biométriques

Prêt quand tu veux

Il y a plusieurs façons d’obtenir l’aide dont vous avez besoin.

Des questions ?

Contactez notre équipe commerciale pour toute question.

Ventes de contact

Prêt à utiliser Proctorio ?

Vous pouvez commencer dès maintenant en vous inscrivant.

Inscrivez-vous dès aujourd’hui

Besoin d’aide ?

Nous sommes là pour vous 24h/24, 7j/7, 365 heures sur 7.

Lancer le chat en direct