C++ Developer
Description
We're hiring a C++ developer to work primarily on engraving within the MuseScore Studio team. This is hands-on, experienced independent contributor role with lots of autonomy. You'll take on ambiguous, complex problems and see them through from design to shipping and long-term maintenance.
MuseScore Studio is free, open-source software used by millions of musicians, students, and composers worldwide, so the code you write here has a lot of impact and is used by an active community of creators around the world.
Key responsibilities
- You'll work on the layout and rendering engine that turns musical data into beautifully typeset, readable scores. It's one of the most interesting and rewarding problems in the product: the difference between a score that looks professionally published and one that just barely conveys the notes. The team is responsible for:
- 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.
Requirements
- 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.
Desirable
- 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
Bonus Points
- Experience working on engraving for a music composition software or publisher
Originally posted on Himalayas
This role requires you to be in Cyprus. If that means relocating or flying in, it is worth checking fares before you commit to a start date.
Compare flights and hotels โGet remote developer jobs like this by email
10 hand-picked jobs, one email a day. No spam, unsubscribe anytime.
Similar for you
Get 10 hand-picked remote jobs like this one in your inbox every morning. One email a day, matched to what you browse. No spam, one-click unsubscribe.
No thanks โ continue to the application โ