Learning yourself will make you a better problem solver. Researching answers as to why things don't work rather than being told exactly what do it. (Kids these days are lucky, sure I was 12 in 1994 when I started to learn, but I didn't use the internet until 2000!)
Learning yourself may however direct you into bad practices and doing things the wrong way. Whilst there are often many ways to achieve success with code, some of them are technically incorrect. I've seen this a few times in my career.
The absolute best way to learn is from people that are better than you - that is, become a junior developer in an agency that has multiple middleweight and senior developers. I did teach myself BASIC, I did go onto QBASIC during a subject that included programming at school (the teacher only knew RM BASIC, didn't have a clue what I was doing), I did formally learn (the basics of) C++ at university. I do have a degree. And it really bugs me when I see job adverts asking for developers to have a degree and experience - a few years experience alone is worth much more than a degree.