Codeplay is 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 is based at our head office in central Edinburgh. The successful candidate must, by the start of their employment, have permission to work in the UK. Salary range: Competitive & Negotiable.
Codeplay has a relaxed working environment and you will be working alongside other creative and talented developers. Codeplay is regarded as being at the forefront of compiler and development technology and has active participation in several research programs within the European union, the Khronos Group and the HSA Foundation.
What We Offer
Codeplay is internationally recognized as being at the forefront of software development technology, and working with us offers unique opportunities and challenges to learn new technologies and to be 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, ...) 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 the SYCL for OpenCL open standard to the open-source codebase. We are building an ecosystem around SYCL (the C++ high-level , 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!
Work on exciting brand-new technologies and standards with well-recognized customers!
A friendly and relaxed working environment where colleagues support each other
Knowledge sharing: our staff frequently give company-wide presentations on new software and technology trends, personal projects and other relevant subjects
Great career prospects within a growing company:
Positions are available at various levels, from entry-level Software Engineer to Senior Principal Software Engineer, depending on your skills and experience
We develop our employees and provide training in skills such as project and people management, networking and delivering effective presentations
Frequent opportunities to attend conferences and developer meetings, represent the company, and become a recognized expert
We encourage engineers to progress quickly in their roles, for example to become team leads (full training provided)
Codeplay has been recognized as an excellent employer and has now attained a Silver Level Accreditation with Investors in People
Opportunities to get involved with industrial standardization initiatives such as The Khronos Group and HSA Foundation , and various European research programmes
Working on early-stage technology offers opportunities to contribute/shape new hardware/software and standards.
Flexible working hours, stock options and pension scheme
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.
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
Memory management e.g. smart pointers, reference counting, allocators, RAII
Code security/exploit prevention
Performance profiling and optimization
Object file formats
Build systems (e.g. CMake) and compiler tool-chains
Continuous Integration systems (e.g. Jenkins) and best practices
OpenCL/CUDA/C++AMP/other GPGPU language environment
OpenVX/OpenCV/other computer vision environment
HLSL/GLSL/other shading language environments
Games console/low-level graphics technology
The open-source Clang/LLVM compiler projects and the compilation pipeline
LLDB, LLVM's open-source debugger project
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. 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 your own software projects, we would love to see them, so please include links to them in your application.