To follow on from what instanceOfTom said, which I would agree with, until you have a formal education in software engineering from a top-flight university, you do not appreciate what you did not fully understand before.
I went to Imperial, London (which if you've not heard of it, is rather like the UK/European version of MIT (see general rankings, though it is top for Computing in particular over the other european institutions)). As I started coding when I was 7, the knowledge I went in with was substantial, indeed I knew the majority of the first and second year syllabus in advance which made things much easier. However, I did not know them half as well as I thought I did and as someone with a strong background, I was able to absorb the true depth of the material, rather than coming fresh to the concepts put forward. This is a key point of mine, a really good professional education benefits an already competent engineer to a greater level than someone who is less experienced and might 'need' to do the course more.
Be aware you will need very strong mathematical skills. As someone who is responsible for recruiting decent software engineers, I am never endingly shocked by the poor mathematical skills of some programmers, particularly the self taught. The degrees will have many mathematical courses on offer, there is a good reason for this.
The web-end of programming can be very simplistic, it is not by any means always so, but quite often is. There is a huge difference between being able to produce good mark up and being able to write a compiler or the lower levels of an OS for instance. It is one thing to be able to put a JPEG in the right place on a page, it is another to understand and be able to replicate the compression algorithms that create them.
The quality of the university makes a huge difference to the content of a "software engineering" degree. At the lower end, it will be making web pages, being taught Java, C#, how to use Excel properly. The top-flight universities will not teach you languages, well not for more than a few minutes. They teach you the fundamentals of the different tools of the trade, exposing you to the types of language you will encounter and when to use them, more importantly the concepts of algorithms, how to form them, apply them to logically breaking down the issues at hand. In short, they train you to be a scientist and an engineer; not an advanced computer operator.
Whether you yourself need to attend university to further your knowledge is a matter for you to decide. It should be made on your knowledge of your own capabilities, your interest in the subject matter (which is not going to be primarily web technologies at a good university) and the career needs of such a large temporal and fiscal investment.