Principal Engineer - Rust at Temporal Technologies () (allows remote)
Type: Full Time
Created: 2021-06-18 05:01:57
We are on a mission to remove the complexity in developing reliable software for the cloud. If you want to solve hard distributed system problems, have a passion for open source software and building a strong developer community, then come join us in our mission.
What team members bring to the table:
First principal and critical thinking skills, good design sensibilities, experience working in or with distributed systems and the challenges they bring, and a passion for advancing the state of the art along with the potential to change the way developers everywhere write distributed applications.
What team members are doing at Temporal:
Collaborating daily with highly technical and truly brilliant leaders in the field, drawing pictures and writing words around architecture, design and implementation of innovative systems and software. Writing clean code either building on or utilizing Temporal to make the world a better place by providing value to developers through world-class open source and hosted software.
We're currently investing in our:
- Open Source Server platform
- Open Source Client Runtime/SDK to support many programming languages
- Developer community to build integrations
- SaaS offering
Technology We Enjoy:
- The right tool for the job
- Entirely cloud-based infrastructure
- A variety of programming languages
- CNCF projects and cloud native tooling
- Managed services with clean APIs
- Open Source Software
- Hashicorp Software
- Developer's choice of operating system (Mac, Linux, Windows)
Note: Temporal is written in Go (server) and Rust (core SDK), but language specific experience is not necessary to join.
This senior Engineer role is an advanced role within Temporal, and has high visibility and impact across Temporal and the Temporal community of developers. This role is newly created given our platform's expansion and increased adoption. We have enterprise partners awaiting the development of new Temporal SDKs in Python, node.js, and Rust to add to our Temporal Go and Java SDKs.
What you’ll do
- You will design and build Temporal client SDKs by developing open source packages and libraries in a variety of languages.
- You will communicate directly with users of the products you build and make appropriate adjustments.
- You will contribute to the overall design of the product as SDKs are a big and integral part of how the system operates - this is not a wrapper for server APIs.
What you bring us
- 10+ years of professional software development experience.
- Experience contributing to open source projects and an affinity for programming languages.
- Software development experience with two or more of Rust (primary), Java, C++, Python, Go.
- Experience contributing to the architecture and design of large, complex, distributed systems.
- Experience with a variety of things like compilers, frameworks, language patterns, idiomatic programming, writing core libraries, dependency injection, unit testing frameworks, client thread pools, memory leaks, multithreading, and concurrent programming.
- Minimum Bachelor's degree in Computer Science or related field or equivalent experience.
- Experience in communicating technical concepts with developers, other technical teams, and senior management.