I've worked as the lead network architect for a large ISP, as a developer and then lead developer of a network security tool, as a security researcher (I have a pretty decent cite record and a fun list of universities with courses that have taught papers I wrote), as a 2-time startup founder, the first of which was VC-funded, as a lead developer for a large-data Internet backbone monitoring system, and as a product marketing manager for several years. The shortest of these roles was 2 years; the longest 8 (and counting).
No. You do not need a degree. Early on in my career, I was asked for my GPA and then my SAT scores, by HR, after passing a job interview on Wall Street; I declined to continue the process. I've walked from all similar requests ever since. Not only do I think it hasn't cost me, but I think it has also helped me, by keeping me out of jobs at companies that suck.
If you're going to skip college, be very serious about your craft. Opt for difficult jobs. Tune your career so that you are always on the verge of being overwhelmed. Read like crazy; particularly, read papers, not blog posts. Learn a systems programming language and a functional language, then stop with the languages and start building things from papers. Be careful about getting wedged into things that are just barely programming, like CRUD web apps and iOS design. You can do good work in those settings, but the median project is (technically) boring. You know something is going wrong when you start promoting your unit test or A/B testing tools.
Watch out for IT. IT for people without a degree is a trap.
Consider staying in school long enough to pick up math. Math didn't matter much in my first 10 years or so, but it matters a lot to me now, and doing it on my own is a slog. I would pay a lot of money to be taught serious linear algebra and calculus instead of hacking and slashing my way through the subject on my own.