This may sound biased (as it's how I make my money) but I would suggest you work on an app, and get someone to help you with the ops, and specifically tell them you want to learn about how things work.
In terms of development practices, I would suggest you ignore things like containers and micro services etc for now.
As a learning exercise try this:
Use something like vagrant, and setup a project with two boxes. Then have your app running on both, but the database (and any other storage processes like Redis, etc) running on just one. You could also do this with a third box just for the database, but that's up to you.
In a real-world situation, the above scenario would be multiple servers hosting the database server, redis server, etc - we're just trying to get you used to "I can't just stick stuff on local disk" without worrying about setting up a working DB cluster.
Make it work regardless of which server you access the web app from.
Hint: Depending on your framework/language the key thing here will be handling user sessions via something other than web-server-local storage.
Honestly I don't think it's bad for a developer to understand the basics of how infrastructure works, and if you're particularly interested it can be a very rewarding field to work in, but for the love of tacos, please don't fall into the trap of thinking "Oh, so I guess DevOps means all developers need to be Ops now".
Happy to discuss further with you, if you'd like.