Tiny Violin
There’s a huge number of things on my mind and I don’t know what to talk about or even if I want to talk about any of them. I have to do something, though, because I feel like I’m being blocked by them. I used to blog a ton about things - especially personal stuff - and it always felt a bit like relief to get the images out of my head. I figured I might as well try again, since it’s been forever.
Probably the most stressful thing in my life right now is the presence of Amos. That’s not to say he isn’t awesome - he totally is - but there’s no point in pretending it isn’t hard to be a parent sometimes. He’s a baby. He doesn’t really cause any of the stress himself directly like a dramatic teenager might. He’s just trying to exist and learn and live and has wants and needs he doesn’t always understand. (The sad thing is, I think sometimes that describes me, too, and I’m almost 30x his age right now.) The real cause of the stress is my own mind.
I work from home and there’s no daycare or babysitter. He’s here with me all day, every day. Our family is somewhat opposite of “normal” in that dad is the primary caregiver. As I’ve blogged about in the past, I’m occasionally met with social-induced grief/comedy - but that’s minor stuff. The problem is what this situation does to my overall state of mind day after day.
Lately I’ve felt utterly mentally spent. This has happened before, of course. I seem to run in cycles. The thing is, the usual reset patterns of being alone for one or two days, hiding from the world in code or a game, hiding in public at a coffee shop, etc. just don’t work very well. I haven’t been able to do them with any real success since he was born and, honestly, some of them have been harder or impossible since getting married.
I can’t seem to find any reliable way to reset anymore. Melody works insanely long hours, comes home, is understandably tired, and so sometimes it feels like I have to take care of her, now, too. Of course the thing is, I’m also tired after a day of being mentally strained by the simple presence of Amos and his incredible potential for distraction. It’s no wonder that sometimes I get a little angry inside when I have to do more Amos care-giving after she does finally get home from work or has a day off. It feels like it’s always all on me to make sure everyone stays sane or happy.
I suspect that stay-at-home moms feel this way too - but they at least can commiserate with other mothers and feel better afterward. Guys don’t have that, really, but an additional issue is that we’re just plain made differently. Sitting around and talking about it doesn’t really help unless the discussion revolves around fixing the problem. In fact I think just talking about it idly can make it worse. It just serves as a reminder of the ever-looming situation that is seemingly unsolvable which leads to a feeling of everlasting hopeless despair.
My work is entirely intellectual. It requires focus and thought. It requires failure, frustration, and discovery. Overall, though, it requires some degree of predictability. The phone must not ring at the wrong times. The dogs must not bark at the wrong times. Amos must not suddenly wake up screaming after pooping all over his playpen at the wrong times. The only certainty I have anymore is that these things will all happen precisely when they are the most difficult to deal with. I still maintain that the only people who understand this are other programmers. There’s apparently no parallel in general that non-programmers ever seem to be able to relate to because non-programmers have such warped ideas as to how our job works.
While engaging in the act of programming, I may wander around the house, stare off into space for an hour, clutch my head in my hands while slamming it against my desk, “listen” to a general tech podcast like TWiT while doing nothing else, or read marginally-related documentation or academic white papers, and sometimes I type funny looking text into an editor. People who don’t understand programming see this kind of thing and assume I must have the easiest job on earth and the fact that I’m whining about having to be home with my baby all day while working this cherry gig is further proof that I don’t know what the hell I’m talking about and that I’ve failed at life. After all, a lot of guys love coming home from work so they can spend a few hours a day with their kids and here I am bitching about spending ALL of my hours with my kid. “Must be nice!”
I think the best example I can come up with for what it’s like to be a programmer who’s also taking care of his infant child is this: Imagine you’re an auto mechanic. Not all jobs on a car require putting it up on a lift, but a lot of them do. Now imagine that your kid was always nearby in his playpen and whenever he cried, which is at least 8 times semi-randomly throughout the day, you had to stop what you were doing, clean up your hands, and go feed him or cuddle or change a diaper for a little bit, etc. Not just too bad, right? Well now imagine that whenever he cried your lift would always fall down. It doesn’t take long to realize that when you have to work under the lifted car, you’re going to be just a little bit paranoid…
So the obvious solution to some of this is to just get a babysitter/daycare and end this work-from-home-daddying experiment. Unfortunately, this is easier said than done in light of the second most stressful thing in my life right now: no money.
Around 11 months ago I joined a new company with a lot of promise and big ideas making iPhone apps for themselves and others. The first project I did involved a whole bunch of domain knowledge I didn’t have, a few changing requirements, and some technical complexity. Naturally it went over budget and took longer than it should have. Well, shit happens, right? My next project was a game which, once again, required a lot of knowledge I didn’t have up front, changing requirements, and technical complexity. Guess what happened? Yeah, it went over budget and over time, too. Shocking, I know, although it was horribly fun and awesome.
This is all pretty standard business from where I’m sitting. I’ve never been on a big project that didn’t go too long or cost more than expected. The thing is, the company wasn’t really in a position to be able to absorb that kind of risk with the game. I worked for 4+ months on a huge project that wasn’t making any income during that time and, while I don’t really know for sure, I get the impression they thought it’d take maybe 2 months originally. That’s even worse than going over budget with a client who at least paid for the initial time (and, if lucky, was billed for and paid the overages, too). The result here is that the company started to run out of money and getting paid became somewhat of a game of chance. Since Melody and I have no debt (except the house), have a large emergency fund, and were even budgeting a month ahead of realtime, aside from being slightly annoying, it didn’t really matter much if payments were late. I kept working.
The issue is that eventually payments weren’t just late - they were missing. The company had slowly become very far behind. 6 weeks, actually. Our month-ahead budgeting system was no longer enough padding to contain the delays, which meant that it was about time to start digging into the actual emergency fund just to get minimum bills paid. (We had even cut way back on some stuff for the sake of saving money before any of this became a major issue. For instance, we no longer have any subscription television and use Hulu for almost all visual entertainment thus saving a lot of money per month.) We both felt the situation had become unacceptable. The emergency fund is for unforeseen things like a car accident or an exploding washing machine or something like that. It’s not for buffering the fact that my employer isn’t paying as promised. The solution there is to get a new employer.
(Side note: Avoid drama by making sure you never have an employment contract that includes an overly general non-compete clause. Avoid them entirely, actually. After some discussion, the company agreed to nullify mine but it made the process more difficult than it needed to be.)
I really didn’t want to stop working on the game - it was very nearly done and totally awesome. There were just a few small things yet to wrap up, but I had to end it so that I could move on before we really got into a bad financial situation. So I stopped. Almost at the same time, The Iconfactory decided they wanted to hire a new dev of their own. I immediately applied, and starting on Wednesday I will begin working with them on a new project. So that’s totally cool and should be an awesome thing.
The downside of this situation, though, is that being 6 weeks behind has caused a serious shortage in our budgets, and next month isn’t yet complete - as in, we don’t have enough cash yet to cover the minimum expenses of our insanely boring and relatively cheap lifestyle. (Hell, we only have ONE car, no “normal” TV service, no landline phones, no subscriptions of any kind except for the cellphones, a small/cheap house, etc! I mean geez… how much more simple can we get, anyway?)
The old company still owes the back pay, of course, and I think I’ll get it all eventually - but they have until August 31 to settle up. I didn’t want to get all bitchy and demand it immediately - which by rights I probably could have - because that’d basically have killed them. They are good guys - it’s not like they had the money to give or else they’d have been paying everyone all along.
This gives them a few more weeks to finish some more client work, get some checks in from laggards, pay the people who haven’t left yet, and at least hopefully get the game in the store. Still, though, that leaves me with an additional one month gap after coming out of a 1.5 month shortage as it was! It’s going to be very rough.
I hate how money can dominate the mind, but it does. Checking the bank account each day, reconciling bills, etc. all serve as reminders of how short everything is and how close to the edge it feels like we’re at. The truth, of course, is that there’s enough money in the bank to probably survive until Christmas with a decent lifestyle if we really, seriously, had no other choice - but that’s not the point. What if we were living off that and then a real emergency happened? We’d be screwed. “Oh, that’s what credit is for!” Oh great… so I can have credit so that a terrible situation that we could have paid for with cash had we not used the emergency fund money is transformed into debt payments for the next 2 years or something? No thanks!
So anyway, those are the big two stresses in my life in a large scale sense. There’s a third - which is my apparent inability to focus on doing things that I seemingly want to do, but then don’t do and instead sit around and lament the fact that I’m not doing them. It’s hard to describe and I don’t have a solid line of thinking about it yet. Sometimes I blame the baby always being around for my not being able to concentrate - and I think that’s a really huge part of it sometimes - but I don’t believe it is the whole story because this happened before I even moved out of my parent’s house. It seems there’s a greater force at work here which prevents action even when I apparently want to take some action.
An example is that lately I sometimes have ideas about artificial life simulations. Mostly they involve a dot moving around and, seemingly, just doing random crap (because my ideas rarely seem to actually work correctly). I get almost haunted by what I think should work in a large scale: the idea of trying to have intelligent behavior emerge from a set of simple rules. The thing is that it’s a hard problem and my success to date has been very poor because, perhaps, I don’t really understand *exactly* what I’m trying to achieve at any given time.
I have grand visions for these ideas where a huge 3D world could exist and a player could play in it while interacting with or at least observing the bots in the game acting as if they are real and doing real things. My classic idea is having a little town in this “game” and the town is scared of the nearby wolf population. A player could come along and cull the pack of wolves and thus the threat of the wolves drops and the town is happy and loves this player. A huge complex living system could exist where the players help the NPCs do things or deal with problems or whatever as they live a sort of “real” life in this virtual world that was never pre-scripted. The key is that the wolf pack may have started life somewhere else and found their way to this village because of a good food supply or something - acting entirely in their own self-interest. The villagers also act in their own interest and the human player is there mostly as an adventurer helping the “boring” people of this world survive in some way. Something like that. It *feels* possible. But that’s about all I’ve got at this point - feelings.
I often think about ways to make something like that work. I always dream for a few weeks of free time where I could play with those ideas exclusively. The issue is that when I get that time, I squander it. I’ve been tormented the last couple weeks (that I’ve been effectively unemployed) by these ideas - only I did very little with them. And now time is running out. I only have one more day of “vacation” left and I’ve done nothing of significance. It’s like I’m too afraid to really work on it. Every time I do, I tend to fail pretty massively. Perhaps I’m trying to avoid failure? Perhaps the problem is still too hard? Perhaps I don’t have a decent mental framework for it? Or perhaps I’m afraid it’d actually work one of these days and I’d then have to leave it for the “real job?”
I just don’t know. What I do know, though, is that it drives me crazy. It isn’t just this AI stuff, either, but other ideas I might want to do. Sometimes there’s the “no money” excuse. Other times there’s the “but I have a kid now” excuse. Or otherwise it’s “I have a wife and she’d have to agree to this crazy idea” excuse. Etc. Lots and lots of excuses. If I could sell them, I’d be rich and have a babysitter - ironically, I’d then lose a huge source of the original excuses. Life is funny that way.
July 27th, 2009 at 9:40 pm
I thought that the emergency fund was for something like that, losing your job or your boss not paying ya. That was sort of the point of the “6 to 8 months of expenses”.
July 27th, 2009 at 10:25 pm
I only asked because I just spent $321 of my emergency fund to buy a new car stereo.
July 28th, 2009 at 6:48 am
It’s for things like sudden job loss, yeah, but not for when you are still working but not getting paid when you should be. Not getting paid is clearly grounds for finding someone who will pay - not just living as long as possible off the emergency fund and keeping working. And no, an emergency fund is most certainly not for car stereos.
July 29th, 2009 at 2:57 pm
[…] here to read the rest: Tiny Violin Share and […]
July 31st, 2009 at 6:08 pm
Ironically, this blog post showed up in my inbox as a Google Alert I have set up for my iPhone application, Tiny Violin.
It struck a chord with me as a fellow developer who, as you put it, also has an “inability to focus on doing things that I seemingly want to do”. I try to convince myself that my problem is that I don’t surround myself with enough innovative people. But I think my own fear of failing is to blame. Oh well - one day at a time, right?
Congrats on the iconfactory gig - that’s pretty exciting. Also, if you’d like a promo code for Tiny Violin, ping me at my email and I’ll send you one. Perhaps it will help you console future lamenters.