Language runtimes are key components to enable heterogeneous programming models such as OpenCL or SYCL to efficiently target various modern heterogeneous hardware platforms. C++ engineers within Codeplay contribute to and implement the specifications for such programming models, and provide a driver development kit to let third-parties target those programming models to a wide range of hardware.
C++ engineers at Codeplay have the opportunity to work on implementing a range of programming models from SYCL for heterogeneous C++ to the widely portable OpenCL. Our product's design and documentation lets customer teams use our driver development kit to provide mature and efficient implementations for a wide-range of parallel hardware . Codeplay engineers are also strong contributors to the standards they implement, particularly in the area of heterogeneous programming models, and C++ engineers get the opportunity to propose and work on extensions and changes to these standards. Engineering teams in Codeplay are strongly collaborative and you'll spend some of your time working with other engineers on the design of complex features and participating in design and code-reviews. This provides opportunities to both learn from and share your own experience with the team. Our products are all modern C++ code bases with a strong emphasis on quality, maintainability and testability. As a C++ engineer you will be expected to contribute to these code bases and to help with the continued effort to raise the bar on their quality and capabilities. As a runtime engineer you will have a strong influence on the direction and design of both Codeplay's products and open standards for heterogeneous computing.
The position is permanent and may be based at our head office in central Edinburgh. The successful candidate must be able to demonstrate the right to work in the UK, or be eligible to apply for the right to work, should relocation be an agreed option.
We are committed to providing flexible working options such as part-time/compressed hours/timeshifting/remote/hybrid. There is also the potential to work fully remotely from France, Italy, Slovenia, Ireland, Germany, Spain, Poland provided the candidate has the existing Right To Work in the EU.
Positions are available at various levels, from entry-level to senior positions, depending on your skills and experience.
Starting salary: Competitive & Negotiable
What We Offer
Codeplay Software is a world pioneer in enabling acceleration technologies used in AI, HPC and automotive. Codeplay was established in 2002 in Edinburgh, Scotland and developed some of the first tools enabling complex software to be accelerated using graphics processors. Today, most AI software is developed using graphics processors designed for video games, and more recently specialised AI and computer vision accelerators. Codeplay continues to work with global technology leaders to make the latest complex AI systems programmable using open-standards based programming languages and allows application developers to quickly bring software to the market. Codeplay is also deeply involved with the definition of open standards, especially OpenCL™, SPIR™, SYCL™, and Vulkan™ through The Khronos Group, and MISRA C++ for automotive.
- A friendly and relaxed working environment where colleagues respect and support each other.
- Learn from experienced colleagues: our staff frequently give company-wide knowledge-sharing presentations on new software and technology trends, personal projects and other relevant subjects.
- Great career prospects within a growing company
- We develop our staff to progress quickly in their roles, and to take ownership of business functions, become experts, and/or lead teams. We provide training in skills such as project and people management, networking and delivering effective presentations.
- Newstart mentoring scheme
- Opportunities to attend major worldwide industry conferences and events representing the company
- Flexible working hours
- Pension scheme offering 7% employer contributions
- Full pay whilst on Maternity/Partner or Shared Parental Leave
- Free annual membership for this service: Childcare.co.uk.
- Private healthcare insurance
- Free confidential counselling service
- Frequent company social events (social nights, pot luck lunches, gaming, karting, outdoor adventures, and more) (Post-COVID!)
- For applicants residing in the UK we can also offer in addition to the above benefits:
- Childcare Voucher Scheme (for existing members only)
- Bike2Work Scheme
- Season Ticket loans
- Good working knowledge of modern C++
- Develop correct, fast and scalable multithreaded and parallel programs
- Ability to develop robust, maintainable, efficient and testable code for secure and reliable systems
- Experience creating test suites for new or changing APIs
- Working knowledge of debuggers, and ability to debug code effectively
- Minimise memory footprints, data movements, allocations and de-allocations
- Craft cross-platform (Various Linux flavours, Windows) solutions
- Profile and optimise performance and memory system usage
- Learn new technologies and development approaches on the job
- Excellent communication skills, both verbal and written
Experience or understanding of several of the following would be highly desirable:
- Experience with GPU programming models (such as OpenCL, SYCL, CUDA, etc)
- Experience working on a parallel or heterogeneous language runtimes.
- Experience working with programming language or language runtime specifications
- Experience working on graphics APIs (such as Vulkan or DirectX12) or shading languages (such as HLSL or GLSL)
- Knowledge of SPIR-V intermediate language.
- Understanding of multi-core and NUMA architectures
- Knowledge of the Clang/LLVM projects
- Experience with low-level language implementation concepts such as object file formats or assembly language
- Experience with continuous Integration systems and best practices
- Experience with OS-level and/or driver development
Any application which results in a job offer is conditional upon the candidate already having or successfully applying for the right to work in the UK. Codeplay is proud to be an Equal Opportunities employer. We celebrate and value diversity. We are committed to creating an inclusive environment for all employees, regardless of race, colour, gender, religion, national origin, ancestry, citizenship, disability, age, sexual orientation or any other characteristic protected by law. All employment is decided on the basis of qualifications, merit and business need and we strongly encourage applicants from all backgrounds and walks of life. If you have a disability or additional need that requires accommodation, just let us know.
The Cover Note/Letter is just as important as your CV/Resume, so please include one, stating why you believe you are a good fit for the position. If you have examples of relevant work or projects, we would love to see them, so please include links to them in your application.
If you have C++ Code Samples (where relevant) please put the link to these on your application; however, should you not have any code samples available then this will not prejiduce your application. Note our system will only accept links to personal projects/GitHub accounts or PDF documents.