Software Engineer - Wireless Network Infrastructure
We are seeking a strong engineer to contribute to our wireless network infrastructure team responsible for the wireless network performance of our apps. Given Uber operates across 500+ cities, with different mobile operators/networks, device classes and varying proximity to data centers, optimizing the last mile wireless link is of great importance to Uber, to provide a great experience to our users. .
The legacy protocol stacks (e.g: TCP/TLS/HTTP), buried deep into the device operating system, do not fare well in challenging network conditions (specifically in emerging markets). . This team’s goal is to change this with radically new technology, that can optimize the current network performance, while also unlocking new capabilities like vehicular networks/delay tolerant networking for the future.
WHAT YOU’LL BE DOING:
- Instrument the Uber apps to understand the network characteristics around the world in all cities Uber operates.
- Work with network and/or security protocols, innards of mobile operating systems and build a global distributed system around brand new protocols similar to QUIC or QUIC itself!
- Make Uber network calls from mobile 5X faster!
- Inherently inquisitive and motivated by big engineering problems.
- An optimistic, team-player mindset.
- B.S. in Computer Science or related field (or, a proven track record in software development)
- 3+ experience in working on performance-critical systems
- A solid understanding of all aspects of the network call anatomy such as DNS lookup, TCP and TLS connection establishment, HTTP/1.1, SPDY, HTTP/2.
- System level programming in C++ (supported by Java and Go)
- iOS and Android platform specific work (C++, Java/ObjC)
- Solid understanding of systems architecture, multi datacenter designs and common performance tradeoffs.
- Data Engineering and analysis at massive scale for the global mobile network performance metrics, visualization and alerting on detecting trends
Bonus points if you have familiarity in:
- Experience in developing effective tools to help uncover inefficiencies in mobile app performance due to network communication overhead.
- Understanding of end to end network flow: Mobile, Radio Access Network, Core Network to POP’s and frontend proxies.
- Knowledge of QUIC protocol.
- Mobile development experience in Android or iOS.
- Experience in organizing meetups and public speaking.
- Experience improving client performance in production environments across a wide range of disparate devices.
Be sure to check out the Uber Engineering Blog to learn more about the team.
Meet Some of Uber's Employees
Community Management Specialist
Brian makes sure that every Uber user has an amazing experience. He troubleshoots roadblocks to customer happiness and also does outreach to attract new Uber users.
Back to top