The use-cases for smart contracts seem to be quite low, so I wonder if it really is worth the investment to learn to develop smart contracts. Additionally, even the smart contracts written by the experienced ethereum developers have contained bugs, resulting to losses of tens of millions worth of ethereum. To me it sounds like it is much smarter to use some pre-existing smart contract which is used by many, instead of making your own. However if you really have a new idea for smart contract then you could learn the language.
"To me it sounds like it is much smarter to use some pre-existing smart contract which is used by many, instead of making your own." This is exactly how the last "big hacking" had happened https://qz.com/1034321/ethereum-hack-a-coding-error-led-to-3...
But as you said writing your own is also error prone.
How about taking some existing smart contract, and also reviewing it also carefully? If it is used already by lots of users, people have already trusted it with their money.
I'm pretty sure that developing your own has much, much higher risk than using some pre-existing solution.