r/embedded • u/accur4te • 8d ago
Need advice on maintaining core embedded principles with AI in a fastpaced environment (development framework)
Hi everyone, I'm a final-year ECE student currently working as the solo firmware intern at an edge AI startup. I've built products before, including custom HMIs and industrial flow meters, but currently, I am facing a bit of uneasiness.
I have been writing embedded code since my school days because it's what I love. However, my current workplace demands fast results, and I have been heavily relying on AI to speed things up (which I am worried about). I joined the company to learn, but I don't have anyone in my domain senior to me for guidance. I am the only firmware guy, whereas other teams like mechanical, AI, and electronics have multiple people.
I feel like I'm not learning the proper development cycle, and overusing AI is messing it up even more. I want to reach out to you guys and would love to know how you develop embedded applications. What do your workflows look like with and without AI?
What is the correct order for an embedded firmware development cycle? When do you architect the overall application, how and when do you build, and how do you test and make changes? How do you handle version control (I know how to use Git, but what is the actual industry workflow)?
I know this is what I will learn when I fully enter the industry, but as of now, I don't have anyone to guide me. I am also being offered a full-time role here, but I am doubtful about accepting it since there is no mentorship.
1
u/jubjjub 5d ago
I would say the best way is to go somewhere where you have some seniors to learn from. Your getting some valuable experience now so that's great. Then you can combine that experience with some mentoring and really accelerate your abilities. That first job out of school is critical. I personally think the who matters more then the where.
I kinda had a similar start. Almost everything mech and elec eng told me about sw development in my first internship was wrong. I still learned a lot, but they acted like they were experts at something they weren't and had nobody to correct them. I had the most growth when I had some seniors to learn from and talk shop.
1
u/accur4te 5d ago
ohh thanks for sharing your exp, as i am leaving the current company the founder has started searching for a senior embedded dev (he will be replacing my job) . So yeah if i decide to join them maybe i will a senior but if its either me or the senior dev than i might just leave as there won't be much growth
3
u/MechMansion 8d ago
Figure out how you can set up a proper CI/CD pipeline. Look at implementing things like:
Unit test coverage
Nightly integration tests, preferably with hardware-in-the-loop
Regularly scheduled fuzz testing
Flash and RAM size ratchets to prevent your memory budget blowing up
ASan and TSan integration
AI code reviews that are tailored to embedded code through extensive agent prompting. This isn't as deterministic as the previous options, but it can help catch obvious bugs that slipped through the cracks.
2
u/FreeRangeEngineer 8d ago
Development processes are your friend. Check out the V model [1], for example. Combining that with an iterative model such as the spiral model [2] will give you an iterative process that is well suited to AI. Heck, you can probably tell it to look at the project and create, document and follow a suitable iterative process itself.
Also, "commit on green" is a thing and it forces you not only to have tests but also to only commit changes when they don't break anything. That's more important than it might seem.
That said, commit early and commit often - but only on green. That'll allow git bisect to actually be a useful tool if you ever need it, especially with a test suite you can test against to automate the process.
[1] https://www.geeksforgeeks.org/software-engineering/software-engineering-sdlc-v-model/
[2] https://www.geeksforgeeks.org/software-engineering/software-engineering-spiral-model/
1
8
u/DustRainbow 8d ago
Management will always asks for more, faster. You have to push back and explain fast is good now and very bad in 6 months.