Acho que tudo tem um começo, trabalhar prestando serviços para clientes ou trabalhar como funcionário em uma empresa é a maneira mais simples de ganhar dinheiro com programação, vc vai troca a sua hora por dinheiro.
O próximo nível seria esse que você mencionou, desenvolver e vender o software para o cliente final invés de vender sua hora. Vale mencionar que não é tão simples como parece, tem várias outras coisas que vai precisar se preocupar como marketing, vendas, prospecção e várias outras coisas, não é apenas programar.