You listed stuff that only affect yourself when you screw it up. But when you build systems for others (read: paying customers) you have to make sure you do your very best. And when it comes to cryptography 99% of developers are better of using well established technologies instead of brewing their own.