MG
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
