Software Engineer - Mobile at Uber (New York City, NY)

| New York City, NY
Sorry, this job was removed at 5:10 p.m. (CST) on Saturday, June 25, 2022
Find out who's hiring in New York City, NY.
See all Developer + Engineer jobs in New York City, NY
By clicking continue you agree to Built In’s Privacy Policy and Terms of Use.
About the Role
We are seeking a strong engineer on Uber's mobile networking team to enable an extremely reliable & high speed network to Uber's marketplace from any location on the planet. Uber's apps & services demand real-time, low latency connectivity to ensure magical user experiences and a highly efficient marketplace. Given Uber operates across 10000+ cities with different wireless networks (cellular/wifi), connecting devices (mobile apps, bikes/scooters/cars, trucks) and varying proximity to data centers, technical challenges in achieving this goal is both very challenging and foundational to the entire business.
The Mobile Networking team at Uber is responsible for the core networking stack that carries all of Uber's traffic across Android/iOS. Critical functionalities include managing certificates, routing requests to appropriate domains, efficient performance logging, etc. And we manage all different
transport stacks (HTTP, TLS, QUIC), used by Uber's mobile apps such as Rider, Partner, Eats, Freight & so on. Our team also manages the model gen and service gen for feature teams to interact with the networking library efficiently. We also build libraries for devices to pick the most performant datacenter/edge to connect to and manage how the device responds to datacenter level outages. Lastly, we also invest in large scale network analytics, monitoring and alerting across the globe for Uber's traffic, built on top of our massive big data platform.
---- What the Candidate Will Do ----
The Mobile Networking team is looking for a Software Engineer. As a member of this team, you will
  • Build the foundational network stack for Android/iOS/Linux based devices and integrate it in a consistent fashion across all our apps while working with product and platform teams.
  • Deeply integrate with mobile platforms, to optimize network performance specifically based on device's location, hardware capability and network connectivity.
  • Build instrumentation & data collection systems that gather several TBs of network data, to understand deeply how HTTP/QUIC performs in varying network conditions across the world
  • Drive forward the next generation of Uber's edge & datacenter strategy to ensure consistent performance for our users, from any location in an Uber city.
  • Debug hard-to-locate bugs or leaks that impact part of the users before it becomes a larger problem
  • Optimize your code and help improve the bar within the team

---- Basic Qualifications ----
  • You have a good understanding of the Network stack and/or have built Android or iOS apps with a good understanding of SDK internals
  • B.S. in Computer Science or a related field (or, a proven track record in software development)
  • Experience with Java, Kotlin, Swift, Objective C or similar (bonus points for more than one).

---- Preferred Qualifications ----
  • Proven record of building iOS or Android apps with an emphasis on end user performance optimization.
  • Experience working with internet-focused network concepts & technologies such as DNS, reverse proxies, IPv4/IPv6, TCP/UDP, TLS/HTTP.
  • Knowledge of UDP based protocols such as QUIC.
  • Data Engineering and analysis at a massive scale for the global mobile network performance metrics, visualization and alerting on detecting trends
  • You have excellent interpersonal skills and a portfolio of successful execution.
  • Excellent written and verbal communication skills.
  • You can collaborate well with other engineering teams to articulate requirements and design.
  • Ability to assess new technologies and make pragmatic choices that help guide us towards a long-term vision.
  • An open, curious, and bold approach to problem-solving while striving for the best solution.
  • Passion for driving continual improvement initiatives on engineering best practices like coding, testing, or monitoring.
Read Full Job Description
Apply Now
By clicking continue you agree to Built In’s Privacy Policy and Terms of Use.

Technology we use

  • Engineering
  • Product
  • Sales & Marketing
    • C#Languages
    • C++Languages
    • GolangLanguages
    • JavaLanguages
    • JavascriptLanguages
    • KotlinLanguages
    • PerlLanguages
    • PHPLanguages
    • PythonLanguages
    • RLanguages
    • RubyLanguages
    • ScalaLanguages
    • SqlLanguages
    • SwiftLanguages
    • GoLanguages
    • ReactLibraries
    • ReduxLibraries
    • Twitter BootstrapLibraries
    • ASP.NETFrameworks
    • HadoopFrameworks
    • Node.jsFrameworks
    • SparkFrameworks
    • TensorFlowFrameworks
    • AccessDatabases
    • Microsoft SQL ServerDatabases
    • MySQLDatabases
    • Google AnalyticsAnalytics
    • FigmaDesign
    • PhotoshopDesign
    • FigmaDesign
    • AsanaManagement
    • ConfluenceManagement
    • JIRAManagement
    • WordpressCMS
    • DocuSignCRM
    • SalesforceCRM
    • SplashCRM
    • SendGridEmail
    • Adobe CampaignLead Gen

An Insider's view of Uber

What’s the vibe like in the office?

When I went into the office for my final interview with Uber, I had the same feeling that I did when I stepped onto my college’s campus for the first time: it just felt like the right fit. The office was high-paced but also relaxed and you could immediately tell that people were friends and genuinely enjoyed being there.

Paige Sammarco

Account Executive, Uber Eats

What kinds of technical challenges do you and your team face?

One of the big challenges today with experimentation is around guaranteeing correctness, especially for small changes to ensure confidence in results. Was that change the cause of new behavior? Did other experiments get in the way? It all comes down to how accurately you can detect small changes within consumer behavior.

Azarias Reda

Head of Uber's Experimentation API team

What makes someone successful on your team?

"It’s not just about the individual contributor. The most successful people are the ones learning from others. On my team, I make sure that everyone shares best practices and we foster a collaborative culture. So when you’re on a call, you’re never really alone. And that applies to everyone."

Ali Faivus

Head of Mid-Market Sales

How do you empower your team to be more creative?

We make sure we don’t ship org structures, but rather aligned products. How can our products complement one another, building upon each other to achieve our primary goals? Whether it’s scheduling, routing, predictive analytics, or operational excellence, we are acting as one, and smartly leveraging our domains and strengths.

Joe Chang

Director of Engineering, Uber Freight

How does your team reward individual success?

I believe recognizing someone’s contributions are a big part of team play. On our weekly meetings, we always start with a shout-out, and it’s amazing how this simple topic stimulates the team to recognize small victories and accredit colleagues for their accomplishments. This brings our team together and fosters a more collaborative environment.

Silvia Penna

Sr Manager, Central Operations

More Jobs at Uber

Apply Now
By clicking continue you agree to Built In’s Privacy Policy and Terms of Use.
View Uber's full profileSee more Uber jobs