Amazon is looking for a motivated Software Development Engineer to be part of a team that creates software for Alexa-enabled devices. You will have an enormous opportunity to make an impact on the design of the latest products that touch the lives of people everyday. You will work in a fast-paced, highly collaborative environment. To be successful in the role, you have to be passionate about consumer electronics and software design. As a device software engineer, you will work with other cross functional teams like product design, UX design, iOS and Android App dev teams
• Be responsible for development of new features and functions on the device software stack
• Work on designing APIs and protocols for communication between host controller chips, DSP chips and Amazon cloud services.
• Work with new technology initiatives and sometimes build prototypes to test things.
• Work with software and hardware tools to debug problems on Amazon devices and infrastructural
• 2+ years of non-internship professional software development experience
• Programming experience with at least one modern language such as Java, C++, or C# including object-oriented design
• 1+ years of experience contributing to the architecture and design (architecture, design patterns, reliability and scaling) of new and current systems.
• Bachelor’s degree in Computer Science, Electrical Engineering, or a related field.
• 4+ years of experience in device software development or embedded software development.
• Experience in software design, development and debugging preferably on ARM based platforms
• Experience in programming in C (or C++)
• Experience with RTOS and/or embedded Linux development
• Strong Computer Science fundamentals: Operating systems, system architecture, data structures, algorithm design, problem solving, and complexity analysis
• Experience in one or more of these areas: Software development for consumer electronics class devices or IoT devices, sensor software development, Wifi/BT/BLE Connectivity
• Knowledge of serial interface protocols like I2C, SPI , UART, USB
• Experience in Python or at least one scripting language
• Experience in board bringup
• Debugging skills on embedded systems
• Understanding of Linux kernel and application development
• Ability to review schematics.
• Experience with software debugging tools, JTAG, probes and scopes