Software Engineer - Exploratory Design Group

Santa Clara Valley (Cupertino), California, United States
Software and Services


Role Number:200160867
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? As a member of our dynamic group, you will have the unrivaled and rewarding opportunity to craft upcoming products that will delight and inspire millions of Apple’s customers every single day! This role requires an engineer who is not afraid to tackle challenges, and knows how to balance innovation with practicality. You will be expected to reduce high level feature requests into tightly-integrated tools for internal deployment on macOS and Linux systems. Preference is given to candidates with both web and native application development experiences.

Key Qualifications

  • The ideal candidate will have 3+ years experience developing applications and scripts for device control and automation as well as data acquisition, analysis, and management.
  • Experience writing software tools for a variety of devices, buses/interfaces, and protocols.
  • Experience using third-party frameworks, APIs, and DLLs.
  • Excellent command of Python and the C programming languages.
  • Experience interfacing with LabView, Matlab, and similar environments is a plus.
  • Candidate must work well in a team environment.
  • Enthusiasm for Computer Science and related topics.


As a Software Engineer, you will work with cross-functional engineering team to understand the team’s needs for instrument control and automation across a wide variety of devices, as well as data acquisition, storage, visualization and analysis. Help to implement a common tools architecture and APIs for instrument control across all supported hardware, instruments, and devices. Write device drivers to support third-party hardware in our test environment. Manage internal data collection, analysis, and storage infrastructure. Develop simple web-based and native app GUIs.

Education & Experience

Minimum BS in EE, CE, or CS required.

Additional Requirements