As I get more experienced, the planning time goes up, but it still hasn't reached 30%.
I'm the doer kind. I like to get my hands dirty both figuratively and literally.
Unless I do something no one else did before me, I just read some examples or an actual implementation, and start coding. Well, unless…
There are times when I know the stakes are high. Some design decisions are hard to change later. In those cases I do a lot of planning, analysing possible outcomes, checking with the budget and the other devs. I ask for opinions, look for possible solutions, and so on, which might take days or weeks. At the end of it, the coding part will come so easy it will take a fraction of the planning time.
As you see, this is all a matter of circumstances. If you have the time and budget to experiment, and you are a learning-by-doing type like me, you will experiment a lot.
On the other hand, I know a lot of people who do the opposite. They plan everything down to the smallest bit. Some of them get so tired of the problem at the end of planning they will outsource the coding part to someone else.