The other responses are great. But one meta point I think is worth making. Don't overestimate how much competency you gain from just getting a CS degree. Lots of people coasted their way through undergrad without internalizing a heck of a lot. The fact that you are motivated to go out and get knowledge puts you, IMO, at a great advantage.
My background: I did a BS in CS/Economics but spent most of my time playing online poker and skipping class. I managed to get a job I love on mostly potential, and I've had a great time re-learning all the stuff I was superficially exposed to but didn't work that hard at.
The most important thing is caring about what you do and taking ownership over your own development.
Education will not teach you anything, but it will give a great opportunity to learn. Many will simply learn enough to get through exams and then promtly forget everything again.
You will also get introduced to concepts and areas you would never even think of exploring otherwise. I thought graph theory sounded boring, but now I enjoy it. Formal languages and automata theory? Physics? Electronics? Hardware design? These are topics I would never have explored if it wasn't for going to university.
Artificial intelligence, compilers and operating systems are topics I probably would have explored, but I sincerely doubt I would go as deep as I have.
Also do not underestimate the effect deadlines can have. Procrastination is a constant evil in my life somewhat negated by school forcing me to do things.
This is why I am considering the BS. I already had the college experience at Penn State. Meaning parties, friends, girls, football, etc. This time it would be purely about going to class and learning. I bet I wouldn't even have to do Gen Eds since I already have a BS.
I think the marginal benefit of a second BS-level degree is small given the cost in time and money.
If you're going back to school then you should definitely consider an MS. Maybe you're worried that you wouldn't be accepted or that it would be too challenging? In that case, narrow down a list of universities/departments where you would like to enroll, and identify what you need to study in order to get accepted.
Alternatively, teach yourself, and try to join a top tech company that focus on making the kind of software you're interested in. Working with great programmers has a large impact on your learning. Perhaps you're underestimating this impact because your first job wasn't challenging enough.
This is very true, having been exposed to something 10 years ago to a sufficient level to score 50% on an exam paper is very different from having an applicable knowledge.
My background: I did a BS in CS/Economics but spent most of my time playing online poker and skipping class. I managed to get a job I love on mostly potential, and I've had a great time re-learning all the stuff I was superficially exposed to but didn't work that hard at.
The most important thing is caring about what you do and taking ownership over your own development.