Since infrastructure is a crucial part of companies and has little wiggle room for error without impacting a lot of users, how does one gain experience? I find devops and infrastructure to be interesting, and involves a lot more critical thinking than regular application programming, but it seems every job opening for it requires at least some if not years of experience. I'm currently an applications developer (full stack).
Experience is critical because making mistakes ends up costing a lot of money. Bad architecture decisions can have huge impact upon throughputs, etc.<p>Based on my experience, the best way would be to get a job at a medium size systems integration firm. Your ability to write scripts etc might get your foot in the door. Then you would have to learn fast from the experienced infrastructure engineers.<p>Of course, you will also need to read a lot and learn a lot about LAN, WAN, SAN, VPN, DNS, firewalls, virtualisation, cloud, etc, etc.
Have you setup a network of computers at home? Do you run & manage a server somewhere (could be VPS, colo, or at home) with common services like SSH and VPN?
There are a few jobs that you could do right now that would provide you with some exposure such as migrating apps to new servers. Make sure to get friendly with your current infrastructure team. Learn to set up servers (vagrant + configuration management are great for this).
At my work we have a Devops Hour class that covers high level topics, typically has take-aways and homework if you want to do it (with a fabulous prize so yay incentive). I would say setting up a server and deploying your apps to it would be a useful exercise.