Jobs at Twilio

Trying something new today. I like to read job postings at Big Tech companies. Not because I'm looking for a job--I love my job at Komodo. But I like to peer around the corner to try and see what's coming for the future of the Internet, and Big Tech companies (like Twilio) always seem to have a heads-up on us little guys.

Twilio Magic

You can't take a step in any direction on Twilio's job postings without running into the "Twilio Magic". It's a set of pithy sayings that embody the Twilion way. "Twilion" is a word that Twilio uses to describe their employees. It feels like a lot of tech companies have words like these.

Twilio Magic is broken down into three sub-categories: How we act, How we make decisions, and How we win. Within each of these categories are a handful of pithy sayings, like "Empower others", and "Wear the customer's shoes", and "Draw the owl". I think I might be coming off a bit sardonic here but I like it when an organisation lays down the ground rules like this.

A lot of their European jobs are fully remote available. I was looking at a few in Tallinn that appear to support fully remote employees across Europe but with the expectation that you'll come to the office on a regular basis. That being said Twilio does seem to have offices just about everywhere in the world.

I like the "We can't wait to see what you build" at the top of the site footer. It reminds me of Automattic's "Code is poetry" one.

WordPress's footer
WordPress's footer
Twilio's footer
Twilio's footer

Methodologies

  • Independence, organisation, communicative, growth-minded, self-structured, collaborative, strategic, and critical. (Not sure how one is meant to prioritise both independence and collaboration.)
  • "Draw the owl" - lead implementation

Frontend engineering

Twilio's posting for "Staff Frontend Engineer - Engagement Intelligence"
Twilio's posting for "Staff Frontend Engineer - Engagement Intelligence"

Remarkably high numbers under the 'years of experience' column. 5+ of JS experience on the "Staff Frontend Engineer" role. Tempered a bit by only 3+ years of experience with frontend frameworks. Though the React Hooks RFC came out in late 2018; it's plausible that the person that will eventually be hired for this position will never have written a React class component. Thinking emoji.

The highlights

  • JS, TS, React
  • End-to-end testing with Cypress or Selenium
  • Experience with APIs (Rest, GraphQL, GRPC, Protobuf)
  • Knowledge of continuous deployment
  • Some knowledge of NoSQL databases
  • UX patterns
  • Test driven development

Funny to think that in 2021, a frontend engineer has to have some strong experience building APIs. I like as well that they include some light design work (in the form of UX patterns) in frontend. I think that every frontend engineer oughta have at least a passing acquaintance with good UX.

Staff software engineer

An example posting for a 'general backend' role, simply titled: "Staff Software Engineer"
An example posting for a 'general backend' role, simply titled: "Staff Software Engineer"
Their backend roles generally seem to fall under the 'software engineer' title. These positions run the gamut from building REST APIs to managing devops stuff. Twilio has invested pretty heavily in Kubernetes and it shows here. Just about every engineering role that doesn't have "frontend" in the title asks for a deep understanding of containerisation

As for the rest: it varies. I've found a couple of posting mentioning experience with Golang but most ask for JVM languages, especially Scala. They also use MySQL pretty heavily, but look like they're moving into more NoSQL stuff, probably DynamoDB, the way that people are talking about it these days.

There's a handful of ancillary tools that come up across most of the backend jobs as well:

  • Ceph: Filesystems and storage.
  • Rook: Also storage, specifically for Kubernetes.
  • ClusterAPI: "Declarative APIs and tooling to simplify provisioning, upgrading, and operating multiple Kubernetes clusters."
  • Metal^3: Bare metal host provisioning for Kubernetes. I'm not going to pretend I understand what that means at all.
  • Terraform: "Infrastructure as code." I imagine that this allows you to manage your cloud resources with scripts n stuff.
  • AWS: We all know what this is.
  • Apache Kafka: Production-grade event streaming--for analytics, payments processing, interaction tracking, connecting microservices, you name it; a solution to a problem I didn't know existed, but should have.

This might be my frontend self-esteem issues speaking, but it feels like the backend/fullstack postings are a little bit more vague, treating their applicants more like adults than the frontend postings do. Then again I'm looking at an L4 backend job right now (which asks for "Java, scalability & resistance, cloud, and testing" as the complete list of requirements), which apparently SWE IC3 jobs are going for like $260,000/year, so that shows what I know.

Takeaways

I oughta be learning more backend stuff. There's a whole world of infrastructure orchestration out there that I know precisely nothing about. Then again, it's hard, as a single engineer with small-time side project ambitions, to justify spinning up a kube cluster with Terraform, just to run ol' feeler. How do people learn Metal^3 without joining an organisation that already uses Metal^3?

Should probably get a passing acquaintance of the JVM though.