I was in exactly your position. Mediocre high school, a few years of a programming job. In my case, I chose a community college followed by a state school followed by a new job.

The choice to go to school is debatable, depends on your money situation. Out of the five years it took me to get my Computer Science bachelor's, I had only about ten really worthwhile classes. The rest just seemed like going through the motions. I think it would have been different if I had picked a different major.

On the other hand, I met my wife and made some of my best friendships at school.

When I think back I consider what I might rather have done instead: build a start-up company, or travel. But both of those would require money that I didn't have, so school (for which I could get loans) was the best choice for me at the time.

If you go:

Community college wasn't the cutting edge of academics, but it was cheap and helped me make the transition. (Read: I had trouble with motivation and getting to class on time, and those mistakes are easier to deal with at a cheap community college.) Get your GPA up and then you'll have your pick of good-quality state schools. High enough and you won't have to pay for them.

I don't regret choosing a state school after that. I'm happy I didn't rack up more student loan debt.

Don't overload yourself with credits. I regret doing so. Take a moderate load and do something interesting with your extra time. (Like your personal programming projects and experiments. Or do research as an undergrad.)

Don't major in computer science. I regret doing so. Major in something "cool," a natural science like Physics or Astronomy, or something you can really sink your brain into like Mathematics or Philosophy, or something that's not easy to pick up as a spare time hobby like electrical engineering. Or any other "real" subject that interests you. Take interesting computer science classes as electives. Minor or double-major in it if you want. You can teach yourself the same amount from a book, and your future employers won't care what your major is in, if you can demonstrate that you know what you're doing. Plus, having some science under your belt can lead to an awesome career of discovery, instead of being a cubicle monkey re-writing back-end software for a greedy bank or telecom company. (Burnout all over again.)

If you're anything like me, and this is my number one regret about school: go to the fucking gym at least three times a week. Doesn't matter if you look great or not: It's free and it's good for your brain. I stopped going to the gym in school citing "lack of time" and slipped into an unmotivated depression that almost ruined my school, my marriage, my basically everything. Do whatever it takes to stay active. I wish I could go back in time with a baseball bat and knock some sense into myself.

After school, if you took out loans to go, you're a slave until you pay them off. If you do the above without failing, you'll get a decent job. I recommend making the minimum payments, live frugally until you build up a savings account. It might be cheaper in the long run to pay the loans off as quickly as possible, but then you don't have the ability to quit a job if you burn out again, and coast or travel the world for a bit.