Reduced a key iOS build-time measure, substantially improving developer productivity and build-and-debug speed.
Founder profile
Tapan Thaker
Independent Software Consultant · Former Staff Software Engineer at Uber
A versatile technical problem-solver with 14+ years of experience delivering software and improving how engineering teams work. Tapan turns ambiguous problems into practical solutions and contributes hands-on from strategy through implementation.
Vadodara, India · Available for India and global engagements
Impact
Worked on platforms supporting Uber’s flagship iOS and Android applications—one of the world’s largest mobile ecosystems.
Hands-on experience across distributed systems, mobile platforms, developer infrastructure, architecture, and technical leadership.
Technical depth
Technical Profile
Backend & distributed systems
High-throughput services in Java and Rust, designed around explicit failure modes, measurable performance, and predictable behavior under load.
- Kafka: partitioning and key design, ordering boundaries, consumer groups, replay, backpressure, rebalancing, and delivery semantics.
- Redis: cache topology, invalidation, distributed coordination, rate limiting, atomic operations, and state management.
- Systems: concurrency, idempotency, retries, consistency boundaries, load shedding, observability, profiling, and fault-tolerant service design.
Native mobile platforms
Native iOS and Android engineering across modern declarative frameworks, established platform stacks, and the infrastructure required to ship reliably at scale.
- Apple platforms: Swift, Objective-C, UIKit, SwiftUI, structured concurrency, GCD, ARC, runtime behavior, signing, and distribution.
- Android: Kotlin, Java, Jetpack Compose, coroutines, Flow, lifecycle-aware architecture, Gradle, testing, and release engineering.
- Product runtime: modularization, networking, persistence, dependency management, startup latency, memory, binary size, profiling, and CI.
Developer platforms
Developer platforms where build systems, compiler toolchains, and shared engineering infrastructure directly determine developer velocity and software quality.
- Build systems: Bazel hermeticity, custom rules, dependency graphs, action caching, remote execution, toolchains, reproducibility, and build performance.
- Compilers & linkers: Swift modules and dependency scanning; LLVM compiler pipelines, intermediate representations, optimization passes, and code generation; object formats, symbol resolution, static and dynamic linkage, dead stripping, and binary analysis.
- DevEx tools: code coverage, testing platforms, monorepo infrastructure, linters, presubmit systems, CI workflows, and developer feedback loops.
Frontend & web platforms
Modern JavaScript and TypeScript applications, from component systems in the browser to server-rendered experiences and Node.js services.
- Application frameworks: React component architecture, Angular and AngularJS applications, and Astro sites using static generation, server rendering, and islands-based delivery.
- JavaScript & TypeScript: typed application boundaries, asynchronous execution, state management, browser APIs, package ecosystems, and reusable frontend architecture.
- Web delivery: Node.js runtimes, API integration, accessibility, testing, bundling, caching, Core Web Vitals, and client-side performance profiling.
One system, not separate layers. The hardest failures cross boundaries—from build graph to binary, runtime to network, and client to backend. Understanding the complete path makes those problems tractable.
Experience
- Help technology leaders make difficult engineering decisions and turn ideas into dependable software.
- Provide technical direction and hands-on delivery across architecture, product engineering, developer productivity, testing, and practical AI systems.
- Work directly with clients from initial assessment through implementation, adapting each engagement to the problem.
- Scaled Uber’s mobile testing platform to orchestrate 10,000–15,000 automated tests across Rider, Driver, and Eats. Decoupling tests from where they ran allowed the execution infrastructure to evolve without requiring changes to the tests.
- Owned major improvements to iOS developer productivity, reducing a key build-time measure from 230 seconds to 65 seconds.
- Helped Uber adopt Apple Silicon from its initial rollout, cutting local iOS build times from 156 seconds to about 79 seconds while coordinating tools, vendors, and product teams.
- Improved build, test, and code-submission systems across one of the world’s largest mobile codebases while mentoring engineers and setting technical direction across teams.
Delivered mobile solutions for a major US airline and its partners. Helped teams make architecture and delivery decisions and mentored engineers through pairing and hands-on support.
Led the development and delivery of consumer-facing mobile and social networking applications from technical design through release.
Built mobile and web ordering products for restaurants, including reusable software for faster customized launches and point-of-sale integration.
Selected strengths
Useful across the software lifecycle.
- Solving ambiguous and difficult software problems
- Technical strategy, architecture, and modernization
- Mobile engineering across iOS and Android
- Automated testing and engineering platforms
- Developer productivity and delivery workflows
- Hands-on implementation, leadership, and mentoring
Start a conversation
Bring the problem that needs senior attention.
Engagements can begin with a focused technical challenge or extend into long-term product and platform delivery.
Discuss your project