The school could have done you better, but don't externalize your problems. Most schools' CS degrees won't teach you version control, makefiles or any of that practical stuff. You learn it for fun, incidentally, or on the job.
I was once in your shoes. Same background, same regrettable life choices, same potential future.
If you want to develop, do it. Start by looking at the crap software your company likely pays hundreds of thousands of dollars for and think about how you could do it better. Start by actually trying to supplant it with something of your own creation.
I have a generic degree. All those "practical" things you lament missing out on, I learned by just doing it. But I never had cause to learn what big-o notation was or how to navigate a b-tree...you know, that non-practical knowledge a CS degree would have endowed me with. The lack of such has only stopped me from working at Google. Plenty of other shops are not in the business of recruiting only those who can write the freshest sorting algorithms.
Just don't spend the rest of your life in a job you hate, condemning yourself for being put upon. It takes little effort to invoke large changes.
My CS degree didn't even teach any specific languages. Pretty much every course used a different language. I'll date myself here but I used PL/1, Pascal, Modula 2, C, Scheme, assembly, and maybe a couple of others. None were the explicit focus of the class. The programming language was incidental, students were expected to learn it on their own. And my first job used none of those languages. My next job didn't either. In fact I've never used any of the languages I used in school on the job.
I was once in your shoes. Same background, same regrettable life choices, same potential future.
If you want to develop, do it. Start by looking at the crap software your company likely pays hundreds of thousands of dollars for and think about how you could do it better. Start by actually trying to supplant it with something of your own creation.
I have a generic degree. All those "practical" things you lament missing out on, I learned by just doing it. But I never had cause to learn what big-o notation was or how to navigate a b-tree...you know, that non-practical knowledge a CS degree would have endowed me with. The lack of such has only stopped me from working at Google. Plenty of other shops are not in the business of recruiting only those who can write the freshest sorting algorithms.
Just don't spend the rest of your life in a job you hate, condemning yourself for being put upon. It takes little effort to invoke large changes.