Embedded SW/FW Engineer
Summary
Do you have a passion for invention and self-challenge? Do you thrive on pushing the limits of what’s considered feasible? As part of our Battery Engineering group, you’ll help craft creative battery solutions that deliver more energy in smaller spaces than ever before.
Description
In this role you will work across disciplines to transform improved hardware elements into a single, integrated design. You'll help us innovate new battery technologies that continually outperforms the previous iterations. By collaborating with other product development groups across Apple, you’ll push the industry boundaries of what batteries can do and improve the product experience for our customers across the world.
Responsibilities
- Architect, implement, and maintain complex firmware/software designs.
- Write clean, easy to understand, robust, testable, reusable, and sustainable code tailored for embedded systems.
- Generate and evaluate functional and design specifications.
- Develop and maintain various engineering tools used to debug, analyze, and test embedded products.
- Work with multi-functional teams to determine software architecture and specification to meet the product requirement and user experience.
- Work with project leaders to define assignments, schedules, quality expectations, and other project criteria.
- Present results and recommendations.
- Quickly debug and effectively close out system issues related to the product firmware, software, and systems.
- Participate in the definition and bring up of new custom ICs.
Minimum Qualifications
- Experience programming in C and Python.
- Experience with micro-controllers.
- Experience with solving tools such as JTAG, SWD, oscilloscopes, or logic analyzers.
Preferred Qualifications
- BS degree and 3+ years relevant industry experience.
- Understanding of embedded systems design and debugging methodologies and strategies.
- Experience in software development, verification methodology, version control and automation tools.
- Experience architecting, coding, and integrating firmware for hardware products.
- Experience in low-pin-count communication buses (I2C or UART or SPI).
- RTOS experience.