Senior Software Engineer, SDK
United States - Remote Opportunity
We have an opening on our SDK team to hire a Senior Software Engineer to help us build a great experience for developers of Temporal-based applications. Our SDK team makes the Temporal SDKs and the Temporal CLI—the primary ways through which our customers use Temporal. This is harder than it sounds—SDKs are not mere clients; they act as runtime environments for application code, and coordinate closely with Temporal Server to provide the durable-execution guarantees our customers require. Most of our work is open source—see for yourself here: https://github.com/temporalio
What You Will Do
- Take end-to-end ownership of new features, working with others in the SDK and Server teams to deliver exceptional reliability and a great developer experience.
- Design and build Temporal SDKs used by customers to work with Temporal in their programming language of choice.
- Tightly integrate Temporal SDKs with their respective languages to run application code in a durable, deterministic way.
- Maintain and improve the Temporal CLI.
- Work directly with our community to debug issues that need expert attention, and get feedback on Temporal SDK features and APIs.
- Write publicly-readable technical documentation describing Temporal concepts and APIs.
- Go the extra mile to support a customer in need, on the rare occasion that SDK engineering expertise is needed.
- Travel to meet your coworkers in meatspace for a week once or twice a year.
- Attend the occasional developer conference to talk about how great Temporal is (optional).
What You Won’t Do
- Work in an office (unless you want to, but you’d be by yourself). Temporal is a fully-remote company.
- Commit code that’s poorly-tested or works “most of the time”. Temporal aspires to be “Reliable as Gravity”, and we expect your code to be the same.
- Overwork yourself to meet a deadline. Instead of crunch time, we cut scope.
- Work behind closed doors. The SDKs are open source—that means PRs and comments are open to the public, too.
- Sit in meetings all day. We mostly communicate in writing, and use meetings mainly for status updates and thorny issues that need input from the whole group.
- Wake up to pager alerts. We’re extremely active in supporting our customers and the community, but we don’t do 24/7 on-call.
What You’ll Bring
- BS or MS in Computer Science (or a closely-related degree), or equivalent work experience writing production-grade software.
- Fluency in multiple programming languages, and an affinity for learning new ones. We don’t care which, but you should know at least two.
- Familiarity with concurrent programming—you should know how to use mutexes and atomics safely.
- Familiarity with distributed systems—you should know what to do when you can’t rely on mutexes and atomics.
- Experience designing APIs and writing documentation for publicly-available libraries or modules.
- A methodical, detail-oriented approach to your work.
- Strong technical communication skills—written and verbal—in English.
- A deep sense of ownership and personal accountability—you care about the impact of your work, and if something goes wrong, you take responsibility for making it right.
- A proactive approach to managing your work—you’ll need to balance working autonomously vs. working closely with others, and recognize when you need help.
Nice to Have
- Familiarity with Temporal’s programming model (e.g. you’ve written an app on Temporal).
- Experience writing in Go, Java, Python, .NET, TypeScript, Ruby and/or Rust.
- Experience contributing to open source projects.
- Experience contributing to the architecture and design of large-scale distributed systems.
- Deep knowledge of language runtimes—particularly related to sources of non-determinism.
Compensation
- The estimated pay range for this role is $150,000 - $210,000, depending on qualifications and location.
- Additionally, this role is eligible to participate in Temporal's equity plan.
- Unlimited PTO, 12 Holidays + 2 Floating Holidays
- 100% Premiums Coverage for Medical, Dental, and Vision
- AD&D, LT & ST Disability, and Life Insurance (Standard & Supplemental Available)
- Empower 401K Plan
- Additional Perks for Learning & Development, Lifestyle Spending, In-Home Office Setup, Professional Memberships, WFH Meals, Internet Stipend and more!
- Paid Time Off (PTO) and Benefits outside the United States vary by country, and are issued in partnership with Remote.com. Additionally, Temporal offers perks to all international employees for learning & career development, a lifestyle spending account, in-home office setup (in addition to company-issued hardware), professional memberships, work-from-home meals, and access to the Calm app for mental wellness.
- $3,600 / Year Work from Home Meals
- $1,500 / Year Career Development & Learning
- $1,200 / Year Lifestyle Spending Account
- $1,000 / Year In-Home Office Setup (In addition to Temporal issued equipment - laptop, monitor, keyboard, mouse, trackpad, and extension power cable at no cost to you)
- $500 / Year Professional Memberships
- $74 / Month Reimbursement for Internet
- Calm App Subscription for Mental Health & Wellness
Job Profile
Remote Opportunity
Benefits/Perks12 holidays 2 floating holidays Developer conference attendance Equity plan Flexible work environment Fully remote Home office setup Internet Stipend Travel opportunities Unlimited PTO
Tasks- Collaborate cross-functionally
- Debug issues
- Design and build temporal sdks
- Documentation
- Integrate sdks with programming languages
- Maintain and improve temporal cli
- Support customers
- Write technical documentation
CLI CLI Development Communication Community Engagement Concurrent Programming Distributed Systems Documentation GitHub Go Java Open Source Programming languages Python Reliability SaaS SDK Development Software Engineering Technical communication Technical Documentation Typescript
Experience5 years
EducationB.S. Business Computer Science Engineering MS MS in Computer Science Related Degree
TimezonesAmerica/Anchorage America/Chicago America/Denver America/Los_Angeles America/New_York Pacific/Honolulu UTC-10 UTC-5 UTC-6 UTC-7 UTC-8 UTC-9