Before You Apply
- CVs must be submitted in English
- You must be physically located in Brazil
- Contract PJ
About the Role
We are looking for an experienced Senior Software Engineer specialising in Rust to help develop and extend a sophisticated, high-performance web application.
The platform handles complex data structures, large volumes of information, and real-time user interactions, presenting interesting engineering challenges across both frontend and backend systems.
This is a hands-on, individual contributor role for an engineer who enjoys solving complex technical problems, working with established codebases, and building reliable, scalable software.
You will work primarily with Rust, while also contributing to technologies such as React, TypeScript, WebAssembly, and Python.
Key Responsibilities
- Rust Development: Design, develop, and maintain high-performance applications using Rust, with a strong focus on memory safety, concurrency, and efficiency.
- Backend Engineering: Build and maintain Rust-based services responsible for data exchange, AI agent orchestration, and efficient delivery of results to frontend applications.
- Full-Stack Contributions: Work across the technology stack, including React, TypeScript, WebAssembly (WASM), and Python.
- Performance Optimisation: Improve application performance across client and server, focusing on memory management, WebAssembly module loading, and real-time data processing.
- Software Architecture: Extend and improve an existing, complex Rust codebase while maintaining scalability, reliability, and maintainability.
- Cross-Functional Collaboration: Work closely with machine learning engineers, product managers, and designers to translate product requirements into robust technical solutions.
- Engineering Best Practices: Establish and promote strong Rust development standards, including automated testing, code reviews, documentation, and maintainable architecture.
- Continuous Improvement: Stay current with developments in the Rust ecosystem and identify opportunities to improve engineering practices and application performance.
Required Skills & Experience
Professional Experience
- 5+ years of professional software engineering experience, developing and maintaining complex, production-grade applications.
- 2+ years of hands-on Rust development experience in production environments.
- Demonstrated experience working with and extending large, existing Rust codebases, rather than exclusively building applications from scratch.
Technical Expertise
- Strong understanding of Rust's ownership model, memory management, concurrency, and performance optimisation.
- Deep understanding of composition-based software design and its application in Rust.
- Experience implementing and maintaining automated tests using Rust testing frameworks and methodologies.
- Practical experience compiling Rust into WebAssembly and integrating WASM modules into browser-based JavaScript or TypeScript applications.
- Proficiency in at least one additional programming language, preferably Python or TypeScript.
- Experience using AI-assisted development tools to improve productivity and development workflows.
- Ability to design maintainable software architectures and troubleshoot complex performance issues.
Professional Skills
- Excellent analytical and problem-solving abilities.
- Strong written and verbal communication skills.
- Ability to collaborate effectively with multidisciplinary teams.
- Comfortable taking ownership of technical challenges and delivering solutions independently.
Nice to Have
- Experience with computer graphics, including 2D/3D rendering, CAD applications, or related technologies such as Three.js, WebGL, or WebGPU.
- Familiarity with real-time collaboration and data synchronisation technologies, such as SignalR or Y.js.
- Experience working in Agile development environments.
What Makes This Opportunity Interesting
This role offers the opportunity to work on technically challenging software at the intersection of high-performance computing, modern web technologies, and AI-powered applications.
You will tackle complex engineering problems involving large datasets, browser-based computation, and real-time interactions while helping shape the architecture and technical direction of an evolving software platform.
It is particularly well suited to an experienced Rust engineer who values technical ownership, high engineering standards, and the opportunity to make a meaningful impact on a sophisticated software product.