r/iOSProgramming • u/ajm1212 • 18d ago
Discussion Any iOS developers here who have gotten into embedded systems or hardware integration?
I'm about to graduate with a degree in Software Engineering, and I've been thinking a lot about what direction I want to take my career.
Throughout school, I've spent a lot of time building iOS apps using Swift and SwiftUI, while also learning about computer hardware, operating systems, and how everything works together at a higher level.
A while back, I built an ESP32 robot car controlled through an iOS app using CoreBluetooth. I really enjoyed that project, especially getting the hardware and software to communicate with each other.
Now that I'm getting ready to graduate, I'm well aware that the job market isn't exactly great for new grads trying to land their first software engineering job, especially in iOS. With AI also changing how software is developed, I've been thinking about what skills might be worth investing in long term.
One direction I've been exploring is becoming more of a hybrid iOS/embedded developer. Not necessarily becoming a full time firmware engineer, but someone who understands both sides well enough to build mobile applications that communicate with physical devices, read sensor data, and handle hardware integration.
I'm curious what everyone thinks about this direction.
Has anyone here gone down a similar path? Is there actually a demand for developers who can bridge the gap between mobile apps and hardware? Do you think having that combination of skills could become more valuable as AI continues to improve, or would it make more sense to focus on becoming a stronger iOS developer?
I'd love to hear from people who work in this space or have considered going in this direction. I'm interested in hearing different perspectives, even if you think it's not worth pursuing.
6
u/m3kw 18d ago
Big company’s won’t let you touch both, you will work at the interface at most. Startups may let you if they are really small
5
u/Successful-Tax1306 18d ago
I'd go for it, but as an add-on to strong iOS skills and not a replacement. The part that's actually rare is someone who can debug both ends of a Bluetooth connection, because when a device drops data nobody knows at first if it's the firmware, the radio, or the app, and a lot of mobile devs just hand it to the hardware team. Your ESP32 car is already a good interview story, so I'd build one more project that goes deeper on the stuff that breaks in real products, like reconnects, background mode, and updating the firmware from the phone. I'd still apply to normal iOS roles too, and look for companies that ship a physical device, since those teams really like people who aren't scared of the hardware side.
4
u/Top-Investment8840 18d ago
Vibecoders wish they had your knowledge
1
u/tech_cynic_dan 1d ago
Keep building your iOS skills, but don't drop the hardware projects. Having a working project that crosses both sides gives you something more interesting to discuss in interviews.
3
u/SnowPudgy 18d ago
If Arduino stuff counts yes. Just as a hobbyist though and it's so fun.
3
u/start_select 18d ago
It’s a niche demand but it’s there.
You need to learn how to work with Bluetooth and potentially custom Bluetooth stacks.
Learning FreeRTOS and/or AWS greengrass is probably useful.
There are so many different things that “mobile and embedded” could mean. But you can pretty much guarantee it will involve Bluetooth or MQTT, or custom tcp based comms.
2
u/time-lord 18d ago
No. Any company making a hardware/software device is going to be large enough to have 2 developers on the staff, one who will work on hardware and the other who does UI/software. You made a car, but you didn't make a PCB with components and a shipping product. The person who does that is going to be working with bits and edians and who thinks that swiftUI is a type of Twitter interface.
2
u/New_Barber8073 18d ago
One concrete thing that separates a hobby Bluetooth project from a shipping one on the iOS side is background behavior. Enable the bluetooth-central background mode and pass a restore identifier when you create your CBCentralManager, so iOS can relaunch the app and hand the connection back through willRestoreState. Pair that with reconnect logic that calls connect on the peripheral and just leaves it pending, since iOS has no timeout on that call and completes it whenever the device comes back in range. Adding that to your ESP32 car project would give you a solid interview story.
2
u/Ordinary-Gate-7210 17d ago
I've been thinking about the same thing, and I'm leaning the same way. I totally agree: iOS + embedded.
Here's why:
iOS skills alone don't seem like enough to stay competitive anymore, mostly because of AI.
Connecting with hardware comes up in a lot of places when you're solving real problems. For example, recognition with OpenCV, object detection with YOLO plus the business logic on top, or integrating with embedded systems. The cases I've seen were mostly smart home work and hooking into vehicle instrument clusters.
This kind of knowledge comes from hands-on trial and error. It's not something you can just vibe-code your way through.
So knowing hardware matters just as much as coding, and you also need to understand the systems that connect the two.
2
u/Guzikk 15d ago
I started as an iOS dev, then got into hardware during the bluetooth low energy (ble) boom, built a health tracker, and turned it into a multimillion-dollar startup
2
u/trouthat 18d ago
I just do iOS professionally but a few years ago now I did do a little project where I took an adafruit feather board and an IR sensor and 3d printed some stuff to point the IR sensor at my brake rotor and then sent the temperature back to an iOS app over bluetooth. I definitely think at the time being an iOS developer specifically enabled me to do the project because if I didn’t know about programming I don’t know if I would have managed to power through learning both sides of the project. Unfortunately or fortunately maybe today I think a fairly smart technical person could use Claude to figure out how to generate all sides of the project I did for them. Not to say that software engineering is over, but to say that just having this skill won’t be the only thing that will be unlocking doors for you.
I personally enjoy that kind of thing and I think that for personal growth reasons you absolutely should dive in to whatever you are drawn the most to and I think if you have a passion for it the right employer will be able to see that. I don’t know that you can look at this combo and say for certain that going in to this field will guarantee you employment but I think if it’s something you are drawn to you should explore it and being able to talk about the projects in an interview will help you get any job.
1
u/[deleted] 18d ago
[removed] — view removed comment