Desktop Development Software Engineer
Over de functie
Als Desktop Development Software Engineer ontwerp, bouw en onderhoud je hoogwaardige desktopapplicaties voor Windows, macOS en/of Linux-platforms. Je werkt nauw samen met productmanagers, ontwerpers, backendontwikkelaars en QA om snelle, betrouwbare en gepolijste desktopervaringen aan onze gebruikers te leveren. Je neemt eigenaarschap over de desktopontwikkelingslevenscyclus, van architectuurbeslissingen en feature-ontwikkeling tot testen, verpakken, distributie en ondersteuning na release, terwijl je zorgt voor consistentie, prestaties en kwaliteit over alle ondersteunde besturingssystemen.
Beheer
Verantwoordelijkheden
- Ontwerp, ontwikkel en onderhoud desktopapplicaties op Windows-, macOS- en/of Linux-platforms
- Bouw schone, modulaire en goed gestructureerde code die betrouwbaar presteert over een reeks hardwareconfiguraties en besturingssysteemversies
- Werk samen met UI/UX-ontwerpers om intuïtieve, responsieve en visueel consistente desktopinterfaces te implementeren
- Integreer backend-API's, lokale diensten en bibliotheken van derden in desktopapplicaties
- Optimaliseer applicatieprestaties, opstarttijd, geheugengebruik en resource-efficiëntie
- Zorg ervoor dat applicaties voldoen aan platformspecifieke richtlijnen en standaarden voor Windows-, macOS- en Linux-omgevingen
- Schrijf en onderhoud unit-, integratie- en UI-tests om applicatiestabiliteit en kwaliteit te waarborgen
- Identificeer, debug en los desktop-specifieke defecten op in besturingssystemen, hardwareconfiguraties en systeemomgevingen
- Neem deel aan codereviews, waarbij je constructieve technische feedback geeft en ontvangt
- Beheer desktop-, verpakkings- en distributieprocessen, waaronder installaties, automatische updates en versiebeheer van releases
- Monitor productieapplicaties op crashes, prestatieverlies en door gebruikers gerapporteerde problemen
- Werk samen met QA om grondige desktoptestcycli te ondersteunen, waaronder functionele, regressie- en compatibiliteitstests
- Draag bij aan discussies over desktoparchitectuur en technische ontwerpbeslissingen
- Documentatie bijhouden voor desktopcodebases, buildprocessen en releaseworkflows
- Neem deel aan agile ceremonies, waaronder stand-ups, sprintplanning, retrospectieven en demonstraties
- Blijf op de hoogte van desktopontwikkelingstrends, platformupdates en veranderende OS-richtlijnen
Vereisten
- Vloeiend Engels in geschreven en gesproken taal is verplicht
- Bachelordiploma in Computerwetenschappen, Software Engineering of een gerelateerd vakgebied, of gelijkwaardige praktische ervaring
- 3+ jaar professionele ervaring in desktopapplicatieontwikkeling
- Sterke vaardigheid in een of meer desktopontwikkelframeworks of -talen, zoals NET Maui, Electron, Qt, .NET/WPF of iets dergelijks
- Goed begrip van ten minste één primaire programmeertaal die wordt gebruikt in desktopontwikkeling, zoals C++, C#, Java, Rust, Python of JavaScript/TypeScript
- Ervaring met het bouwen en onderhouden van cross-platform desktopapplicaties gericht op Windows, macOS en/of Linux
- Vertrouwdheid met ontwerppatronen van desktop-UI's en platformspecifieke richtlijnen voor de menselijke interface voor Windows en macOS
- Ervaring met het integreren van RESTful API's en het beheren van lokale en externe data binnen desktopapplicaties
- Kennis van het verpakken van desktopapplicaties, het aanmaken van installers en automatische updatemechanismen
- Begrip van best practices voor desktopbeveiliging, waaronder lokale gegevensencryptie, veilige opslag van inloggegevens en sandboxing
- Ervaring met versiebeheer met Git en collaboratieve ontwikkelworkflows
- Sterke vaardigheden in debugging en prestatieprofilering met behulp van platform-native en externe tools
Voorkeursvaardigheden
- Ervaring met zowel native als cross-platform desktopontwikkelingsbenaderingen
- Vertrouwdheid met CI/CD-pijplijnen voor desktopapplicaties en -releases
- Blootstelling aan code signing, notarisatie en distributie-eisen voor Windows en macOS
- Ervaring met interprocescommunicatie, achtergronddiensten of integraties op systeemniveau
- Kennis van toegankelijkheidsnormen en implementatie op desktopplatforms
- Bekendheid met crashrapportage- en telemetrietools, zoals Sentry, BugSnag of vergelijkbare
- Ervaring met automatische update-frameworks zoals Squirrel, Sparkle of aangepaste update-diensten
- Begrip van offline-first architectuur en lokale databaseoplossingen, zoals SQLite, LevelDB of vergelijkbare
- Blootstelling aan hardware-integraties zoals randapparatuur, camera's of biometrische apparaten
