Minimum qualifications:
- Bachelor’s degree in Computer Science, or equivalent practical experience.
- 1 year of experience with software development in one or more programming languages (e.g., C, C++).
- 1 year of experience with data structures or algorithms.
Preferred qualifications:
- Master's degree or PhD in Computer Science or related technical field.
- Experience coding for C/C++ and Python.
- Knowledge of embedded system development, Real-Time Operating Systems (RTOS), Board Support Package and micro-controllers.
- Excellent problem-solving skills and knowledge of debugging embedded software/hardware issues.
- Excellent communication skills along with ability and passion to learn.
About the job
Google's software engineers develop the next-generation technologies that change how billions of users connect, explore, and interact with information and one another. Our products need to handle information at massive scale, and extend well beyond web search. We're looking for engineers who bring fresh ideas from all areas, including information retrieval, distributed computing, large-scale system design, networking and data storage, security, natural language processing, UI design and mobile; the list goes on and is growing every day. As a software engineer, you will work on a specific project critical to Google’s needs with opportunities to switch teams and projects as you and our fast-paced business grow and evolve. We need our engineers to be versatile, display leadership qualities and be enthusiastic to take on new problems across the full-stack as we continue to push technology forward.
Google's mission is to organize the world's information and make it universally accessible and useful. Our Devices & Services team combines the best of Google AI, Software, and Hardware to create radically helpful experiences for users. We research, design, and develop new technologies and hardware to make our user's interaction with computing faster, seamless, and more powerful. Whether finding new ways to capture and sense the world around us, advancing form factors, or improving interaction methods, the Devices & Services team is making people's lives better through technology.
Responsibilities
- Design and implement core software platform for embedded development on modems.
- Design, implement, and test new software features for modem systems.
- Develop embedded software frameworks maximizing leverage and scalability across products.
- Design and implement factory calibration and test systems, create system and developer tools for optimizing performance and implement and tune algorithms for optimizing performance.
- Build automated regression test systems to validate features and measure system performance, work with other cross-functional teams to understand requirements and meet compliance/conformance metrics.