Graphics (WebGL) Engineer

Job description

Our graphics team builds a custom WebGL Render Engine, the graphics editing capabilities that sit on top, and work with the rest of the engineering team to integrate this with our product's data model and UI.

This isn't about using open source WebGL libraries — it's custom built, from the ground up. 

Job requirements

Skill and Experience

  • 5+ years minimum experience in the following
    • Developing 2D graphical web applications based on Canvas, WebGL
      and WebAssembly technologies
    • Ability to render scene with thousands of objects in a 1080/2K screen @ 60FPS or 4K at 30FPS
    • Model and rendering of multi-layered polygon shapes including use of masks and booleans.
    • Implementation of high quality 2D Text Rendering according to font and layout specifications (font family, line metrics, text shaping using glyphs and ligatures, text positioning, ensuring high text layout performance)
    • Developing front end applications using Javascript UI libraries and Node.js frameworks
  • Use and knowledge of JS graphic libraries (PixiJS, Two.js, D3.js, Anime.js)
  • Experience in implementation of Easing functions
  • Mastery of 2D mathematical fundamentals (Transforms, Matrices, Translations, Scaling, Rotation)
  • Mastery of WebGL programmable pipeline, writing vertex and fragment shaders (GLSL)
  • Handling of the variances between WebGL 1.0 and 2.0 implementation in web browsers

Preferred Experience

  • 3+ years minimum experience in the following React related technologies including but not limited to
    • Developing or integrating a graphical canvas application with a React front end.
    • Installing, compiling and bundling with Webpack, Yarn and Node.js and NPM
    • Design and development of performant optimized UI components that can scale to hundreds of instances in a Single Page Application
    • TDD using Enzyme, Chai, Jest, Mocha
    • Visual and Video animation testing concepts and tools
    • In depth knowledge in the use of Chrome DevTools for debugging and performance optimization
    • Use of git workflow with source hosting services such as github and gitlab
  • Experience in developing multi-tab SPA and handling concurrency issues
  • Experience in Multi User Application development and offline support
  • Working knowledge and experience in integrating React, Webgl with webassembly
  • Working knowledge of leveraging web workers
  • In depth knowledge of UX principles and designer development workflow
  • Mac OSX / Linux / Windows 10 / WSL2 shell scripting and administration
  • Use of Docker Desktop for Mac OSX or Windows 10 or docker in native Linux

Salary

1.3-1.8M NTD - we believe in fair, Shared Ownership across our team.