I presume that you have at least some vague idea of what you want your program to do. If not, maybe a good random writing prompt generator can help.
But if you do have something in mind, I usually start by thinking about how I'm going to store my data. That goes hand-in-hand with thinking about how to break up the top-level tasks into individual functions and sub-functions. Those two processes tend to feed into each other, and before I'm aware of it, I've got a basic framework hammered out, at least in my notes.