Además de las respuestas ya dadas, una de las mejores maneras de comenzar es aprender de una aplicación que sea simple y donde esté disponible el código fuente.
Aquí es donde brillan repositorios sociales como Github. Un lugar increíble para navegar por ejemplos. Y cuando encuentre uno, puede bifurcarlo de inmediato y hacer lo que quiera con la aplicación, así que una vez que lo tenga:
- puedes correrlo
- modifíquelo aquí y allá y vea cómo cambian las cosas
- a medida que te sientas más cómodo, haces cambios más grandes
- pronto descubrirás que realmente estás aprendiendo
Otra opción es utilizar las implementaciones de referencia de ejemplo clásicas que están documentadas en tantos lugares diferentes. Por ejemplo, el framework Spring de Java utiliza el venerable ejemplo "Pet Store". Creo que incluso puedes encontrar ese ejemplo en Github.
Otros marcos / tecnologías como el marco Groovy's Grail usan otros clásicos como una aplicación de libro para persistir y ver libros y autores, etc.
La última opción que he probado es seguir un buen libro de programación y comenzar a escribir los ejemplos a mano y ponerlos en un repositorio como Github; esto tiene al menos dos beneficios: 1) hay una referencia para usted con sus propias notas que lo ayudarán a recordar cosas interesantes de una manera que recordará y 2) si se encuentra en situaciones difíciles, puede conseguir amigos o colegas fácilmente vea su código y repita con consejos.
La ciencia y especialmente la programación se basa realmente en las experiencias de otros. Hablando figurativamente, copiar / pegar y luego ajustar hasta que entiendas es lo que ayuda a los desarrolladores a convertirse en ingenieros.