I'm trying to be a little more intentional about it this year. They'll have access to both our group and the small group that does web facing front end stuff. So the web UI guys will have to do what they want with them. I do all of the other stuff (from Elixir APIs to embedded C on microcontrollers to native apps to embedded Linux). More than coding C, Elixir, Python, Kotlin, Swift though, my first inclination is to expose them to as much Linux as I can. We run multiple servers and develop a product that runs embedded Debian on a small SBC. Knowing Unix decently has been one of the most transcendental skills for me over the years.
What types of experiences would you try to create for a relatively inexperienced intern in such an environment?
Normally I encourage people to use it with a cloud provider, but based on the environment you're describing it might actually be more fun for them to build it from the ground up.
People talk about this being a herculean task but it's really not so bad if you follow a guide like Kelsey Hightowers or even just the standard docs and you'll learn a lot along the way.
Once they have the Kubernetes cluster they can package up apps into containers and deploy them into the cluster or build interesting custom resource definitions which also turns out to be easier than it sounds.
You may find what they build is an interesting prototype for future infra of your own. I find kube to be quite a nice platform to work with.