Software Engineering Intern
Build backend services and observability tooling for a large-scale edge and IoT platform, while debugging Linux devices and unreliable networks. The internship is suited to students with programming fundamentals, Linux familiarity, and interest in embedded systems, networking, or hardware.
About the job
Responsibilities
- Design, build, and ship a summer project that solves a real problem for the Edge team, with mentor guidance.
- Write backend services in Java that interact with thousands of on-premises devices.
- Flash, configure, and debug Linux-based edge devices, including systems operating over unreliable networks.
- Build tooling to improve fleet observability and remotely diagnose hardware and connectivity issues.
- Participate in code reviews and design discussions with the engineering team.
- Learn how production IoT systems using LoRaWAN, BLE, and cloud services operate at scale.
Requirements
- Currently pursuing a degree in Computer Science, Computer Engineering, Electrical Engineering, or a related field.
- Solid programming fundamentals in Java, Python, or another object-oriented language, with willingness to work in Java.
- Familiarity with Linux and comfort using a terminal.
- Curiosity about networking, radios, embedded systems, or IoT; coursework and personal projects count.
- Demonstrated willingness to tinker, build projects, or troubleshoot difficult problems.
- Clear communication skills and eagerness to ask questions.
Nice-to-Haves
- Coursework or projects in embedded systems, networking, or RF communication.
- Experience with AWS or another cloud platform.
- A project involving Raspberry Pi, Arduino, a microcontroller, or home automation.
- Interest in healthcare technology or building for underserved users.
Compensation and Benefits
- $50/hour.
- Internship roles are not eligible for the standard employee benefits package, including health insurance, stock options, and PTO.
- In-office culture with up to two remote days per week.
Skills
Java, Python, Linux, Backend Services, Object-Oriented Programming, Iot, Embedded Systems, Networking, AWS, Lorawan, Bluetooth Low Energy, Rf Communication, Raspberry Pi, Arduino, Microcontrollers
Similar jobs
Backend Engineering jobsBuild large-scale search infrastructure, crawling systems, and vector databases as an engineering intern. The role requires current technical study, full-time in-person availability in San Francisco, and experience with a high-performance language such as C++ or Rust.
Build and operate mission-critical distributed backend systems that manage ride fulfillment state transitions, integrating new rider and driver products while improving reliability and performance. The role requires 2+ years of software engineering experience, cloud expertise, and knowledge of distributed systems and databases.
Build and scale high-performance backend APIs and real-time data-processing systems for fraud detection. The role requires at least 2 years of backend experience with Go and/or Node.js, plus expertise in scalable systems, APIs, databases, and microservices.
Supports development of secure, scalable data movement and distributed systems across hybrid cloud and ground-station infrastructure. The internship is intended for a current computer science or software engineering student with programming and networking interests.
Build and maintain backend services, APIs, and data pipelines supporting a mission-critical flight safety platform. The role requires at least two years of backend experience or equivalent project-based experience, with proficiency in a modern backend language.