Google 的软件工程师负责开发新一代技术,让数十亿用户更好地获取和了解信息、与信息交互,同时加强用户间的联系、了解和互动。我们的产品需要处理海量信息,而不仅仅只是提供网页搜索服务。因此,我们在不断寻找各个领域内能够给我们带来新鲜想法的工程师,其中包括信息检索、分布式计算、大型系统设计、网络组建和管理及数据存储、安全防护、自然语言处理、界面设计和移动等领域,而且所涉的领域还在不断增加。作为软件工程师,您将参与到对满足 Google 需求至关重要的特定项目;随着公司业务的快速发展以及您个人的迅速成长,您还将有机会调至其他团队和项目。我们的工程师不仅要具备多方面的才能和杰出的领导能力,还要热衷于解决我们所遇到的各种新问题,帮助我们不断推动技术发展。
我们团队的使命是提供稳定、节能的传感器子系统,以及非常易于使用的 API,助力开发直观、顺畅且富有魔力的 Pixel 体验。
作为 Pixel 传感器核心软件的工程师,您要参与到嵌入式软件的开发中,满足 Pixel 设备上搭载的大部分传感器的需求。
您的团队肩负的使命是高效开发每部 Pixel 设备上的每个传感器所需的核心设备软件。这是一个关键职位,需要精通实时嵌入式软件开发,同时精通 Android 和算法,能够打造以节能方式利用传感器数据的卓越功能。
Responsibilities
- 编写产品或系统开发代码。
- 与同事和利益相关方一起参与或负责设计评审,以便决定适用的技术。
- 审核其他开发者编写的代码并提供反馈,确保遵从最佳实践,例如风格指南、代码签入、准确性、可测试性和效率方面的最佳实践。
- 参与完善现有文档或培训内容,并根据产品/程序更新和用户反馈调整相关内容。
- 分析问题根源,以及问题对硬件、网络或服务运营与质量的影响,借此对产品问题或系统问题进行诊断分类,并查找/跟踪/解决问题。
Qualifications
Minimum qualifications
- 拥有学士学位,或具备同等水平的实践经验。
- 有 2 年使用 C 或 C++ 以及 Python 或 Shell 脚本进行软件开发的经验,尤其是开展大中型、跨地区的嵌入式软件工程项目方面的经验。
- 有 Android 应用开发方面的编程经验。
Preferred qualifications
- 有 2 年数据结构或算法方面的经验。
- 善于集成和评估传感器模态,例如加速度计、磁传感器、陀螺仪、气压传感器、近程传感器、光传感器、指纹传感器、触摸传感器、触觉传感器、霍尔传感器等。
- 精通信号处理、微控制器选择,并熟悉数字通信协议和接口(例如 GPIO、SPI、I2C、UART)。
- 精通传感器核心架构,并能熟练运用传感器融合算法。
- 了解操作系统工具和 Unix。能够快速掌握 Shell 脚本、文件系统操作和进程管理相关知识。
- 了解估算理论(卡尔曼滤波器、EKF)、硬件性能监控器和剖析,能够诊断和调试硬件与软件问题。