Embecosm

Embecosm is one of the world's leading organisations for research into compiler technology. Embecosm

Our Scholarships

Placement Location

Southampton (Hampshire)

Type of Placements Offered

• 12-month placements • Summer and 6-month MEng placements also offered (to students doing a 12-month placement before or after)

Restrictions/Notes

(1) Requires 12-month placement. Additional summer or 6-month MEng placements in other years also offered; (2) Must either be studying software / computing or otherwise be able to show excellent programming skills; (3) Must hold a current passport; (4) No first year students

2024/25 Scholarships

One new scholarship

Who we are and what we do

Embecosm is a global service provider with offices in the United Kingdom, Germany and representatives in USA and Asia. We deliver major projects involving open source compiler tool chains, embedded operating systems and silicon chip modelling, spanning the smallest deeply embedded processors to the largest high-performance computing systems, including those using RISC-V and ARM processors. We are increasingly using artificial intelligence, machine and deep learning as part of our offerings.

Among other tools, we support GCC, LLVM, Verilator, SystemC, Embedded Linux, FreeBSD and FreeRTOS. Our services include porting tools to new targets, implementing new board support packages (BSPs) for operating systems and architectures and maintaining and supporting existing tools and BSPs. Embecosm is one of the worlds leading organisations for research into compiler and operating system technology.


What you could be doing during your work placement

During your time at Embecosm, you will work on developing open source compilers or operating systems for customers, usually one or two of the following: GCC, LLVM, Verilator, Linux, FreeBSD or FreeRTOS. You should expect to spend up to 25% of your time with customers, very often outside the UK (one scholar spent time in California, Austria and Belgium during their placement). The work will be as part of one of Embecosm’s engineering teams, so you will receive close mentoring. You will also be expected to contribute to public projects during your time at Embecosm.


Meet one of our Scholars

Name: Lewis

Sponsor: Embecosm

University: University of Bath

Degree Course: MEng Computer Systems Engineering

What appeals to you about Electronics?

Electronics is fundamentally a hugely varied industry, but as soon as you look deeper, everything is very interconnected. This means that if you’re interested in digital, analog, hardware or software, there’s almost always something that you can learn from the study of Electronics. I have always been very interested in pure software, but it is the study of Electronics that provides the context to be able to implement and understand much more exciting applications of software.

Why did you want a scholarship with Embecosm?

Embecosm provides compilers and toolchains for hardware companies, which aligned perfectly with my interest in the boundary between hardware and software. In terms of the experience I could gain from my placement, I was really excited to learn more about how a large and complex piece of software such as a compiler is designed and how it all fits together.

What type of work have you been involved with during your placement?

I have been implementing, testing and fixing various aspects of C and C++ compilers for embedded targets, mainly focusing on the backend. The backend transforms a simplified intermediate language into optimal machine code for the processor, which could mean minimising the amount of instruction memory needed, the execution time of the program or even the energy usage. I have also attended two international conferences on the topic of compilers (GNU Tools Cauldron) and open source hardware design (OrConf).

What are your interests outside of work?

In my spare time I do a lot of cycling, whether it is training, racing or just enjoying the ride.

Meet one of our Engineers

Name: Paolo

Job Title: Software Toolchain Engineer

Why I chose my degree programme

I followed classical studies during high school (Latin, Ancient Greek, Philosophy) and decided I needed a change of direction after that. I needed to dive into something more dynamic. Software engineering was appealing for it’s dynamism, depth and variety and it’s growing importance in the world, and hardware engineering looked like an excellent way to gain more understanding of the underlying systems that would benefit my understanding of software. Besides, the first Iron Man movie was out.

I undertook a Bachelor’s degree in Computer and Electronics Engineering and studied the basics of programming and computer systems, but also about mathematical analysis, electronics, transmission lines and circuits.

I chose eventually to do my Master’s degree in software engineering despite my fascination with photonics, because I was captured by the beauty of pure logic and ingenious behind a few lines of well designed software. Also the possibility to apply software engineering skills to an extremely wide range of applications had it’s appeal.

Why I chose Embecosm

As mentioned, I did classical studies in my high school, so probably my passion for languages, grammar rules and semantics is still beating deep down. Compilers represent a unique kind of software that implements the grammar of a language and the analysis of its syntax and semantics. It is also well connected with the hardware world, and a both ancient and dynamic piece of software that harvests multiple disciplines to achieve the best possible code optimizations for different hardware targets and applications.

I had heard about Embecosm as an authority in the field of compiler programming and decided that it would be an excellent opportunity to gain competence in a niche but very well regarded field in software and hardware.

My experience at Embecosm

As part of my work at Embecosm, I develop backends for the LLVM compiler, QEMU emulator optimizations, instruction set emulations and, as required, I design fixes and optimizations across the whole tool chain. My time at Embecosm is also teaching me how to be a manager, both through direct experience and by interacting with different customers with different products and needs.

One of the things I like at Embecosm is the freedom (and the need) to explore new ideas to bring better optimizations and analysis strategies to life. This is achieved by encouraging the employees to dedicate some monthly time to field-related personal project ideas and by being involved with the open source community.

Embecosm has also helped me getting in touch with authorities of the field and being known in the environment.

What I enjoy outside work

I have an appetite for arts and I spend time on several hobbies, like playing the violin, salsa and swing dancing, skiing, cooking and just recently I’m doing some tentative steps into the acting world.

From time to time I still enjoy a gaming session with some old friends from university, or a chilled pint-in-hand Friday evening at my favourite pub by the pier.

I often have an eye also on the latest restaurants coming up in town.