You're right,
for the first part (waking up), dreaming and programming are the opposite, but
for the second part "let them know you are there but say nothing until they are ready", "If someone wakes you out of bed and starts shouting a long list of things at you to remember, you’ll almost certainly forget what you were dreaming", both are similar (you need time to transfer your dream/task from short term memory to longer term memory, otherwise, you get a short term memory overflow ^^)