Тут порешай для начала все задачи, что предлагают. Если тебя будут всегда выбирать лучшим, то значит тут ты гуру и можешь поработать дешево на fl.ru или подобном. А там видно будет, все же зависит от твоих умений. Хотя если ты говоришь про профессию, то это годами. Во всяком случае для обучения есть всякие подобные школы программиста acmp.ru и если ты там тоже прорешал, то видно только делать курсовики студентам, а следующий этап дипломы или прежде им лабы не дорого. Тогда ты будешь знать то, что умеет обычный студент вуза... ну примерно. И вот тогда может че на профессиональном уровне возьмешься и сам сделаешь.
Находишь незаброшенный opensource проект по душе, смотришь что там просят пользователи этого проекта, берёшь и делаешь (Это не работа считается, это так, хобби. Но опыт на таком хобби набрать можно)
Начинающему программисту надо прежде всего учиться. Ты не указал совою специализацию: какие языки знаешь, какие технологии, какие фреймворки и библиотеки. Если знаний нет, то ты не можешь работать даже за бесплатно. Если знания есть, то можешь найти работу за небольшую зарплату. Посмотри вакансии по языку программирования, на котором хочешь работать, какие там требования. Твои знания должны соответствовать этим требованиям (конечно, кроме стажа).
Если на рынке для новичков совсем нет предложений, запишись техником-лаборантом в к-нидь научную лабораторию. При хорошем раскладе втянешься в тематику и найдёшь себе применение как кодер. ЗЫ профессия без образования - хобби.
"За бесплатно" не работай никогда. Получается, что ты не ценишь свой труд и не считаешь себя полезным. С таким подходом ни один вменяемый HR тебя не возьмет. Просто ищи любую работу, где не требуется опыт. Удачи.