Codeplay is internationally recognised as being at the forefront of developing modern software standards and tools.
We are looking for enthusiastic graduates, who have a huge interest and passion about software engineering and can demonstrate that, for example through project work (hobby or university) or contributions to the open-source community.
This is an opportunity to learn about new software standards and technologies, and to contribute to the implementation of compilers, debuggers, runtimes, libraries, demos and other tools targeting GPUs, Mobile/Embedded CPUs, and DSPs. Many of these systems or technologies are not yet publicly announced and therefore require confidentiality, so this is an opportunity work with brand-new hardware and software before anyone else does!
Candidates should be responsible programmers with a good working knowledge of modern C++. The ideal candidate is a self-motivated individual who can work through a problem from start to finish, documenting each step and writing tests to ensure correctness. As a graduate engineer, they will be comfortable with asking colleagues for help, or scouring documentation for relevant information required to complete assigned tasks.
The position is permanent and can be based at our head office in central Edinburgh, or remote.
Salary range: Competitive & Negotiable.
Who we are
Working at Codeplay offers unique opportunities and challenges to learn new technologies and to get involved in shaping the software industry. Codeplay’s projects range from: creating tools and tool sets (optimizing compilers, debuggers, profilers, programming models & APIs, test systems/suites, etc.) for brand-new unannounced next-generation hardware; developing and optimizing current machine learning (TensorFlow™) and computer vision applications; research and development into lowering the power consumption of mobile devices; and contributing to new programming models and software standards (e.g. C++, SYCL™, OpenCL™, Vulkan® and SPIR™-V).
Codeplay is an active contributor in the community for the Clang, LLVM and LLDB open-source compiler and debugger projects. Our engineers are also leading the effort to bring support for machine learning with TensorFlow to OpenCL-enabled devices, by adding support for SYCL (the C++ high-level programming model built on OpenCL) to the open-source codebase. We have also contributed a CUDA backend to Intel’s DPC++ Compiler and libraries, bringing the oneAPI initiative to the NVIDIA platform. We are building an ecosystem around the SYCL standard, including public projects for computer vision, linear algebra, and C++ parallel programming APIs - see https://github.com/codeplaysoftware. If you are excited about contributing to programming tools that will be used by developers worldwide, please get in touch!
What We Offer
- Work on exciting brand-new technologies and standards with globally recognized customers
- Help to shape the future of the industry by contributing to open-source software, standardization efforts and Codeplay’s products
- A friendly and relaxed working environment where colleagues respect and support each other. You will be working in a diverse team of creative and talented engineers from around the world
- 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
- Work with modern code bases, with the freedom to choose platforms and tools to get the job done
- Great career prospects within a growing company
- Positions are available at various levels, from the entry-level Software Engineer grade to Senior Principal Software Engineer, depending on your skills and experience.
- We develop our engineers to progress quickly in their roles, and to take ownership of code, become technical experts, and/or lead teams. We provide training in skills such as project and people management, networking and delivering effective presentations
- Opportunities to get involved in Codeplay’s very active research, enabling you to make an impact on the company’s technology and future direction, and establish your industrial research track record by contributing to papers and publications
- Frequent opportunities to attend major worldwide industry conferences and developer meetings, represent the company, and become a recognized exper
- Flexible working hours, stock options and pension scheme
- Private healthcare insurance.
Frequent company social events (social nights, pot luck lunches, gaming, karting, outdoor adventures, and more)
Candidate Skills - Must Have
- Good working knowledge of modern C++.
- Keen to get things done, and curiosity for learning new technologies on the job.
- Working knowledge of debuggers, and ability to debug code effectively.
- Ability to work on problems independently and/or as part of a team.
- Excellent communication skills, both verbal and written.
- We value experience and skills over a degree, so if you can demonstrate them though portfolio work, projects or previous employment, then a degree is not essential.
Candidate Skills - Any of the following would be beneficial
- Modern C
- Memory management e.g. smart pointers, reference counting, allocators, RAII
- Code security/exploit prevention
- Performance profiling and optimization
- Assembly languages
- Object file formats
- Build systems (e.g. CMake) and compiler tool-chains
- Continuous Integration systems (e.g. Jenkins) and best practices
- OpenCL/CUDA/OpenMP/OpenACC/other GPGPU language environment
- OpenVX/OpenCV/other computer vision environment
- HLSL/GLSL/other shading language environments
- Vulkan or DirectX
- The open-source Clang/LLVM compiler projects and the compilation pipeline
- LLDB, LLVM’s open-source debugger project
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. We are committed to providing flexible working options. If you have a disability or additional need that requires accommodation, just let us know.
You should be studying towards a degree in a relevant subject; however, if you can prove skills and knowledge through portfolio work, projects or previous employment, then a degree is not essential.
In order to progress your application we require all candidates to provide the following: CV, Cover Letter & C++ Code Samples (where relevant). Our system will only accept links to personal projects/GitHub accounts or PDF documents.