Archive for September, 2014
To those of you who read my drivel for the software stuff, I apologize. There will be no mention of code this week, other than that one. You see, I’m getting married to the funniest person I know two weeks from now. Needless to say, I have more important things on my mind.
My beautiful wife to be is giving me the best present a schmuck like me could get, two daughters. So, I’ve got the jitters, but they’ve nothing to do with getting married. My fiancé is my soulmate and there is no doubt in my mind when it comes to making her my wife. What has me nervous is the solitary question of, “Am I good (Step-)Dad?” I know; it’s cliché. Every parent wonders if they’re doing a good job of raising their kids, but that doesn’t make the question any easier to deal with.
The only Dad I ever knew was the man who married my mother and raised me as his own. Let me make this clear, he was not what I would call a good man, but he was an excellent Dad, while he was still around. Furthermore, he didn’t have to raise me as his own. He could have treated me like what I was, someone’s else’s child. He didn’t though, and that is his one true redeeming quality. He stepped up and did what should be done, instead of just doing what he had to do.
My girls are lucky enough to have their Dads in their lives, but that doesn’t mean that I don’t take my job very seriously. I treat them like my own because it’s what they deserve. Anything less just wouldn’t be right. I guess that’s what I’m here to say today. I’m here to challenge every man out there to do what’s right, to go above and beyond the call of duty, and to remember that your wife’s kids are your kids too, even if they aren’t.
They’re not always going to like you or listen to you, but you better damned well be there for them when they need you. I’m sure I’ll mess up along the way, but every parent does. After all, we’re all only human. If my Dad taught me anything though, it’s that being there is what matters most when it comes to children. That much I can do, so there’s nothing to fear. Some kids are lucky enough to have a father in their lives, mine are lucky enough to have two.
I was reading a blog the other day about Zen Coding and it really just bummed me out. Zen Coding is a very real thing. You all know what I’m talking about, even if you don’t realize it. It’s when you’re just in it, completely in it. It’s when you don’t exist anymore, you’re in the zone and there’s just the code, nothing else. There’s just the code and you make the computer dance. You bend it to your whim and will. It’s the most beautiful thing that can happen to a programmer… and I have not had that experience in a very long time now.
What’s worse than not being able to experience the bliss of letting myself go, of losing myself in the meaningless lines of text in front of me that I give meaning to, is not understanding why I can’t find that place. It’s utterly frustrating. If I did not know this state of mind, this Zen Coding, I would not care. However I do know it and this knowledge is a burden, but rather than whine and bemoan my sad state of affairs, I would prefer to explore why this state of zen has eluded me. Perhaps more so, I want to explore how I can attain it more often.
The biggest road block to finding the zazen of programming is distraction. When the phone rings or someone comes into your office, you have just been kicked out of the zone. It will take you longer to figure out where you were than it will take to deal with the interruption. These kinds of distractions can not be stopped and they are hands down my worst nightmare. It’s never just one either. These distractions come in packs. One phone call takes you away to deal with an emergency, then just as you’re finishing up that one, the phone will ring again. To medigate the damage from this you must finish your current thought. Whatever it is, it can wait 30-60 seconds for you to wrap up your immediate thought. You’ll thank yourself later for having one less “what the fuck?” to cope with when trying to get back to what you were working on six hours ago.
Interruptions aren’t the only distraction though, oh no. Email is a huge culprit too. If you can, only check your mail a few times a day. Don’t jump to every little thing. They emailed you. They don’t expect an immediate response, so don’t give them one at the sacrifice of your concentration and focus. While you’re at it, turn off those “oh so helpful” desktop notifications. They catch your eye and take your mind away from the task at hand. The longer you spend consecutively focused on your task, the easier it will be to slip into Zen Coding.
What is the real problem though? Why is it so hard to just get in the zone? I have one word for you, stress. Fear is the mind killer and stress is its asshole cousin. In order to be productive, stress must be removed from the equation. Stress will scatter your mind like dandelion seeds in the wind. Do whatever you have to do to reduce and eliminate stress from your workday. Five minutes doing push-ups, or simply walking away from your desk, will buy you twice that time back. I promise.
There’s one more trap that I know I fall into far too often. I’m not enjoying myself. In order to be productive and happy, you must be enjoying yourself. There is no other way to be one with you code, but to want to be. Sometimes this means putting off a new feature and fixing that crap you wrote six months ago. You know the code I’m talking about. You wrote it in a hurry, or just didn’t really know what you were doing yet. It sits in your code base like a giant stinking turd taunting you every chance it gets. There’s never time to fix it, so it stays there just festering and driving you crazy. I’m telling you, take the time to polish that turd into something you’re proud of. The next thing you know, you’ll have refactored half of your code base because cleaning up that one method or class slipped you into zen mode. You’ve gotten your mojo back and each new change and feature will be that much easier to implement. You owe it to yourself. It will be cathartic. Just do it. Trust me on this one.