So the project I’m on at work is in, as they say, a “state of flux.”
Without going into excessive detail—not only might it be confidential stuff, it’d probably be boring—the project’s goal is to create a central platform for all development work. Instead of developing on their local laptops, developers use them, in effect, as thin clients; the development software is all running on a server farm on the same LAN as the source code repository. All the source code stays in its protected “zoo” and (theoretically) support costs are minimized, since the only thing the engineers run is the client software.
While those of you who aren’t developers may already have glazed eyes, those of you who are developers have almost certainly thought something to the effect of, “What kind of crack are they smoking?” I thought that, too. This setup means that the editing is happening in real time over that client-server link: you press a key, it gets sent to the server, the server sends the data to update your screen back to your machine. If you and the server are in the same room you’ll barely notice this; if you and the server are several thousand miles apart, it can be a different story. Surprisingly, though, the software we were testing, NoMachine NX, performed acceptably on a cross-country link.
The thing is, the rest of the development platform really isn’t, well, developed. It’s an adaptation of another earlier system, which uses a Citrix server for the remote connection rather than NX (you connect to the Citrix server and then connect from it to the development farm using more conventional X11 remote desktop software), with a slap-together design that our team was supposed to re-implement correctly.
But just dropping NX in place of the Citrix-X11 connection will address the perceptual problem, so that’s taken priority over the redesign of the whole shebang. This doesn’t mean the whole thing won’t be redesigned, nor does it mean that putting the NX deployment in higher priority is the wrong thing to do, mind you—that’s not my worry, and this isn’t a criticism of shifting priorities. Things like this happen.
I’m looking at it from a purely selfish standpoint: by my rough estimate, I need to have a stable income at the level I’m making now until mid-May to pay my 2004 taxes, assuming I can put away 50% of my pay to do it. This does nothing to address other debts that, well, need addressing. The contract as stated originally was expected to be about nine months (it was never very specific), which would go through August. Truth to tell, I didn’t expect to get to those other debts; I just hoped that by the end of the contract I’d be back to $5K or so in savings, this time without the sword of impending taxes hanging over me.
Nobody’s suggested they’re about to show me the door here, and in fact, it seems like they’d like to find other work for me in the interim—and, of course, assuming the redesign does actually get a schedule, I’ll presumably be involved with it. It’s not impossible that this could be a good thing, making the contract actually likely to run that whole nine months or even more. Based on the preliminary road map I had some doubts about whether my role would run that long.
I suppose it’s more that my feeling of being adrift out here is, yet again, reinforced. I’m wondering if I should be actively trying to get side work, and if so, what. I’m wondering if this is going to go on for the foreseeable future. Am I ever going to have permanent work again? Am I going to end up self-employed somehow? Am I going to sell off everything but the laptop, car and camera and flee to parts unknown for a few seasons? Sometimes it’s tempting.