Map Engine Engineer
Background
A map engine is a library that enables 3D map representation, for example, Cesium, Mapbox, MapLibre, etc.
Eukarya aims to develop a new "headless" 3D map engine for OSS. It is unique in that the core is implemented in Rust and WebAssembly and designed to be able to replace the rendering engine in order to easily support multiple platforms while aiming for high-speed operation.
At first, Three.js will be used as the rendering engine to develop the library for the Web. After that, they plan to expand to mobile and desktop applications.
Currently in the PoC stage, the company is looking for engineers to work on the development of the map engine, with plans to begin full-scale development in 2023.
They are mainly looking for engineers who are strong in the 3D graphics field, but if you are willing to learn, it is possible depending on your skills.
Job Description
- PoC and development of map engine
- Development of libraries (SDKs) for various languages for the map engine (to be developed for web first)
Requirements
- Experience with Rust: No practical experience with Rust itself is required, but you must have learned Rust and be able to implement it to some extent.
- Work experience in a language other than Rust: If you have outstanding technical skills, no work experience may be required, but it is very good to have work experience for team development. Work experience may include internships.
- Knowledge and experience in basic computer science (data structures, algorithms, concurrency, etc.) and performance optimization
- Interest in and willingness to learn GIS, maps, 3DCG, and low-layer fields
Welcome Skills
- Knowledge and experience in developing web applications and libraries using WebAssembly
- Knowledge and experience with 3D graphics APIs such as OpenGL, WebGL, WebGPU, Vulkan, etc.
- Knowledge of basic theory (rendering pipeline, shaders, lighting, materials, post-processing) and mathematics (linear transformations, etc.) related to 3D graphics
- Knowledge and experience with 3D rendering libraries such as Three.js
- Knowledge and experience with web front-end development (JavaScript, TypeScript)
- Knowledge and experience in mobile application development (iOS and Android)
- Basic knowledge of GIS (geodesy, geoid model, ellipsoid, tile, raster, vector, various data formats, etc.)
- Experience in developing and publishing OSS libraries, tools, etc.
- Experience in application/game development using game engines
- Experience in game engine and rendering engine development