Depending on where you want to land a job, and what type of software you want to program, you may or may not need a degree. For example, if you want to land a job as a software developer at IBM, you'll probably need a degree. (The work itself doesn't necessarily require a degree, but IBM tends to hire degreed people.) You'll also need a degree if you want to do any hard-core graphics programming.
However, there are a lot of other types of programming jobs out there for which a college diploma will suffice. A college diploma will also cost a lot less money, and you'll be able to complete it in a lot less time.
Your best bet is probably to look at what kind of jobs are out there now and identify which ones appeal to you the most. Once you've identified this, look at the requirements that these jobs list. Do they want a degree? Will they settle for a diploma? Job ads sometimes say "degree or equivalent experience", which usually means that as long as you can demonstrate you'll be able to do the job competently, they don't care whether you have a "B.Sc" after your name.
Good luck, whatever you decide to do.