Recently, we saw someone asking a developer on social media how he could find a job in programming without any experience, where he could learn while being paid.
There are many things wrong with this idea. All business relationships should be an equal exchange of value. In a case like this, the employee would be reaping all the benefits without offering the company anything in return. As a result, I'm doubtful this situation would work out. After all, you would never ask an experienced programmer to work for free for your company.
So, I jumped into the conversation and said that maybe if they believed in themselves, they could offer to work for free for the first few weeks. This would show the potential employer what they could bring to the table. Keep in mind that for this person to learn while working, it would require a lot of time invested by the employer. The responses my answer received were quite brutal: never do free work, they'll abuse you, and so on.
Thankfully, the original poster supported my advice. He got offered a trial position without pay, grabbed it, and two weeks later, his boss acknowledged his capacity and offered him a paying job! And today, I can tell you he got that money back tenfold, as he now works for us!
The moral of the story is if you want to become something and you don't have the experience, there is always a way, even if it seems unpopular. It's up to you and you alone to make it happen. If you go to school to learn, you'll have to pay tuition, work long hours, etc. Some people are against the above idea, but I feel it's no different than going to school.