Temporal Technologies

Software Engineer II, Open Source Server

Temporal Technologies • $120K — $145K *
Information Technology
Less than 5 years of experience
Job Overview by Ladders

Qualifications

  • 5+ years of experience in building and operating production backend systems, especially distributed systems.
  • Strong foundational knowledge in concurrency, data structures, and debugging.
  • Proficiency in production-quality code with Go, Java, or other relevant backend languages.
  • Understanding of core distributed systems concepts like fault tolerance and consistency tradeoffs.
  • Ability to analyze ambiguous problems and translate them into actionable tasks.
  • Excellent collaboration skills across teams with clear communication of risks and tradeoffs.
  • Experience with operational practices such as logging and monitoring is preferred.

Responsibilities

  • Design, implement, test, and deploy new features for the Temporal server with team support.
  • Tackle distributed systems challenges in areas like task matching and workflow execution.
  • Make educated engineering decisions while balancing developer experience and performance.
  • Collaborate with cross-functional teams to gather requirements and deliver scalable solutions.
  • Enhance server operability by integrating tests, dashboards, and documentation.
  • Engage in design discussions and code reviews to maintain high code quality.
  • Contribute to improving the developer experience for both open source and enterprise users.

Benefits

  • Opportunity to work on a widely-utilized open source project.
  • Collaborative and supportive team environment focused on continuous learning.
  • Possibility to deepen expertise in distributed systems and related technologies.
  • Involvement in design discussions with experienced engineers for skill growth.
Full Job Description
Role Summary

Temporal is looking for a Software Engineer II to join the Open Source Server team. This team builds and maintains the core Temporal server. Its scope is broad, including Matching, Applications, Foundations, task processing, quotas and throttling, visibility, developer-facing primitives such as standalone activities, schedules, and streaming, and workflow experience improvements such as Continue-As-New, pause, and reset. We do not expect one person to cover all of these areas. We're looking for an engineer who is excited to learn the system, contribute to new and/or ambiguous projects across the codebase, and help improve the reliability, performance, operability, and developer experience of Temporal over time. This is a hands-on engineering role where you'll collaborate with experienced engineers to design, build, and operate components of Temporal's distributed systems platform while growing your skills in distributed systems engineering.

What You'll Do
• Design, implement, test, and ship well-scoped features and improvements for the Temporal server with support from teammates.
• Work on distributed systems problems in areas such as task matching, scheduling, workflow execution, visibility, quotas, throttling, persistence, developer primitives, and workflow lifecycle features.
• Make thoughtful engineering tradeoffs with guidance, balancing developer experience, performance, and operability requirements.
• Partner with engineers, product managers, cloud teams, and customer-facing teams to understand requirements and deliver scalable solutions.
• Improve the reliability and operability of the server by adding tests, instrumentation, dashboards, alerts, runbooks, and documentation.
• Participate in design discussions and code reviews to learn best practices and contribute to a high-quality codebase.
• Contribute to improving the developer experience for open source users and enterprise customers through incremental improvements and bug fixes.
• Share knowledge with teammates and contribute to a collaborative engineering culture.

What You'll Bring
• Experience building and operating production backend systems (distributed systems experience and concurrency experience).
• Strong computer science fundamentals, including concurrency basics, data structures, and debugging.
• Experience writing production-quality code in Go, Java, or another applicable backend language, with an emphasis on correctness and maintainability.
• Familiarity with core distributed systems concepts (e.g., fault tolerance, consistency tradeoffs, replication, scheduling, performance), with interest in deepening these skills.
• Ability to break down ambiguous problems into smaller tasks, ask good questions, and incorporate feedback from code review.
• Comfort working collaboratively across teams and communicating progress, risks, and tradeoffs clearly.
• Experience with testing practices and an operational mindset (logging, metrics, tracing, on-call empathy) is a plus.
• Experience with open source software or communities is a plus.
• Experience with AWS, Azure, or GCP is a plus.
• Exposure to technologies such as Elasticsearch, OpenSearch, ClickHouse, Cassandra, PostgreSQL, or MySQL is a plus.
• Exposure to Kubernetes or related tooling (CRDs, KEDA, Argo) is a plus.

What Makes You a Good Fit
• You're excited to continue building and deepening your distributed systems expertise.
• You enjoy learning large, complex codebases, think critically, thrive in ambiguity, and enjoy solving challenging problems.
• You take ownership of your work, follow through, and collaborate well with teammates.
• You balance technical depth with practical engineering decisions and are comfortable iterating toward better solutions.
• You don't need prior Temporal experience-you're excited to work on the core of a distributed system used by a large open source community and enterprise customers.

Similar Jobs

More Jobs at Temporal Technologies

More Information Technology Jobs

Find similar Software Engineer II, Open Source Server jobs: