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, Amazon Echo and Amazon Show. The Amazon Devices group delivers delightfully unique Amazon experiences, giving customers instant access to everything, digital or physical.
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, Smart TV etc.). You will join a team whose mission is to ensure that state-of-the-art technologies serving the customer are 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.
• 3+ years of programming experience with at least one modern language such as Java, C++, or C# including object-oriented design
• 2+ years of experience contributing to the architecture and design (architecture, design patterns, reliability and scaling) of new and current systems
• 4+ years of professional software development experience
• Bachelor's degree in Computer Science, Computer Engineering or related technical field
• 7+ years of experience in full life cycle software development in C/C++
• 3+ years of experience writing software for embedded Linux or similar OS
• Experiences in device management software stack such as OTA and device analytics
• Master's degree in Computer Science, Computer Engineering or related technical field
• Computer Science fundamentals experience in object-oriented design, data structures, algorithm design, problem solving, and complexity analysis
• Experience negotiating design and APIs with other software teams
• In-depth knowledge about operating system
• 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 designs
• Excellence in technical communication with peers, partners, and non-technical cohorts
Amazon is committed to a diverse and inclusive workplace. Amazon is an equal opportunity employer and does not discriminate on the basis of race, national origin, gender, gender identity, sexual orientation, protected veteran status, disability, age, or other legally protected status. For individuals with disabilities who would like to request an accommodation, please visit https://www.amazon.jobs/en/disability/us//.