Keep this page pinned as you will use it often - https://docs.moodle.org/dev/Data_manipulation_API - Moodle can use several databases so keep the SQL code generic or use one of the SQL compatibility functions.
moodlesite.com/admin/purgecaches.php - if in doubt purge the caches
moodlesite.com/admin/cron.php - to run the cron manually
moodlesite.com/admin/tool/xmldb/ - to grab the code to create/update tables
I would also strongly suggest using the codechecker before committing any code - https://docs.moodle.org/dev/CodeSniffer - this is useful for learning and also improves code quality.
Also have these settings in your config.php during development, not on a production site though.
// Always have debugging on.
$CFG->debug = E_ALL & ~E_STRICT;
$CFG->debugdisplay = true;
// Turn off caching.
$CFG->cachejs = false;
$CFG->langstringcache = false;
// Set this to true when designing but ensure its switched off when not because its very slow.
$CFG->themedesignermode = false;
// Don't send any emails.
$CFG->noemailever = true;
Just some tips
The main developer docs are here : https://docs.moodle.org/dev/Main_Page
Keep this page pinned as you will use it often - https://docs.moodle.org/dev/Data_manipulation_API - Moodle can use several databases so keep the SQL code generic or use one of the SQL compatibility functions.
Avoid changing any core code.
You will likely be developing plugins, here is a list of plugins and where the code should be - https://docs.moodle.org/dev/Plugin_types
If you're just starting out then try developing a simple block - https://docs.moodle.org/dev/Blocks
Then try developing a local plugin - https://docs.moodle.org/dev/Local_plugins
Tools I use often are
I would also strongly suggest using the codechecker before committing any code - https://docs.moodle.org/dev/CodeSniffer - this is useful for learning and also improves code quality.
Also have these settings in your config.php during development, not on a production site though.