Graduate Software Engineer
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 it, 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 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 or Poland provided the candidate has the existing Right To Work in the EU.
Starting salary: 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
Codeplay is internationally recognized as being at the forefront of software development technology. 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 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)
- 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
The ideal candidate is a self-motivated individual who can work through a problem from start to finish, meet deadlines as required to support software projects, and has the ability to work under pressure. You will be working on technology that is seldom announced to the public and could be several years away from public release, so confidentiality is critical. You should be able to work both independently and collaboratively within teams of varying skill sets and expertise. You should be welcoming towards, and able to adapt to, the introduction of new technologies, responsibilities and projects, as Codeplay works with cutting-edge technology and takes on a diverse range of projects.
- 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.
Knowledge and/or experience of any of the following would be useful for the role, but are not essential. You must be able to learn new skills, but will be given support from Codeplay’s team to get you up to speed.
- 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. 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 prejudice your application. Note our system will only accept links to personal projects/GitHub accounts or PDF documents.
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.
Unfortunately this position is currently closed. You can check by at a later date or you can click here to view our other available positions.