the reason beginners are usually cautioned against writing their own programs is they generally make 2 mistakes:
-only training their chest and arms
-copying the ludicrously high volume approach of a professional bodybuilder
Both are bad for obvious reasons, but if you're not a complete idiot about it then there's no reason why you can't design your own program.
Being a massive narcissist, I shall use myself as an example:
-I am a very torso-dominant lifter, in that I get much more activation of my torso muscles than my limbs on upper body compounds, so I need to program more arm work.
-My lower back sucks huge dicks so I need to be mindful of exercises that won't put a lot of stress on my lumbar spine
So those two considerations (and there's loads more I'm too lazy to type) mean that a pre-written program that was heavy on spinal loading exercises (like squats and deads) would bury me, and if it didn't have much in the way of arm and shoulder isolation work that's not going to get me to where I want to go.
When you write a program, you need to be mindful of your goals and the ways that you, specifically, will need to reach them. You also can't be a dick about shit you hate. I hate core work so didn't do any for years and paid the price on several occasions.
But the best thing about writing your own routines is it's fun! Trying shit out, sticking with what works, getting rid of what doesn't. Lots of fun.