ИМХО, если вы из "смежной" сферы - системный администратор, дизайнер, копирайтер, тестировщик, верстальщик и т.п. начать конечно будет проще.
Самостоятельно изучить языки и пользоваться можно. Просто надо понимать, что программирование это ведь не только и не столько синтаксис. Это математика, абстракции, алгоритмы, сетевые протоколы, базы данных, среды разработки, фреймворки, регулярные (будь они неладны) выражения, страшная черная консоль, обязательный английский язык и даже банальное умение правильно гуглить.
С полного нуля (например если вы обычный водитель или продавец овощей + в школе прогуливали информатику и вам 40+) и все постигать самому не то, чтобы совсем уж нереально, но просто нерационально долго. Хотя и такие люди бывают.
Как воспримут это ваша семья и работодатель? Надо четко понять, дадут ли вам хотя бы 2-3 часа ежедневно СПОКОЙНО втыкать в монитор?
Потребуются бескомпромиссная мотивация и железное самообладание.
... вот фрилансом не занимался, ничего путного не скажу)
У меня свободного времени от 8 часов в день. В монитор спокойно втыкаю по 12 часов)