What Temporal is looking for in applicants
We are expanding our team! You can be anywhere in the United States for all of our positions, and other various locations outside the U.S. for other roles to join us.
At Temporal, 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. Temporal enables developers to focus on writing important business logic, and not on managing state or worrying about the underlying infrastructure. The Temporal platform is being trusted by top-tier companies as a core technology in their mission critical systems. Our active open source community of developers, who are also our users, provide us with real-time feedback and contributions. We're backed by top VC firms, have closed Series B and have a team of professionals from start-ups and larger companies like Microsoft, Google, Amazon, Meta, Uber, Apple, Cisco and more.
Open Source Software Engineer - Java
This Software Development Engineer position is a mid-level 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 stable Temporal Go and Java SDKs.
What you’ll do
*Design and build Temporal client SDKs by developing open source packages and libraries in a variety of languages.
*Communicate directly with users of the products you build and make appropriate adjustments.
*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
At least 3-6 years of professional software development experience.
Experience contributing to open source projects and an affinity for programming languages.
At least 3 years development experience in Java or other JVM languages
API design and creating libraries experience are a bonus
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.