Network programming. Horizontally scalable distributed systems. High throughput, low latency. Highly available discoverable services. Fault-tolerant. Software is easy - it's engineering that's the hard part. You realize that "cheap, fast, or good: pick two" is part of the daily decision-making process for a good engineer and you're comfortable - no, happy! - working in whatever part of the spectrum the answer to that question requires.

You know that at scale there's no such thing as a rare edge case. Some of your best friends work in ops, and you feel their pain. One of your first questions is "where are the graphs?". Future-you is grateful to present-you for the tests you're writing. Synchronous? You can't be serious! You want to work on the systems that are at the core of what Urban Airship does - Messaging - while making them better and having fun doing it.