Bachelor's degree in computer science, engineering, or a related field
Solid foundation in computer science and object-oriented programming principles, both in theory and in practice.
At least intermediate level of proficiency in C++, including familiarity with common libraries and frameworks.
Experience using an integrated environment to write, build, and debug software applications.
Ability to communicate clearly and effectively in written and verbal English.
To be successful in this role you must be willing to dive into an existing long-running codebase, feel comfortable using available resources independently, and not hesitate to ask more experienced colleagues for help when needed.
Familiarity with Git tools and workflows.
To be successful in this position, music technology domain knowledge is required.
Advanced level of proficiency in C++. Examples: templates, modern C++, parallel programming.
Ability to design code that is clean, maintainable, reliable, and efficient.
Experience applying practices to ensure quality such as unit testing and integration testing.
Experience using tools such as code analyzers, sanitizers, and profilers.
Previous experience working as part of a multi-cultural, distributed team.
Job Responsibilities:
We are looking for talented C++ software developers with a desire to have an impact in the future of the music industry by contributing to the Avid Pro Tools product family and surrounding products and technologies.
In this role you will be responsible for creating, debugging, and maintaining C++ applications running on Mac and Windows. While your exact tasks will vary according to project requirements, typical tasks may include creating new features in our multi-threaded real-time application, writing UI code using our own application framework, and contributing to the overall quality of our products.
To join our team, you must have a solid understanding of software engineering and object-oriented design techniques, a unique ability to create, debug, and maintain bulletproof C++ code, an eye for detail, and very high standards with respect to software quality and reliability.
In this role you will be part of a high-performing Agile scrum team with members in European time zones.