Developer Relations Engineer
PLEASE NOTE - WITH THIS POSITION WE ARE LOOKING TO INTERVIEW/HIRE PEOPLE LATE 2019 EARLY 2020
Codeplay creates software tools that enable developers to build high performance artificial intelligence and machine learning applications for a range of industries that includes self-driving cars. We build these using the open standards SYCL™ and OpenCL™, and this enables developers to accelerate their applications on a wide range of processors from companies including AMD, Intel, Arm and Renesas. SYCL is a high-level heterogeneous programming model that is based upon OpenCL, allowing a wide range of useful features for developers including a single-source C++ API and kernel language, a hierarchical programming model, and high-level extractions making developing for heterogeneous systems simpler and more accessible.
ComputeCpp has been released with a public Community Edition and can be used to write and build SYCL applications. In addition, ComputeCpp provides acceleration for TensorFlow™, one of the most popular machine learning frameworks, by enabling processors that offer OpenCL support. Our tools are attracting plenty of attention from the developer community and our partnership with Renesas enables developers using our tools to build accelerated Advanced Driver Assistance Systems for the automotive industry.
We are looking for someone who can help us to support our developer community and create guides and resources for our software tools, as well as demos that show off their capabilities. This role will involve working with ComputeCpp, TensorFlow, OpenCV and other frameworks to show real-world use cases for our products. The code will be published as open source for our developer community to use and modify. There will be opportunities to attend conferences and demonstrate the technology, and build relationships with developers in cutting-edge technology companies worldwide. This position is part of the Developer Relations team, which is responsible for helping external developers to successfully use our products to develop high-performance applications for a range of hardware.
- Support external developers using ComputeCpp and ComputeAorta
- Write technical guides and resources
- Produce demos and materials for developer conferences that Codeplay is attending
- Gather feedback from our developer community and communicate it to the product team
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 where applicable. They will be comfortable with asking colleagues for help, or scouring documentation for relevant information required to complete tasks. They will also be expected to produce high quality, readable and well-commented code that will be published as open source and used by our developer community.
The position is permanent and is based at our head office in central Edinburgh.
Salary range: Competitive & Negotiable.
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 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 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!
- 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 expert.
- Codeplay has been recognized as an excellent employer and has attained a Silver Level Accreditation with Investors In People.
- 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
The ideal candidate is a self-motivated individual who can work through problems 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 and differing 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++
- Technical documentation or blog writing
- Time management
- Technical customer engagement
- Working knowledge of source control and configuration management tools
Candidate Skills - Any of the following would be beneficial
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.
- OpenCL/CUDA/C++AMP/other GPGPU language environment
- OpenCV/TensorFlow/other machine learning frameworks
- Development of machine learning and/or artificial intelligence applications
- Experience working with open source projects
- Experience working with developer communities
- Build systems (e.g. CMake) and compiler tool-chains
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.
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.
Submit an Application
Please fill in the forms below to the best of your ability. Don't forget to add any relevant links to GitLab, BitBucket etc! Personal projects are a big win for your application.
- Support external developers using ComputeCpp and ComputeAorta
Open for Applications