iOS Engineer Hub

iOS Engineer at Google (2026): Bazel, Abseil, Style Guide, L Levels

In short

Google's iOS engineering org is smaller than Apple's or Meta's but spans a meaningful surface area: Gmail, Google Maps, YouTube, Drive, Photos, Pay, the Gemini iOS app, and developer-facing iOS SDKs (Firebase, AdMob, Sign-In). The technical signature is Bazel-based builds, heavy use of shared C++ libraries via Abseil, and the publicly maintained Google Objective-C / Swift Style Guide on GitHub. L5 is terminal for most senior engineers; L6 (Staff) is reached by a smaller subset. Total comp at L5 clusters $370k–$540k per levels.fyi 2026 Google data.

Key takeaways

  • Google's leveling: L3 (entry), L4 (mid), L5 (senior — terminal for most), L6 (staff), L7 (senior staff), L8 (principal). Per Hello Interview's FAANG levels post, L5 is where ~70% of senior IC iOS engineers reach and stop.
  • Build system: Bazel (open-sourced 2015, github.com/bazelbuild/bazel) — Google's internal build tool open-sourced. iOS apps use rules_apple (github.com/bazelbuild/rules_apple) for Bazel-iOS integration. Familiarity with BUILD files is expected; Xcode is used for editing, not building.
  • Shared C++ via Abseil (github.com/abseil/abseil-cpp) — Google's C++ common library. Performance-critical iOS code (Maps rendering, Photos image processing) bridges to Abseil-based C++. Senior+ iOS engineers read and write C++ via Swift's C++ interop (SE-0344).
  • Google's iOS Style Guide is publicly maintained: Objective-C at github.com/google/styleguide/blob/gh-pages/objcguide.md and Swift at github.com/google/swift/blob/main/style/Swift.md. Reading and following the guide is expected.
  • Google Maps Platform iOS SDK and Firebase iOS SDK are open-source — github.com/firebase/firebase-ios-sdk has 5k+ stars and is the canonical example of Google's iOS-SDK shape.

What Google publishes about the role

Google's iOS roles are posted at google.com/about/careers as Software Engineer with iOS or Mobile specialty. The product surfaces:

  • Google Maps iOS: One of the largest iOS apps Google ships. Heavy on rendering performance, large code-shared C++ surface for the map engine.
  • Gmail iOS: Older codebase with significant Objective-C; modernising to Swift. Calendar / Tasks adjacency.
  • Google Photos iOS: Photo processing pipeline shared with Android via C++ libs. ML adjacency through on-device model conversion.
  • YouTube iOS: Standalone team. Video player heavy. Shared with the YouTube backend org.
  • Google Drive / Docs iOS: Productivity-suite iOS clients.
  • Gemini iOS: The Apple-facing Gemini app. Newer team, more modern Swift and SwiftUI than the legacy apps.
  • Firebase / AdMob / Google Sign-In SDKs: Developer-facing iOS frameworks. Public, open-source, broadly adopted.

Google's mobile engineering blog content lives across developers.googleblog.com, the Firebase blog (firebase.blog), and the Google Open Source blog (opensource.googleblog.com) where Bazel-rules_apple updates are announced.

The interview: algorithmic emphasis with iOS-specific deep-dives

Google's iOS interview shape:

  1. Recruiter screen. Career timeline, level calibration.
  2. Technical phone screen (1–2 rounds). 45 minutes each. Algorithmic problems on Google Docs (no syntax highlighting). Pure Swift fine.
  3. On-site (4–5 rounds):
    • Two coding rounds — algorithmic, harder than the screen. Trees, graphs, dynamic programming, occasional bit manipulation. Google's coding bar is the highest of FAANG by reputation.
    • One system design round at L5+ — distributed-systems leaning even at iOS interviews. Common asks: design Google Maps offline tiles, design Drive sync, design an iOS push system at planet scale.
    • One iOS-specific round — UIKit / SwiftUI / lifecycle / memory / threading / occasionally architecture.
    • One behavioral / Googleyness round.
  4. Hiring committee. Decisions go to a hiring committee, not just the interviewers. Adds 1–2 weeks to the timeline.
  5. Team match. Similar to Meta — candidates can match with multiple teams that have headcount.

The Google-shaped specifics: algorithmic rigor is highest. iOS-specific knowledge matters but the bar to clear is coding fluency at the level Google expects of all SWEs — iOS is not a separate easier track. System design at iOS interviews still leans distributed-systems, which differs from Meta's mobile-specific shape and Apple's framework-design shape.

The Google iOS stack: Bazel, Abseil, the Style Guide

Google's iOS apps don't run on a stock Apple stack. Three systems define the shape:

# BAZEL — Google's open-source build system. Apps build via rules_apple.
# BUILD file (Starlark, Python-like syntax)
load("@build_bazel_rules_apple//apple:ios.bzl", "ios_application")
load("@build_bazel_rules_swift//swift:swift.bzl", "swift_library")

swift_library(
    name = "FeedKit",
    srcs = glob(["Sources/**/*.swift"]),
    deps = [
        "//Apps/Common/UI:UICore",
        "//Vendor/Abseil:absl_strings",
    ],
    module_name = "FeedKit",
)

ios_application(
    name = "GoogleApp",
    bundle_id = "com.google.app",
    families = ["iphone", "ipad"],
    infoplists = ["//Apps/Resources:Info.plist"],
    minimum_os_version = "17.0",
    deps = [":FeedKit"],
)
# rules_apple: github.com/bazelbuild/rules_apple
# Bazel: github.com/bazelbuild/bazel
// ABSEIL — Google's C++ common library.
// Performance-critical iOS work bridges Swift to Abseil-based C++.
// SE-0344 (Direct C++ interop, Swift 5.9+) made this ergonomic.

