Considera la possibilità di programmare una soluzione per qualcosa per cui desideri una soluzione, qualcosa che ti motiva a scavare nel problema e a risolvere i problemi di sviluppo del software e qualsiasi altra cosa accada. Pensa a qualcosa di utile / pratico per te o per qualcuno che conosci.
Non deve essere complesso. E se un programmatore esperto sarebbe in grado di risolverlo in 15 minuti, a chi importa. Imparerai a decidere come utilizzare il linguaggio di programmazione, a configurare un ambiente di lavoro per quella lingua, a iniziare a scrivere il codice, a testare e renderlo utilizzabile per qualcun altro.
Se non hai esperienza con le GUI di codifica, l'unittesting, i database ecc. Lasciali fuori per ora. Crea una versione da riga di comando del tuo programma. Usa le dichiarazioni di stampa per tenere traccia di ciò che sta accadendo a casa su dove le cose vanno male.
Leggi i tuoi dati da un semplice testo, quindi puoi usare un editor per creare l'input per il programma.
Se conosci un po 'di elettronica: pensa di fare qualcosa con un Arduino. Recentemente ho implementato un telecomando per un waterpump usando SMS con questo. Ho fatto il codice per oltre 25 anni ma è stato divertente e soddisfacente avere un programma che faceva qualcosa di concreto come rispondere ai comandi del mio telefono. Il divertimento è un grande motivatore per completare il progetto e renderlo un'esperienza di apprendimento utile. Se il progetto è semplice o meno, importa molto.
Se non hai mai usato un sistema di controllo di revisione, non hai sudato: fai copie del tuo progetto (fonte, dati) su backup_00, backup_01 ecc. Quindi puoi tornare a qualcosa che ha funzionato, una volta che hai sbagliato (lo farai) .
Per qualsiasi elemento di sviluppo del software c'è always una soluzione migliore, anche se l'hai già migliorata. Trovare l'equilibrio su dove smettere di migliorare è una cosa di esperienza. Per ora non preoccuparti di miglioramenti ed efficienza, cerca solo di fare le cose. Imparerai a migliorare lungo il cammino.
Se conosci qualcuno che può e ti vuole aiutare quando sei bloccato, chiedi loro se sono disposti a farlo. È una cosa evolutiva umana sentirsi soddisfatti come esseri umani quando si collabora (e ciò produce risultati positivi nel sito Web di stackexchange). Se non conosci nessuno, vedi se c'è una vivace comunità online, dove ci sono persone che sono disponibili ad aiutare.
Alla fine dai un feedback su come sono andate le cose per te. Qui o dovunque hai chiesto aiuto.