I find that Hacker News is really good at attracting people who think technology is cool, which is a particularly dangerous thing for anyone who actually expects to work in the tech industry. Computers are awful. You need to really embrace the hatred before you can be an effective technologist.
Unfortunately, I smile when I read something like this, because it feels so true.
I've been in a pretty bad mood for most of the last 48 hours; not for any big reason, just everything. Still hiding inside, still chugging away at the game I'm programming that I should have finished two months ago but, hey, that's not really how software works, particularly when you're doing a thousand things you've never done before.
Unfortunately, I've "chosen" a career path where I don't get paid more money when something takes longer than I budgeted for. I just drain my bank account and get increasingly frustrated while trying to carry on and eventually make it. I shut down to the outside world; I can't manage external communication; it's no good! But I do get the project done. What I really need is to be embedded somewhere with a project that should take a year, with a budget for it to take two years, and also to not live in hell. While I'm making a list of requests.
Besides that, I've been doing a good job. I'm writing better code all the time, learning and applying new techniques, filing bugs to improve the software I'm using to make the game, and working with people I like on a thing that I hope I'll eventually get to be proud of. But let me tell you: I've dealt with so many software problems in the last few months, of all kinds, at every level of the stack, from firmware to SDK to code editor to 3rd party libs to multiple operating systems to, of course, my own code. It's exhausting. I'm grateful to have help, and I suppose I'm grateful to have finally gotten my cannonball mind to work this way, patiently teasing out the way to make something work, somehow, eventually.
And it is working. But computers are awful. Everything you ever do on a computer that even remotely works is a minor miracle of human perseverance. And as frustrating as they can be, it's worth remembering that.
As a corollary, here's a real anecdote from Bethesda's Todd Howard, about how they dealt with the limited memory of the original Xbox when porting Morrowind:
We were really unsure about the Xbox. I had made a bet, internally, that there’s no chance the Xbox would come close to the PC sales. And someone bet me that the Xbox [edition] would outsell it, which it did. The Xbox version was extremely difficult. We had never done a console game — even though the original Xbox was very PC-like. Microsoft was a great partner; they believed in the game and helped us quite a bit. But we had so many issues trying to get that kind of game in a system that had so little memory.
You could do a trick on the original Xbox, which was that you could reboot it during a load screen. So you could put up an image that stayed there, reboot your game, and people who play it on the Xbox won’t be able to tell. But those of us who worked on the game can tell you: “That load screen? Your Xbox is actually rebooting the game.” It just couldn’t handle the memory situation, so we had to clear it out. And it actually worked really, really well. That was one of our final tricks. Our Hail Mary.
lol