Interesting Data Gigs # 5: Software Engineer, Data at Temporal Technologies

Why must follow Aishwarya Srinivasan (Data Scientist for Google Cloud AI Services) and Allie K. Miller (Global Head of Machine Learning BD, Startups and Venture Capital at AWS)

If you are not a subscriber of Interesting Data Gigs, join 1150+ other Data geeks that receive it directly in their inbox each week — it’s free.

This edition is sponsored by Ramp and Braintrust

Ramp is the finance automation platform uniquely designed to save businesses their most valuable resources—time and money. By integrating corporate cards with refreshingly modern software to manage all non-payroll spending, Ramp turns typically painful finance processes into an effortless and delightful experience.

Companies like Webflow, Applied Intuition, and Stanley Steemer use Ramp to automate expenses, payments, accounting, and reporting. By closing their books 8 days faster each month and saving their businesses millions of dollars each year, leading companies are using Ramp to build a world where finance teams become more strategic and lean. As a result, the entire business moves faster.

If you are looking for a job, Braintrust can provide you with access to incredible positions with the world’s leading enterprises like Nike, NASA, TaskRabbit, Nestle, Porsche, Wayfair, Experian, and many more.

If you are a company, looking to hire top talent globally, Braintrust can assist as well in your talent search.

Hi Data Geeks.

Another Thursday, another long night with good coffee and good content to write and talk about.

Today, I will be talking about an early-stage company, but with a world-class engineering team; working on an amazing product with a very interesting business model. And the keyword here is WORKFLOWS.

The company is called Temporal Technologies and the job itself is called Software Engineer, Data.

And you should be wondering WTH is Temporal right and which problems they are solving today?

Temporal is the simple, scalable open source way to write and run reliable cloud applications.

I encourage you to read the docs here.

But to actually understand better, one of the best explanations I’ve found about what problem is solving Temporal is this one provided by Bryan Offutt (Partner at Index Ventures) when he wrote this after they led the investment in the Series B of $103 Million:

As an example, imagine you are a fintech service, and you are trying to deal with new user sign-ups. At a high level, this is pretty a straightforward process/workflow:

  1. User signs up and enters their credit card

  2. You create a new account for the user

  3. You post a small, random transaction to their bank account

  4. You prompt the user to login into their bank and enter the amount posted

  5. If successful, you mark the account as verified

  6. You remove the credit from the account

  7. You send the user an email verification welcoming them to your service

In plain English, this process is easy for anyone to understand.

But if you think about things a bit deeper, there is an enormous amount of room for error.

For example. what happens if there is a failure during step 2 and the account never gets created? Does the user have to re-enter their credit card to try again?

Do you end up with a half-created account in your database?

Does the user get notified that something happened, or do they just sit waiting and wonder why the transaction never showed up?

What if the user walks away from their computer during step 4? Does the process terminate? How long should it wait? Should the credit be left in their account indefinitely? Where is that amount stored if you need to roll it back?As complex as this is to think through, it’s even more difficult to implement. Coding aside, just imagine you had to do this manually with pen and paper and think about the amount of information you’d have to write down and keep track of: the credit card number, the account id, the user id, the transaction amount, whether the amount was verified, if the credit had been removed already or not. The management of this state is complex, convoluted, and painful. The question is, does it have to be?

If you are a visual learner, you can watch this video from Drew Hoskins about how Stripe is using Temporal’s technologies:

I completely agree with Brian on this: everything is a workflow these days, and the founders of the company have worked on this problem for a long time in companies like Uber, Google, Amazon, Microsoft, etc.

So, they are the perfect duo to do this.

When they announced the Series B investment, Maxim wrote an open letter to the world, and one of the favorite parts of it was this part:

We recently asked ourselves how we would define Temporal’s success. We decided that we are not there until:

- Reliability is easy and inexpensive for applications of all sizes.

- Every developer is aware of Temporal and understands its value proposition.

- Developers of any skill level and experience can use Temporal.

- A namespace in Temporal Cloud becomes as reliable, predictable, and commonplace as an S3 bucket.

There is a vivid ecosystem of open-source projects that leverage Temporal as an underlying engine.

The new financing validates our business model and gives us the opportunity to pursue these goals.

