C++ Developer
Remote · Cyprus
Source: Himalayas. This job was published on Himalayas; you apply there.
This job was removed from Muse Group's hiring system and is no longer accepting applications. See open jobs like this one.
Listed on Himalayas. You apply through their page. We never charge applicants.
Pay not published. Too few similar jobs show pay for a fair estimate.
Prepare for this job
Free on every jobLikely interview questions
Prepare for this interviewSkills mentioned
About the role
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