Senior Software Engineer, Mobile (iOS), Platforms and Devices
Google · San Francisco, CA · 2 wk ago
On-siteEngineeringFull-time
About the job
The Platforms and Devices team encompasses Google's various computing software platforms across environments (desktop, mobile, applications), as well as our first party devices and services that combine the best of Google AI, software, and hardware. Teams across this area research, design, and develop new technologies to make our user's interaction with computing faster and more seamless, building innovative experiences for our users around the world.
Minimum qualifications
- Bachelor’s degree or equivalent practical experience.
- 5 years of experience programming in C++.
- 5 years of experience programming in Objective-C or Swift.
- 3 years of experience with iOS application development.
- 3 years of experience testing, maintaining, or launching software products, and 1 year of experience with large scale application design and architecture.
Preferred qualifications
- Master's degree or PhD in Computer Science or related technical field.
- 5 years of experience with data structures/algorithms.
- 1 year of experience in a technical leadership role.
- Experience developing accessible technologies.
Pay
US: $174,000 - $253,000 (USD) + 15% bonus target + equity + benefits
Schedule
Full-time
Benefits
- Health, dental, vision, life, disability insurance
- Retirement Benefits: 401(k) with company match
- Paid Time Off: 20 days of vacation per year, accruing at a rate of 6.15 hours per pay period for the first five years of employment
- Sick Time: 40 hours/year (statutory, where applicable); 5 days/event (discretionary)
- Maternity Leave (Short-Term Disability + Baby Bonding): 28-30 weeks
- Baby Bonding Leave: 18 weeks
- Holidays: 13 paid days per year.
Responsibilities
- Write and test product or system development code.
- Participate in, or lead design reviews with peers and stakeholders to decide amongst available technologies.
- Review code developed by other developers and provide feedback to ensure best practices (e.g., style guidelines, checking code in, accuracy, testability, and efficiency).
- Contribute to existing documentation or educational content and adapt content based on product/program updates and user feedback.
- Triage product or system issues and debug/track/resolve by analyzing the sources of issues and the impact on hardware, network, or service operations and quality.