System Architect (GO/Rust)
WorkatoSpain2w ago
Job description
About the role
At Workato, we are at the forefront of creating a unified platform that integrates data, applications, and artificial intelligence, paving the way for the agentic era. The System Architect position is part of our Engine team, which is responsible for vital components such as the Workato Expression Language, Data Mapper, and Decision Engine. In this role, you will be tasked with designing and implementing runtime features, ensuring optimal performance and security within our cloud-native architecture.
Key facts
What you'll do
- Design, develop, and enhance the core language and runtime features for the Workato Expression Language, Data Mapper, and Decision Engine, ensuring they meet high-performance standards.
- Oversee the integration of Rust core functionalities into Ruby and Go services through Foreign Function Interface (FFI) bindings, facilitating seamless communication between languages.
- Advance the Decision Engine by transitioning from static rules to dynamic formulas, enhancing its flexibility and responsiveness.
- Implement WebAssembly (WASM) sandboxing techniques to guarantee secure isolation of components, thereby improving overall system security.
- Collaborate closely with Product and AI teams to gather and define requirements for components, ensuring alignment with business objectives and user needs.
- Conduct thorough testing and validation of runtime features to maintain high reliability and performance under varying loads.
- Analyze system performance metrics and identify areas for optimization, contributing to continuous improvement initiatives.
- Mentor junior engineers, providing guidance on best practices in Rust and Go development, as well as architectural decision-making.
- Participate in code reviews, ensuring adherence to coding standards and fostering a culture of quality within the team.
- Engage in architectural discussions, contributing to the technical roadmap and planning for future system enhancements.
- Manage phased rollouts of new features, ensuring minimal disruption to existing services and user experiences.
- Utilize AI-assisted workflows to conduct system analysis and identify edge cases, enhancing the robustness of our solutions.
Requirements
- Significant hands-on experience with Rust, particularly in systems-level or backend development, demonstrating a deep understanding of the language's capabilities.
- Proven track record of writing high-quality, production-ready code in Go, showcasing your ability to work with modern programming paradigms.
- Experience in embedding Rust as a native library or extension within other programming environments, demonstrating versatility and technical proficiency.
- Strong understanding of data structures and algorithms, with practical experience in tree processing and sorting techniques.
- Ability to thrive in a dynamic, cross-functional team environment, adapting quickly to changing priorities and methodologies.
- Familiarity with AI-assisted workflows for system analysis, enabling proactive identification of potential issues and edge cases.
- Background in managing high-throughput systems capable of processing millions of events or requests on a daily basis.
- Excellent technical communication skills, both written and verbal, enabling effective collaboration with diverse teams.
- Experience in leading complex projects, including the development of technical roadmaps and management of phased feature rollouts.
- Proficiency in implementing zero-downtime deployments and managing feature flags to ensure smooth transitions during updates.
- Capability to mentor team members and conduct cost-benefit analyses for architectural decisions, fostering a culture of informed decision-making.
Nice to have
- Experience in compiler engineering, providing insights into language design and optimization techniques.
- Familiarity with WebAssembly and sandboxing technologies such as Wasmtime, Wasmer, or WASI, enhancing your ability to contribute to secure application design.
- Knowledge of Unicode and JSON standards, ensuring compliance and interoperability in data handling.
- Experience with project management methodologies, including Scrum or waterfall, to effectively manage project timelines and deliverables.
- Active involvement in the technology community through contributions to open-source projects, public speaking, or technical writing, showcasing your commitment to continuous learning and sharing knowledge.
Skills & tools
- Rust
- Go
- Ruby
- WebAssembly (WASM)
- Foreign Function Interface (FFI)
- Data structures and algorithms
Practical notes
- Req ID: 2885