Embedded Software Engineer

Apple Inc.
yesterday

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Languages
English

Job location

Tech stack

Board Bringup
C
Java
C++
Computer Engineering
Concurrent Computing
Software Debugging
Device Drivers
Firmware
Python
Object-Oriented Software Development
Software Architecture
Scala
Shell Script
Software Engineering
System Software
Unix Commands
Rust
Information Technology
Software Version Control
Go
Programming Languages

Requirements

processing solutions. We are looking for a hands-on Software Engineer to help design and execute on the embedded platform architecture and system software development efforts. The candidate must be flexible and able to work with experts from a diverse set of backgrounds to identify requirements and implement critical features.

In this dynamic role, the candidate will work closely with the project's other software engineers and the wider engineering team to design and develop software solutions enabling progress on the organization's research and development activities. Duties will include contributing to software architecture definitions, creating development plans, translating application feature requests into reusable software, and executing on plans for new and existing embedded applications. Working with a mix of short and long timelines, balancing a wide range of technically diverse tasks. The work includes: automation and control of embedded platforms, data acquisition and management, and developing software support tools and associated services.

Bachelors degree in Computer Science, Computer Science Engineering, a combination of Electrical Engineering and Computer Science, or equivalent fields.\nDevelopment experience in one of the following programming languages: C, C++, Python, Java, Go, Rust, Scala, or Swift.

Familiarity with the software development lifecycle: requirements gathering, design, development, deployment, and maintenance.\nFoundational software engineering and experience developing with object oriented or concurrent programming languages in an industrial setting.\nExposure to board bring-up and interpreting and navigating schematics and layouts.\nExperience debugging using oscilloscopes and logic analyzers.\nCapable of contributing to projects related to: application development (e.g. data acquisition, system control, automation, and UI), system software and firmware, device drivers, and general compute infrastructure.\nExperience with software support tools including the Unix command line, shell scripting, and version control software.\nEagerness to learn and apply new technology quickly and strategically.\nAbility to communicate clearly and collaborate effectively in a cross-functional team.

About the company

Imagine what you could do here! At Apple, new ideas have a way of becoming extraordinary products, services, and customer experiences very quickly. Bring passion and dedication to your job and there's no telling what you could accomplish. Dynamic, smart people and inspiring, innovative technologies are the norm here. The people who work here have reinvented entire industries with all Apple Hardware products. The same passion for innovation that goes into our products also applies to our practices strengthening our commitment to leave the world better than we found it. Join us to help deliver the next groundbreaking Apple product! Do you love working on challenges that no one has solved yet? \n\nThe Biophotonics software team solves a wide array of challenging problems and is responsible for the software that drives the prototypes and platforms at the heart of our program. We develop solutions at all levels from embedded firmware code to full stack applications and cloud based data

Apply for this position