Point your AI agent at freehire and let it find you a job.

Get the CLI →

Muse Group

NewBe an early applicant

C++ Developer

Posted Updated
Discussion

Summary

C++ developer on the MuseScore Studio team, focused on the engraving/layout and rendering engine that turns musical data into professionally typeset scores. Day to day: modern C++ work on the domain model, rendering, playback, editing, and file/API infrastructure in a large open-source desktop codebase.

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


Skills

Apply

See also

Software Engineering jobs by country — openings, pay and top skills →

Tailor your CV for this role?

We couldn't check your fit for this role — add a CV to your profile to see it next time.