Relay
Raleigh, NC
Software Engineer Intern - Device Team
We tailor your resume to this role and apply for you in seconds.
Apply to Software Engineer Intern - Device Team at RelayJob details
- Location
- Raleigh, NC
- Work type
- Onsite
- Posted
- 2 days ago
- Apply on
- job-boards.greenhouse.io
About this role
## Job Overview
This internship offers a chance to build technology that matters — products that directly empower frontline workers. You'll collaborate with engineers in a high-growth environment, working on custom communication devices at the heart of the Relay platform, from application-layer features to deep OS and hardware integration.
Interns will gain hands-on experience across the full device stack, from Android application development and OS-level systems programming to embedded firmware and Linux hardware interfaces — contributing to a product that ships to real customers every 6 weeks.
Summer interns are expected to work full-time in-office during the summer in our amenity-rich, world-class headquarters in Raleigh, NC.
We work with a diverse set of languages, including C, C++, Java, Kotlin, Rust, and Bash/Python. Our devices run Android on custom in-house hardware, and our development environments are Linux-based. Our culture is based on Impact, Team, and Learning.
## What You Will Do
You'll work on product development for Relay's custom communication devices — Android-based hardware designed entirely in-house. We own the full stack, from hardware to software, and ship updates to customers approximately every 6 weeks. Depending on your background, you'll contribute across one or more layers:
- Android — fix bugs and build new features spanning application development (Kotlin, Java) and OS-level programming, which may touch the Linux Kernel, Java-based frameworks, shell scripts, or C/C++/Rust daemons
- Linux OS — work below the Android layer on operating system tasks and hardware interfaces
- Embedded systems — develop new embedded products or microcontroller firmware that runs inside or alongside existing Relay devices
## What You Will Bring
- Currently enrolled in a Computer Science or related technical field with a GPA of 3.5 or above.
- Strong proficiency in C, Java, or Kotlin. Android/AOSP systems programming experience is a plus but not required — if you're a solid developer with a Linux systems background, you can learn Android.
- Or experience in embedded systems programming — e.g., NRF or ST-based products running Zephyr, ThreadX, or Linux.
- Or experience programming Linux at or below the POSIX API layer, typically in C/C++ (Rust experience is increasingly relevant as AOSP adopts it).
- Or solid experience with scripting languages such as Bash, Python, or similar.
- Familiarity with IP networking concepts (HTTP, TCP/UDP sockets) is preferred.
- Comfort with desktop and server Linux distributions — our development environments and internal tooling are Linux-based.
- An analytical, methodical approach to problem-solving.
- Strong communication skills and a habit of documenting what you build.
- Ability to manage multiple workstreams and self-prioritize.
- Exposure to Agile development practices.
- Genuine curiosity and drive to learn.
Ready to apply to Relay?
ApplyBolt finds matching jobs, tailors your resume, and submits applications for you.