Do you want to work at the cutting edge of browser technologies? Are you interested in working on Development Tools?
Join our engineering team, where you will be working on the next generation of compilers and virtual machines that target HTML5/WebAssembly, contributing to our vision of bringing any application to the Web. We are looking for an enthusiastic developer-to-be, interested in joining a very dynamic specialist software company developing WebAssembly solutions.
This is a full-time paid internship position based in Amsterdam (near Amstel station), Netherlands, with a duration of 6 months, starting in April/May 2025. Interns often go on to join the company for longer periods of time.
What we offer
- Flexibility and part-remote work is guaranteed to all employees
- Join a team of incredibly talented minds, in a position with plenty of opportunities for personal and professional growth
- Get to work on challenging, complex and stimulating projects
- You will work with our CTO and other developers, and get 1-1 tutoring and guidance from the rest of the team. We have very minimal overhead, a flat structure, and we prefer to get to work rather than spend hours in meetings
- We offer high flexibility, family-friendly arrangements, and actively promote a good work-life balance
What you will be doing
Each internship position will be focusing on one core development project, to be driven by the intern, under the 1-1 supervision of a senior developer
Project 1: Implement CheerpJ testing
CheerpJ (https://cheerpj.com) is Java Virtual Machine that runs fully in the browser. It can run large scale Java applications and applets with no modifications, including code that uses multi-threading, reflection and other advanced Java features. So far CheerpJ testing has been mostly manually done. Implementing proper testing will allow us to be more robust to failure and more credible in the eyes of our users.
- Set up official JDK test suite and fix failing tests
- Explore the world of Java testing and make sure we're up to par with other official OpenJDK builds
- Update CI to include testing
Project 2: Build an Isolated Web App version of WebVM
WebVM (https://webvm.io) is a full Linux environment running in the browser with a terminal mode and a full desktop environment. It's based on CheerpX (https://cheerpx.io), a Virtual Machine that enables client-side execution of x86 binaries on browsers in WebAssembly. The more secure context of IWAs gives access to high-trust APIs, which will allow us to bring WebVM to the next level.
- Familiarize yourself with IWAs
- Build an IWA version of WebVM
- Add new functionality to WebVM that's unlocked by being an IWA
Requirements
- Being enrolled in a BSc/MSc or alternative education program in Computer Science or equivalent, ideally in the last year. Working experience in alternative will also be considered.
- Some practical C/C++ development experience (including University projects) is required
- Understanding of object-oriented design principles
- Residence and right to work in the Netherlands
About Leaning Technologies
Leaning Technologies (https://www.leaningtech.com) makes WebAssembly tools to run any software on any browser.
We make solutions that enable C/C++, Java, Flash, and native Linux applications to be compiled, emulated and virtualised into HTML5/WebAssembly. Our tools are used to develop high-performance web apps in ‘traditional’ programming languages, to port existing code to the Web, or to preserve legacy applications by converting/emulating them to HTML5. We have a global client base including multiple Fortune-100 companies and public sector organisations, in sectors including financial services, CAD software, HR and operations, logistics, defence and aerospace, retail, science and education, and videogames.
Our incredibly talented, tight-knit team works from different locations with a hybrid remote/office approach. Our main offices are Leeds, United Kingdom and Amsterdam, The Netherlands. We value a great, informal work environment, high flexibility, and having genuine fun and excitement every day at work.
Want to see what it is all about? Join our Discord: https://discord.leaningtech.com/ and have a chat with our developers!