• GUI Tools Engineer

    Codeplay is looking for an experienced GUI Tools Engineer to assist with extending the profiling capabilities of the AMD CodeXL Profiler to encompass heterogeneous platforms. The role will involve working in our profiler research team, as part of the LPGPU2 EU Horizon 2020 research project. LPGPU2 is a research project focusing on three main areas: computer vision, standardization of performance, and power profiling. This is an exciting opportunity to work with open standard APIs such as OpenGL®, OpenCL™, and SYCL™, to develop new GUI interfaces to extract and display various types of profiling information such as; timing information, resource usage, function tracing, and code coverage.

    CodeXL is a mature cross-platform C++ application and we are looking for a tools engineer to hit the ground running, bringing their coding prowess to scale the architecture and create intuitive GUIs, while evangelising the team’s good practices and code discipline to manage the extensive code base. The successful candidate has the opportunity to grow and help contribute to tools across several areas and projects such as; open-source, commercial products, customer projects, safety-critical, and research collaborations.

    The position is permanent and will be based at our offices in central Edinburgh. Salary range: Competitive & Negotiable. 

    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 SYCL (the C++ high-level programming model built on OpenCL) to the open-source codebase. We are building an ecosystem around 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 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 develop our engineers to progress quickly in their roles, to become technical experts or to lead teams.
    • 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 the 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 schemes.

    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.

    The Environment

    Codeplay has a relaxed working environment, where you will be working in a diverse team of creative and talented developers from around the world.

    The ideal candidate is a self-motivated individual who can work through a problem from start to finish, to deadlines as required to support software projects, and sometimes under pressure. You will be working on technology that is usually not publicly announced and may be several years away from public release, and you must understand the secretive nature of the work that we undertake. You should be able to work both independently and collaboratively within teams of various differing skill sets and expertise. Codeplay works with cutting-edge technology and takes on a diverse range of projects, so you should be able to adapt to new technologies, responsibilities and projects.

    Candidate Skills - Must Have


    • C++ 11 and STL
    • Experience of full life-cycle of large application GUI development
    • Experience of developing multi-threaded software
    • Working knowledge of design patterns and GUI application architecture
    • Excellent communication skills, both verbal and written
    • Efficient handling of large data sets
    • Linux or Windows development platforms

    Candidate Skills - Any of the following would be beneficial


    • C++ 14
    • Qt 5.x
    • OpenGL / OpenCL
    • GPGPU programming
    • Experience measuring performance and analyzing traces
    • Understanding or interest in modern heterogeneous architectures
    • Working understanding of CMake
    • Source control management systems, such as Git
    • Hook / intercept library API function calls

    Qualifications

    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.

    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.


  • Status

    Open for Applications

    Position Type

    Permanent Positions

    Share