The Company
Foundry has a heritage of more than 25 years, developing creative software for the Media and Entertainment industry. Its portfolio of award-winning products solves complex visualization challenges to turn incredible ideas into reality.
Working with creative leaders around the globe, Foundry products are used to create breathtaking visual effects and animation and have been integral in the making of every VFX Academy Award-winning film for the past decade.
Headquartered in Soho with operations worldwide, Foundry is owned by Roper Technologies, a leading US-listed diversified technology company with ~$60bn market cap.
Roper manages 28 portfolio companies under a long term buy and hold model (similar to PE ownership model but without plans to exit). Under Roper’s ownership, there is an ambitious organic growth agenda that will take the business from ~$70m ARR to ~$100m ARR over the next few years, with potential for M&A to further accelerate growth.
For more information visit www.foundry.com
For our privacy policy, visit
The Role
This role is an exciting opportunity for a developer with commercial experience. You'll be an overall influence on the team you are part of without explicit line management. You'll have developed good awareness of the SDLC, working as a second pair of eyes and ears to the engineer leading your team. This includes contributing to design/architectural discussions, in addition to using your domain experience in the relevant areas to interact with customers to help troubleshoot/solve their problems.
You'll work on bug fixes and new features as part of one of our Agile teams. This will combine significant contributions to the task breakdown and discussion both for your own tasks and those of your team, drawing on your experience and knowledge of technology and existing libraries and components. As part of this work, input to architectural design, documentation and education is expected.
The Team
Foundry has two internally facing teams that focus on developer productivity. One focusses on tooling using python scripting, web technology, or deployment issues. The second - and the role that is open here, focuses on tooling for our C++ software components, including build systems, libraries, toolchains, and test frameworks.
Responsible for a consistent, reliable, secure build stack across the entire Foundry portfolio, this team is responsible for tooling where lower level knowledge is needed. The quicker product teams can turn around a bug fix, or spin up build/test infrastructure for a branch to get feedback on an idea, the more successful this team will have been. Similarly, the speed with which a new developer/QA - whether an internal transfer or new hire - can become productive the more successful this team will have been.
This team is also responsible for setting product teams up to be able to service security patching, VFX platform, and other component upgrades as easily as possible. Whilst generally not working on products directly, where applicable they will join with product teams to achieve a specific goal. It is likely that the members of this team will have experience with Foundry products to get context for proposed changes and improvements to this centralised technology.
Whilst this team is primarily responsible for internal code - there’s no reason why they can’t overlap into code delivery if that is the priority.
As part of our hybrid working policy, you will be working in our London office twice a week.
Requirements
* Degree in Engineering/Computer Science (or equivalent experience)
* 2+ years commercial experience underpinned by best practises (e.g. BDD, TDD, Code Review)
* Good track record of problem-solving.
* Successful experience of working in a development team.
Skills
* Cross-platform development across at least two of macOS, Linux and Windows.
* Excellent knowledge of C++, knowledge of Python beneficial
* Good interpersonal skills, coupled with good written and verbal communication skills.
* Experience with cross-platform C++ build tooling, (e.g. CMake, Conan).
* Experience of automated testing of C++ code.
Responsibilities
* Assist in the design, implementation and documentation of complex software features, through authoring, reviewing, and bug fixing code.
* Investigates feature level issues and impediments to sprint work and proposes solutions that move work forward.
* Understand, practice and refine our development process within the team
* Take responsibility for complex project areas.
* Improve the quality and stability of the product with maintenance bug fixes, and using domain appropriate design practices that emphasise reusability, testability, extensibility and maintainability.
* Contribute to project planning by providing effort estimates for the team’s future work
* Assist our Customer Support team with investigations and suggestions related to issues reported by users
Benefits
* 25 days holiday + bank holidays
* Pension scheme & life assurance
* Health cash plan & medical insurance
* Season ticket loan
* Company’s social events
* Gym Discounts
* Personal Annual Development Time
* Passion Days
* Anniversary Day off