Senior Rust IDE Developer $6600-10000 Offline
From the business perspective, Enso is a no-code interactive data analysis tool. It lets you load, blend, and analyze your data, and then automate the whole process, simply by connecting visual components together. Enso has the potential to disrupt the data analytics industry over the next five years. Currently, the market operates using old-fashioned, limited, and non-extensible software which has been unable to keep up with businesses as they transition to the cloud.
From a technical perspective, Enso is a purely functional, programming language with a double visual and textual syntax representation and a polyglot evaluation model. It means that you can mix other languages with Enso (Java, JavaScript, Python, R) without wrappers and with close-to-zero performance overhead. Enso GUI is based on a custom Rust-based WebGL vector shapes renderer, while its compiler utilizes the GraalVM framework.
Responsibilities
You'll be responsible for designing and building the visual layer of Enso. It includes a high-performance WebGL renderer, the Enso language graph editor, and its visualization system. This will involve:
- working closely with stakeholders and customers to design how the Enso GUI should operate,
- developing the WebGL renderer that is used to implement this GUI,
- building a next-generation UI framework using this renderer for use in Enso,
- using this UI framework to build the GUI for Enso itself,
- debugging performance issues to ensure that the renderer is capable of achieving high performance even on low-powered hardware,
- creating visualizations for data science libraries using the renderer and other JavaScript libraries.
Requirements
- a strong focus on both user experience and aesthetics,
- 3+ years commercial experience with Rust, including experience writing unsafe code for FFI and performance, and using the macro system for metaprogramming. You should be able to write idiomatic Rust code,
- 2+ years experience with JavaScript, including debugging web stack performance issues,
- practical experience building high-performance graphical interfaces for end-user-facing applications.
As part of the hiring process for this role we're very interested in your previous work in these areas. Please link us to your Rust projects, blog posts and shadertoy shaders if you have them! It's important for us to understand your experience at the start of the hiring process.
It would be an advantage if you had:
- experience with Rust's WASM toolchain, with wasm-bindgen, and experience with WASM itself,
- experience with visual programming systems such as Houdini, Max/MSP, Lab VIEW, or Touch Designer,
- knowledge of the runtime and memory models used by various JavaScript virtual machines,
- knowledge of JavaScript visualization libraries,
- experience with GPU programming (OpenGL, WebGL, DirectX).
We’d appreciate it if you could tell us a little bit about:
- some of your past work or projects,
- the most important features of a team that you'd like to work in,
- why do you think you'd be a good fit for the role.
At Enso we have a world-class team, with developers, community managers, and business developers from all walks of life and backgrounds. Enso would be a great place for you if you want to work hard, have fun doing it, and own projects from end-to-end. We believe our team and community are one of our greatest assets - we’d like to welcome on board anyone who enjoys working in public, putting themselves out there and showing their learning. We value transparency, desire for growth and the ability to work in a results-oriented environment above all else. In turn, we can offer you:
- competitive salary,
- significant stock options,
- a fully remote opportunity,
- flexible working arrangement.