// In a C++ shared library used by Google Maps iOS:
#include <absl/strings/str_split.h>

std::vector<std::string> ParseTileKey(absl::string_view key) {
    return absl::StrSplit(key, '/');
}
// On the Swift side — direct interop, no Objective-C bridging
import TileParserCpp  // C++ module

func segments(of key: String) -> [String] {
    let cppView = std.string(key)
    let result = TileParserCpp.parseTileKey(cppView)
    return result.map(String.init)
}

The Google iOS Style Guide is publicly maintained at github.com/google/styleguide/blob/gh-pages/objcguide.md (Objective-C) and github.com/google/swift/blob/main/style/Swift.md (Swift). The Swift guide is one of the most thorough public iOS style guides; Google engineers are expected to read it on onboarding and follow it daily. Specific norms: explicit type annotations on stored properties, no force-unwraps in production code, NSError-bridging conventions for legacy Objective-C interop.

Compensation: California pay transparency, L5 reality

Google is California-headquartered, subject to SB-1162 pay-transparency. Per levels.fyi/companies/google/salaries/software-engineer (2026 data):

LevelTitleTotal comp (US, 2026)
L3Software Engineer (entry)$200k – $280k
L4Software Engineer$280k – $390k
L5Senior Software Engineer$370k – $540k
L6Staff Software Engineer$540k – $830k
L7Senior Staff Software Engineer$830k – $1.3M+

Google's pay-transparency-required range on a typical Senior iOS posting in California is around $189k–$280k base, plus stock and bonus. Stock vests on a non-uniform schedule (33%/33%/22%/12% over 4 years historically; check current postings). Refreshes happen at the annual cycle.

Frequently asked questions

How does Google approach iOS development at scale?
Mostly native Swift + SwiftUI for new work; legacy Objective-C in older codebases (Gmail, YouTube). The differentiator is Bazel-based builds and shared cross-platform code in C++ for performance-critical libraries — Maps, Photos, Drive sync engine. Google's iOS engineering culture leans more toward backend-style 'large-scale-system thinking' than Apple's framework-craft culture; iOS at Google often sits closer to backend / mobile-platform teams than to a pure mobile team.
What level is senior iOS engineer at Google?
L5 is the standard senior level. Most senior iOS engineers spend the majority of their career at L5; L6 (Staff) is reached by ~10–15% of L5 ICs per public Google career-ladder discussions on Reddit r/cscareerquestions and Hello Interview's FAANG Job Levels post. The progression bar from L5 to L6 is heavily weighted toward cross-team or cross-org technical impact, not just feature scope within iOS.
Is Google iOS remote-friendly?
Limited. Google's hybrid policy is 3 days in office at most teams. iOS roles are predominantly hub-based: Mountain View (primary), Seattle, NYC, San Francisco, London, Bangalore, Munich. Some hybrid; few fully-remote. New iOS hires in 2026 should expect to relocate to one of the hubs. Google is required to disclose location flexibility under California pay-transparency law — check the specific posting.
How much C++ do iOS engineers at Google write?
Variable by team. Maps and Photos iOS engineers write or read substantial C++; Gmail and Drive iOS less so; Gemini iOS very little. Swift / C++ interop (SE-0344) made Swift-from-C++ calls ergonomic in Swift 5.9+; the practical bar is ability to read C++ and modify a function signature, not to author large C++ modules. Google's iOS interview occasionally surfaces C++-aware questions for teams where it matters; recruiters flag this in advance.
Should I read Google's iOS Style Guide before interviewing?
Yes, especially the Swift one (github.com/google/swift/blob/main/style/Swift.md). It's one of the most thorough public iOS style guides and reading it signals serious preparation. The Objective-C guide at github.com/google/styleguide/blob/gh-pages/objcguide.md is also worth reading if you'll be on a legacy app like Gmail or Maps. The guides describe Google-specific conventions (e.g., NSError bridging, force-unwrap policy) that occasionally surface in code-review-style interview questions.
Does Google still have Objective-C in its iOS codebases?
Yes, in legacy apps (Gmail, YouTube, parts of Maps) and in iOS SDKs that need to maintain Objective-C compatibility for older client apps (Firebase, AdMob, Sign-In). New code is Swift; existing Objective-C is modernised opportunistically rather than via a wholesale migration. Senior+ iOS engineers should expect to read Objective-C; writing new ObjC is rare except in SDK-public-API maintenance.
What public Google iOS code is worth reading?
Three repos: (1) Firebase iOS SDK at github.com/firebase/firebase-ios-sdk — 5k+ stars, modular Swift packaging, the canonical example of Google iOS SDK shape; (2) Google Sign-In iOS at github.com/google/GoogleSignIn-iOS — smaller, focused, OAuth flows; (3) Bazel rules_apple at github.com/bazelbuild/rules_apple — to understand the build infrastructure. Reading the Firebase repo gives you a feel for how Google structures public-API iOS code.

Sources

  1. Google Careers — iOS engineer search.
  2. levels.fyi — Google Software Engineer compensation by level.
  3. GitHub — Google Objective-C Style Guide.
  4. GitHub — Google Swift Style Guide.
  5. GitHub — Firebase iOS SDK (Google's flagship public iOS SDK).
  6. GitHub — Bazel rules_apple (iOS build integration).
  7. GitHub — Abseil C++ common library (used in iOS perf paths).
  8. Google Developers blog — mobile and iOS posts.

About the author. Blake Crosley founded ResumeGeni and writes about product design, hiring technology, and ATS optimization. More writing at blakecrosley.com.