Amazon Lab126 is an inventive research and development company that designs and engineers high-profile devices like the Kindle family of products. Lab126 began in 2004 as a subsidiary of Amazon.com, Inc. Since then, we have worked to produce best-selling e-readers and tablets, as well as new inventions like Fire TV and Echo. What will you help us create?
Work hard. Have fun. Make history.
As a Senior Software Development Engineer Framework, you will engage with an experienced cross-disciplinary staff to conceive and design innovative consumer products. You must be responsive, flexible and able to succeed within an open collaborative peer environment. You will work closely with the hardware, ops, user-space and QA teams. You must be responsive, flexible and able to succeed within an open and collaborative peer environment. The Device OS team is responsible for the delivery and maintenance of a high-performance, low-power, stable platform.
The Software Engineer will provide technical leadership and contribute to the definition, development, integration, test, documentation and support of custom embedded native and Java Object Libraries across multiple platforms. This hands-on position requires broad engineering competence and in-depth technical knowledge of embedded software development, as well as demonstrated experience successfully planning, organizing, and conducting software development projects in a dynamic environment. In this role, you will:
• Be responsible for the architecture of software solutions, determining current limitations and compatibilities between subsystems, selection of new concepts and methodology, and development of major routines and utilities.
• Maintain and improve existing software.
• Prepare technical requirements and software design specifications.
• Instill best practices for software development and documentation, assure designs meet requirements, and deliver high-quality work on tight schedules.
• Degree in Computer Science, Computer Engineering or related field, or 10+ year relevant work experience.
• Professional experience in software development building production software systems. Computer Science fundamentals in object-oriented design, data structures, algorithm design, problem solving, and complexity analysis.
• Proficiency in programming with Java, C or C++.
• Able to drive system architecture design and complex software prototype and solutions, as well as familiarity with object oriented design patterns.
• Rich development experience on multiple Linux platforms and mobile devices.
• Excellence in technical communication with peers and non-technical cohorts.
• Engineering process experience with the Software Development Life Cycle (SDLC) principles.
• Master's degree a plus.
• 3+ years of current experience working with Android native layer and frameworks.
• Multimedia experience a plus.
• Java coding skills.
• Shell scripting experience is a plus.
• Exceptional interpersonal communication skill, including verbal, written, listening, and client based relationships.
• Ability to occasionally travel internationally.
• Experience working on high-volume consumer products.
• Extensive knowledge of the Android framework on recent releases.
• Deep understanding of embedded development constraints.