Amazon Lab126 is an inventive research and development company that designs and engineers high-profile consumer electronics. Lab126 began in 2004 as a subsidiary of Amazon.com, Inc., originally creating the best-selling Kindle family of products. Since then, we have produced groundbreaking devices like Fire tablets, Fire TV, and Amazon Echo. What will you help us create???
Work hard. Have fun. Make history.
This is a unique technical leadership role where you will have the opportunity to influence, invent, and design system architecture across multiple product and technology spaces (Alexa devices, IoT devices, etc.). You will join a team whose mission is to ensure that state-of-the-art technologies that serve the customer can be supported via flexible software architectures, OS and Hardware Platform abstraction, testability, and scalability across multiple device types.
You will dive into an ambiguous problem spaces and meticulously distill out design choices, trade-offs, and priorities. You are data and metric driven, and obsessively concerned about performance in under resource constrained environments. You love to share best practices, influence and align teams, and be a technical ambassador for software reuse across the wider Amazon organization.
This role requires very strong verbal and written communication skills.
· Bachelor’s degree in Computer Science, Computer Engineering or related technical field
· 8+ years of experience in software development in C/C++, 3+ years with C-coding
· 3+ years of experience in a technical team lead role
· 2+ years of experience with one of the following: (1) writing device drivers, or (2) writing software on a MCU RTOS device.
· Computer Science fundamentals experience in object-oriented design, data structures, algorithm design, problem solving, and complexity analysis
· Embedded systems experience with focus on Linux or RTOS
· Native Android based experience
· Experience negotiating design and APIs with other software teams
· Master’s degree in Computer Science, Computer Engineering or related technical field
· Demonstrated ability to mentor other software developers to maintain architectural vision and software quality
· A track record of seeking out and resolving system performance issues involving memory and CPU
· Experience working across multiple engineering teams to drive software design in a Sr. Architect or Principal Engineer role
· 2+ years of experience on an MCU RTOS based device, such as in IoT space
· Excellence in technical communication with peers, partners, and non-technical cohorts