Além das respostas já dadas, uma das melhores maneiras de começar é aprender com um aplicativo simples e onde o código fonte está disponível.
É aqui que repositórios sociais como o Github brilham. Um lugar incrível para procurar exemplos. E quando você encontrar um, você pode bifurcar imediatamente como você mesmo e fazer o que quiser com o aplicativo, assim que tiver:
- você pode executá-lo
- ajustá-lo aqui e ali e ver como as coisas mudam
- à medida que você se sente mais confortável, faz alterações maiores
- você logo descobrirá que está realmente aprendendo
Outra opção é usar as implementações de referência de exemplo clássico que estão documentadas em tantos lugares diferentes. Por exemplo, o framework Spring do Java usa o venerável exemplo "Pet Store". Acho que você pode encontrar esse exemplo no Github.
Outras estruturas / tecnologias, como a estrutura Grail do Groovy, usam outros clássicos, como um aplicativo Book, para persistir e visualizar livros e autores, etc.
A opção final que eu tentei é seguir um bom livro de programação e começar a digitar os exemplos manualmente e colocá-los em um repositório como o Github; isso tem pelo menos dois benefícios: 1) existe uma referência para você com suas próprias anotações que o ajudará a se lembrar de coisas legais de uma maneira que você se lembrará e 2) se você enfrentar situações difíceis, poderá facilmente conseguir amigos ou colegas para veja seu código e entre em contato com conselhos.
A ciência e especialmente a programação são realmente construídas sobre as experiências de outras pessoas. Figurativamente falando, copiar / colar e depois ajustar até você entender é o que ajuda os desenvolvedores a se tornarem engenheiros.