Summary
Neuralink is creating devices that enable a bi-directional interface with the brain. As a Firmware Engineer Intern, you will develop and optimize embedded software for robotic surgery applications while collaborating with a cross-functional team to enhance the functionality of robotics.
Responsibilities
- Developing and optimizing embedded software for robotic surgery applications
- Streamlining our codebase by refining and, when necessary, retiring legacy embedded software
- Rigorous testing and validation of software systems to meet the highest safety and reliability standards
- Participating in peer code reviews
- Writing drivers and applications to extend the functionality of our robotics
- Specifying hardware and software choices as we develop future hardware platforms
- Sharing your findings and progress with the team in a collaborative environment
Skills
- Demonstrated track record of success in a science or engineering field, evidenced by outstanding projects, innovations, or advanced problem-solving
- Proven experience in software development, preferably with exposure to embedded systems
- 2+ years of experience with embedded systems
- Proficient with common communication protocols (SPI, UART, I2C, etc.)
- Comfortable/working knowledge of more advanced protocols such as PCIe, MIPI CSI/DSI, USB, and 802.3
- Proficient in at least one embedded language such as C, C++, or Rust
- Proficient with embedded toolchains and workflow
- Experience building and bringing-up MCUs or FPGAs
- Experience with embedded stacks for ARM cores
- Experience developing on embedded Linux platforms
- Experience with embedded Linux kernel configuration and device tree setup
- Experience with kernel driver development
- Experience with ARM bootloaders
- Experience coding drivers for actuators and sensors
- Experience with high-speed data acquisition and processing
- Foundational understanding of MCU architectures and peripheral integration
- Solid knowledge in electrical engineering and DSP
- Ability to interpret electrical schematics and datasheets, along with proficiency in using lab equipment
Qualifications
Must Haves
- Demonstrated track record of success in a science or engineering field, evidenced by outstanding projects, innovations, or advanced problem-solving
- Proven experience in software development, preferably with exposure to embedded systems
Nice to Haves
- 2+ years of experience with embedded systems
- Proficient with common communication protocols (SPI, UART, I2C, etc.)
- Comfortable/working knowledge of more advanced protocols such as PCIe, MIPI CSI/DSI, USB, and 802.3
- Proficient in at least one embedded language such as C, C++, or Rust
- Proficient with embedded toolchains and workflow
- Experience building and bringing-up MCUs or FPGAs
- Experience with embedded stacks for ARM cores
- Experience developing on embedded Linux platforms
- Experience with embedded Linux kernel configuration and device tree setup
- Experience with kernel driver development
- Experience with ARM bootloaders
- Experience coding drivers for actuators and sensors
- Experience with high-speed data acquisition and processing
- Foundational understanding of MCU architectures and peripheral integration
- Solid knowledge in electrical engineering and DSP
- Ability to interpret electrical schematics and datasheets, along with proficiency in using lab equipment
Benefits
- An opportunity to change the world and work with some of the smartest and most talented experts from different fields
- Growth potential; we rapidly advance team members who have an outsized impact
- Excellent medical, dental, and vision insurance through a PPO plan
- Paid holidays
- Commuter benefits
- Meals provided
- Equity (RSUs) *\*Temporary Employees & Interns excluded*
- 401(k) plan *\*Interns initially excluded until they work 1,000 hours*
- Parental leave *\*Temporary Employees & Interns excluded*
- Flexible time off *\*Temporary Employees & Interns excluded*