Software Development Engineer - BSP, OPD Hardware
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.
We are looking for an Embedded Software Development Engineer to help design, develop, and integrate our next generation devices. In this role, you will work with customers, system architects, program managers, and hardware engineers to implement, troubleshoot, and fix kernel drivers, Audio SW, and BSP for our next generation devices. You will be responsible for the development of real-time embedded firmware and embedded Linux software that implements security controls for the platform.
Key Job Responsibilities
1. Design, build, and maintain efficient, reusable, and reliable C code.
2. Debug and troubleshoot issues in the Kernel drivers, BSP, and integration with OS frameworks.
3. Identify bottlenecks and bugs, and devise solutions to problems found in the product integration and field.
4. Develop and implement a wide range of low-level embedded software (including kernel device drivers, network stack development, porting existing software to new embedded platforms, and other low-level programming activities), hardware development, as well as the development of application software.
5. Develop and customize BSP, Audio, and graphics.
6. Develop, port, and test software and firmware layers inside the Linux Kernel and frameworks.
7. Help maintain code quality, organization, and automation.
8. Develop and maintain technical documentation.
9. Provide technical guidance and mentorship to other team members.
10. Participate in code and design reviews.
BASIC QUALIFICATIONS
1. 3+ years of non-internship professional software development experience.
2. 2+ years of non-internship design or architecture (design patterns, reliability, and scaling) of new and existing systems experience.
3. Experience programming with at least one software programming language.
4. Bachelor’s degree in Computer Science or related fields.
5. 3+ years of Application Engineering experience.
6. 2+ years in embedded development preferably ARM systems.
7. 5+ years programming experience in C/C++.
8. Linux kernel and application development, focusing on stability, efficiency, and performance.
9. Knowledge of Android platform and development environment.
10. System scripting and building environment.
11. Experience with embedded system concepts and hardware interfaces, such as JTAG, UART, SPI, I2C, ROM, Microcode, Custom ASIC/FPGAs, x86 and ARM chipset, and firmware security (TPM, UEFI, TrustZone, Secure/Measured Boot, JTAG, PCIe).
PREFERRED QUALIFICATIONS
1. 3+ years of full software development life cycle, including coding standards, code reviews, source control management, build processes, testing, and operations experience.
2. Bachelor's degree in computer science or equivalent.
3. Masters or PhD.
4. Experience supporting shipping Android and Linux based IoT devices.
Our inclusive culture empowers Amazonians to deliver the best results for our customers. If you have a disability and need a workplace accommodation or adjustment during the application and hiring process, including support for the interview or onboarding process, please visit this link for more information.
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.
#J-18808-Ljbffr