C++ Developer

Contract type
Ongoing
Work mode
Remote
Experience
3 years

Job description

A C++ developer role on the MuseScore Studio team, focused primarily on engraving (the layout and rendering engine that turns musical data into typeset scores). It is a hands-on, autonomous independent contributor position covering design through shipping and long-term maintenance.

At a glance

Work mode
Remote

What you'll do

  • Work on the layout and rendering engine that turns musical data into beautifully typeset, readable scores
  • Domain model - representation of elements of music theory as objects in code (including parts)
  • Engraving - arrangement and drawing of objects on the canvas
  • Playback - generating events for a synthesizer from objects
  • Editing - changing objects and their relationships, taking into account the rules of musical theory
  • Infrastructure - read, write to file, import, export, API, commands
  • Take on ambiguous, complex problems and see them through from design to shipping and long-term maintenance

What we're looking for

  • Significant professional experience as software developer, including modern C++ in a large, long-lived, performance-sensitive desktop codebase
  • Experience owning solutions end to end, from design through delivery and maintenance, not just implementing tickets
  • Committed to code quality, with good judgment for making solid architectural decisions
  • Experience with OOP and domain model design
  • Able to read and understand fairly complex sheet music, with a good understanding of music theory
  • Solid communication and collaboration, comfortable working async across a distributed, global team
  • AI coding-savvy, applying critical thinking to discern when it is the right tool for the job
  • Attention to detail: in engraving, small inconsistencies are immediately visible to the musicians who rely on the output
  • An eye for visual design: you know what a beautiful score looks like and care about making that happen

Nice to have

  • Hands-on experience with MuseScore Studio or a competing notation/composition tool, as a user, arranger, or composer
  • Experience with MIDI and synthesizers
  • Experience with asynchronous and multi-threaded code
  • Experience working with fonts, with freetype
  • Experience in rendering and OpenGL
  • Experience working on engraving for a music composition software or publisher

Your team

MuseScore Studio team

Team responsible for the domain model, engraving, playback, editing and infrastructure of MuseScore Studio.

Apply

About Muse Group

Key facts

  • MuseScore Studio is free, open-source software used by millions of musicians, students, and composers worldwide