Design and build a Rust UI framework targeting the Mathematica notebook interface, including a state management system, event handling system, and a Wolfram Box Language templating system.
Investigate and leverage low-level Mathematica front-end APIs for integration into the framework.
Maintain Rust FFI libraries to surface numerical logic and drive dynamic UI interfaces in the Mathematica notebook front end.
Provide assistance to Scientific Computing Engineers to port their numerical and analytical algorithms into Rust.
Coordinate with Site Reliability Engineering and Front End teams to maintain and expand CI/CD process.
Collaborate with leadership to define technical direction and prioritize new features.
Serve as founding members of a new team, shaping technology and culture and integrating data analysis and visualization applications into the flagship desktop product.
Requirements
B.S. in Computer Science, Mathematics, Physics, or similar.
3+ years of professional software engineering experience.
Practical experience with Rust in professional or open-source contexts, particularly using its strong type system to improve code safety and correctness in domain-specific applications.
Has experience with OCAML
Strong ability to collaborate across diverse backgrounds, including technical scientists, product leaders, and engineers, to translate requirements into performant applications.
Ability to work with rapidly evolving requirements and incomplete specifications.
Strong debugging, performance optimization, and low-level programming skills.
Comfortable working across multiple layers of a stack, from back-end systems to user-facing components.
Interest in shaping the culture and practices of a new engineering team.
Nice to Have: Experience writing and integrating shared libraries using FFI (foreign function interfaces), and working with low-level APIs or runtime environments.
Nice to Have: Familiarity with Mathematica and its runtime environment.
Nice to Have: Experience building dynamic user interfaces in the Mathematica notebook front end.
Nice to Have: Some background in numerical computing or scientific software.
ATS Keywords
Tip: use these terms in your resume and cover letter to boost ATS matches.
Hard skills
RustOCAMLstate managementevent handlingdebuggingperformance optimizationlow-level programmingFFI (foreign function interfaces)numerical computingscientific software