OH YEAH, emmm, thanks for your replies. OY: it's not for a salary bump, at least not in the short term. I'm already getting 100-120k and I think I'm pretty much maxed out, within my current job title (programmer/writer, which is, of course, technical writing.) The problem is that there is no career path in technical writing -- even the somewhat more flashy kind that I do, that involves some degree of coding.
And, really, I'd rather just be doing software development. I fell into tech writing after the ABD morass; it's a hard profession to move out of.
I have solid programming skills (meaning novice-level, complicated with very wide industry experience). But, at least in that economy, that's not really enough for me to move out of my job title. Without some other excuse (like a new degree), I don't see employers hiring you to do anything except exactly what you've done before.
In an odd way, the work I do almost requires that my programming knowledge remain shallow. The nature of the assignments and the length of the projections I work on usually require that I'm constantly learning some new enterprise-class framework in order to write about it, but I don't get enough time to use it to retain any of the knowledge. As soon as I've learned it, I'm working on some completely different project. So even when I acquire depth, it quickly regresses. (Still in my head, somewhere, I hope.)
Though cold-reading of large large, real-world software projects is not easy, and my ability to do so probably accounts for why I get hired at a decent salary. Still, passive, all too passive.
I want to build my own things. OY: your suggestion about working on a project of my own is a good one. One I've started several times. But with the work hours, and the constant need to move on to the next language/framework/industry domain, I've not managed to keep focus on my own project.
As for learning more on my own, I've spent a lot of time doing that, but the pace is very slow. 50-60 hour work weeks are not uncommon, and with the commute, I usually only have a couple of hours to do anything after I get home. And often I have to do it with an eye towards my next job, and we're back to the shallows, as I'm once again working on learning something new before I have time to learn something in depth.
As I said, I half-known a lot about writing code and software engineering.
So that's why I'm thinking of doing a post-bac program to complete the pre-reqs, and then applying to a CS masters program. It will give me the time to focus on writing code. To truly take advantage of all those frameworks and design patterns that I've half-learned several times over.
Ok: I will have to do my math coursework first. I've tested into the upper-level undergrad CS classes, but I can't take them as I lack the math pre-reqs. But, even if I didn't have to, I'd still very much like to take the math. Yes, I know that most software development does not involve any formal math, but I still think having the background will make be a better programmer. And, again, I'm interested in the subject for its own sake.
As for just learning this on my own, I think I'd have a hard time selling it: "I decided to take a few years off to finally focus on..." I'll need some kind of legitimate explanation for the whole in my resume. It would be different, of course, if I continued working, but, as I said, it doesn't really leave me with enough time. And I'm very anxious to move out of tech writing.
And, hey, have to admit, it will be cool to do physics, chemistry, and other science classes again. As I won't be able to take the upper-level CS classes until my math catches up, I'll get to do other coursework until I do.
Thanks again for responding, and thanks emmm for the encouragement.
I suppose there's every chance I'll come out of the master's program making a lot less money than I did before, but a pay cut isn't usually with a career shift. And, really, I'd be happy to make less money if it means doing the work I'd want to be doing.