Why is the interesting thing here?

  • The co-founders of the company, Maxim Fateev, and Samar Abbas started the foundation of the product inside Uber (which I respect a lot regarding anything related to Software Engineering at scale). This means that with the scale of Uber, they actually tested the approach here

  • It's a product being already used by amazing companies like Box, Datadog, Airbyte, Cash App, Stripe, Netflix, and many more.

  • They have amassed an incredible team that includes industry veterans like Charles Zedlewski (Chief Product Officer) and Paul Nordstrom (), who are very respected in their circles (and for very good reasons). So, when you see people of that caliber joining a team, you should know they are building something unique at Temporal.

Just read of the things Charles and Paul respectively wrote when they joined the company:

I’ve been especially lucky to get to play a role in two category-defining companies that have each left an impact larger than their revenues or market caps.

For 5 years I worked at SAP, relatively late in its life, and then for another 10 years at Cloudera, starting in the very early days before the first shipped product.

Temporal is a marriage of the domains of both companies: transactional applications and distributed open-source platforms.

As for me: I’ve helped build some of the larger pieces of the internet. I was the lead engineer on Amazon's V2 website architecture (Gurupa), and was also the TL on a significant piece of Google's computational infrastructure called Millwheel, along with quite a long list of smaller projects. For perspective, at one point I had checked in more code to Amazon's codebase than any other single engineer. I would say I did a fair job of choosing my first two internet gigs :)

That’s all to say that while I truly love software engineering, I didn't really need another gig, and I certainly wasn't interested in anything less than “world-changing”. Mostly I was busy studying and exploring ML (which I'm certain will change the world) and otherwise enjoying life. Then I got wind of Temporal.

Having worked directly with Max (Maxim Fateev, one of the two founders of Temporal) at both Amazon and Google, I was well aware of his remarkable technical capabilities. Long ago at Amazon, I had also taken a stab at building a Workflow processing framework; I bought fully into the potential. What I had missed was Max’s unique and critical insight: that by making the logical processing deterministic, replay can recreate internal state in such a way that business logic can be written as a simple linear flow that can be made durable across any time period.

Why you should join Temporal

It’s very simple: This role again is about impact.

This is a very small but very capable engineering team. So, you will be challenged here to do the best work of your life as a Software Engineer, and if you were looking for “the perfect room“ when you could be the dumbest guy, this is it.

They are amazing engineers, but at the same time, they are very humble and eager to work with awesome people like you.

If you are interested, reach out to Eric Stutzman or Mary Kypreos.

Let’s dissect the job here and discuss some ideas on how to approach this job application (THE REAL MEAT)

If you read again very carefully the job position, you will find some clues about what’s matters at Temporal:

The Temporal Cloud Engineering group at Temporal is looking for an engineer who has demonstrated a track record of developing horizontally scalable, resilient, and performing-under-load distributed systems in a production environment. The primary focus is on building a data platform with ETL/ELT workflows, dimensional data models. This is a unique opportunity as this person will also get to program using Temporal OSS and cloud services while building this framework.

Some key things mentioned there:

  • You can work anywhere inside the U.S

  • Open Source’s experience is important but not a requirement. But if you have worked with Open Source coding before, it’s a big plus here

  • They have fostered a very tight community of developers and users, so my first recommendation is to join right now to their meetups and watch some videos on the Temporal’s YouTube channel 

  • You will use Golang, Kafka, Apache Spark, Flink, Elasticsearch, and SQL on a daily basis

  • Hands-on experience with major cloud providers like AWS, Google Cloud, and Azure

  • Docker and Kubernetes are fundamental pieces of the infrastructure at Temporal, so make sure you refresh your knowledge on this if you don’t use it on a daily basis

  • They love Hashicorp’s tech as well, so be prepared to use Terraform, Consul and many other projects from the company heavily

So, refresh your knowledge about distributed systems, system design, and more broad topics like first-principles thinking.

Good luck with your job application.

Other featured jobs of the week

The content of both of them on LinkedIn related to A.I and Data Science is top-notch. That’s the main reason why you must follow them there.

Believe me: you will learn a ton from this.

Interesting resources

If you are not a subscriber of Interesting Data Gigs, join 1160+ other Data geeks that receive it directly in their inbox each week — it’s free.

Join the conversation

or to participate.