Position: Middle C++ Developer
Company: Opinov8
Category: C++
Experience required: 3y
English level: fluent

Our client sits at the heart of the most inspiring live and virtual experiences in the world, leading the market in building a software and hardware solution that designs, sequences and controls the most spectacular productions across film and TV, broadcast, live and corporate events.

We are looking for a software engineer who considers themselves to be a generalist programmer, who is comfortable in many different areas of development. The successful applicant will enjoy working at the cutting edge of their industry, providing software for demanding end users. We are looking for a talented engineer with proven experience using C++, who is excited to improve the product and their own skill-set by applying good development practices. Development is conducted in small, highly focused teams of engineers, light on process and requiring a hands-on approach.

**BEING PART OF THE TEAM**

• Build up a thread-safe caching system that publishes views on data relevant to the assigned project areas;
• Coordinate with web developers to create an API to achieve the goals of that application;
• Ensure we’re handling API requests in a performant way off of the main thread;
• Make sure our spec and approach make sense and are achievable in a reasonable timeframe. Tell us if there’s a better solution;
• Work closely with a team of other developers to create high quality code;
• Conduct demos or peer reviews for deliverables to demonstrate work progress when a development milestone has been reached;
• Clearly document and communicate the workings of the system to the rest of the dev team so we can share knowledge about its workings.

**POWER YOU BRING**

• Experience writing C++ in a professional environment;
• Experience working in a dev team to create code, review code and fix bugs;
• Experience contributing to a software product in a commercial environment;
• Experience in real-time systems;
• Ability to work autonomously;
• Clear & concise communications skills;
• Methodical work ethic, with strong attention to detail;
• Experience estimating and breaking down problems into smaller work packages;
• Experience integrating with a new software development team;
• Background in high performance real-time systems;
• Speak English fluently with no communication issues.